如何将现有Azure资源组导入新Pulumi栈?执行命令报错求助
问题:Pulumi导入Azure资源组时提示参数错误?
背景
我们在Azure中有一个资源组,是通过以下Pulumi C#代码创建的:
private Pulumi.Azure.Core.ResourceGroup CreateResourceGroup(string resourceGroupName) { return new Pulumi.Azure.Core.ResourceGroup(resourceGroupName, new Pulumi.Azure.Core.ResourceGroupArgs { Name = resourceGroupName, Location = "westeurope" }); } CreateResourceGroup("rg-magic-apps");
由于原Pulumi栈已不可用,需要将该资源组导入到全新栈中。执行了以下命令:
pulumi import azure:core/resourceGroup:ResourceGroup /subscriptions/{subscriptionid}/resourceGroups/rg-magic-apps
却收到错误提示:
error: an inline resource must be specified if no import file is used
解答
确实是命令缺少了必要参数——资源在Pulumi栈中的逻辑名称。
Pulumi的import命令需要三个关键部分:
- 资源类型(这里是
azure:core/resourceGroup:ResourceGroup) - 自定义的Pulumi逻辑名称(用来在栈中标识该资源,比如
rgMagicApps) - Azure资源的完整ID(你提供的订阅+资源组路径)
正确的命令格式应为:
pulumi import azure:core/resourceGroup:ResourceGroup <逻辑名称> /subscriptions/{subscriptionid}/resourceGroups/rg-magic-apps
针对你的场景,示例命令可以写成:
pulumi import azure:core/resourceGroup:ResourceGroup rgMagicApps /subscriptions/{subscriptionid}/resourceGroups/rg-magic-apps
执行该命令后,Pulumi会自动生成对应资源的代码定义,并将现有Azure资源关联到新栈中。
内容的提问来源于stack exchange,提问作者Ole Albers
相关产品推荐
相关产品推荐

