Terraform:Code="LinkedInvalidPropertyId" Message="属性 id '' at path 'properties.hostingEnvironmentProfile.id' 无效
Terraform: Code="LinkedInvalidPropertyId" Message="Property id '' at path 'properties.hostingEnvironmentProfile.id' is invalid
从昨晚开始,我在使用 Terraform 将我的 Web 应用程序部署到 Azure 时遇到错误:
Error creating/updating App Service Plan "test-euw-asp" (Resource Group "test-middle-euw-rg"): web.AppServicePlansClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: Code="LinkedInvalidPropertyId" Message="Property id '' at path 'properties.hostingEnvironmentProfile.id' is invalid. Expect fully qualified resource Id that start with '/subscriptions/{subscriptionId}' or '/providers/{resourceProviderNamespace}/'."
看起来它正在 "hostingEnvironmentProfile" 对象中发送一个空的 "id"。
2020-02-25T15:31:56.0433755Z 2020-02-25T15:31:56.041Z [DEBUG] plugin.terraform-provider-azurerm_v1.44.0_x4.exe: {"kind":"Windows","location":"westeurope","properties":{"hostingEnvironmentProfile":{"id":""},"perSiteScaling":false,"maximumElasticWorkerCount":1,"reserved":false,"isXenon":false},"sku":{"name":"S1","tier":"standard","size":"S1","capacity":1},"tags":{}}
我确实将提供程序版本设置为 1.44.0
provider "azurerm" {
version = "~>1.44.0"
}
我的地形配置
resource "azurerm_resource_group" "rg" {
name = var.ResourceGroupNameApp
location = "West europe"
}
resource "azurerm_app_service_plan" "asp" {
name = var.asp-name
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
kind = "Windows"
sku {
size = var.asp-sku-size
tier = var.asp-sku-tier
}
}
我没有在任何地方使用托管环境。
有人有同样的问题吗?
我确实在 Terraform github 上提交了支持票:
https://github.com/terraform-providers/terraform-provider-azurerm/issues/5884
但是有人知道解决方法吗?
我解除封锁的临时解决方案是手动删除受影响的资源,然后在 1.44 重新运行 terraform。幸运的是,这只是影响了我们的开发环境。
这不太理想,但如果你完全卡住了,暂时删除你的应用服务是安全的,然后重新创建它,这可能对你有帮助!
所以基本上这个问题是由提供程序中的错误引起的。解决方法可能是删除所有内容并重新创建它。 (正如 Rikki 所建议的那样)但是没有什么可以保证你以后不会 运行 再次遇到同样的问题......而且删除资源并不理想,在生产环境中肯定不是......
我做了什么:我禁用了发布管道中的 "terraform apply" 步骤(因为资源已经创建)。所以我们只需要部署我们的应用程序服务并更新我们的数据库。
这个问题只会在下一个版本中修复。所以我建议升级到新版本。
https://github.com/terraform-providers/terraform-provider-azurerm/pull/5915#issuecomment-594357740
从昨晚开始,我在使用 Terraform 将我的 Web 应用程序部署到 Azure 时遇到错误:
Error creating/updating App Service Plan "test-euw-asp" (Resource Group "test-middle-euw-rg"): web.AppServicePlansClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: Code="LinkedInvalidPropertyId" Message="Property id '' at path 'properties.hostingEnvironmentProfile.id' is invalid. Expect fully qualified resource Id that start with '/subscriptions/{subscriptionId}' or '/providers/{resourceProviderNamespace}/'."
看起来它正在 "hostingEnvironmentProfile" 对象中发送一个空的 "id"。
2020-02-25T15:31:56.0433755Z 2020-02-25T15:31:56.041Z [DEBUG] plugin.terraform-provider-azurerm_v1.44.0_x4.exe: {"kind":"Windows","location":"westeurope","properties":{"hostingEnvironmentProfile":{"id":""},"perSiteScaling":false,"maximumElasticWorkerCount":1,"reserved":false,"isXenon":false},"sku":{"name":"S1","tier":"standard","size":"S1","capacity":1},"tags":{}}
我确实将提供程序版本设置为 1.44.0
provider "azurerm" {
version = "~>1.44.0"
}
我的地形配置
resource "azurerm_resource_group" "rg" {
name = var.ResourceGroupNameApp
location = "West europe"
}
resource "azurerm_app_service_plan" "asp" {
name = var.asp-name
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
kind = "Windows"
sku {
size = var.asp-sku-size
tier = var.asp-sku-tier
}
}
我没有在任何地方使用托管环境。 有人有同样的问题吗? 我确实在 Terraform github 上提交了支持票: https://github.com/terraform-providers/terraform-provider-azurerm/issues/5884
但是有人知道解决方法吗?
我解除封锁的临时解决方案是手动删除受影响的资源,然后在 1.44 重新运行 terraform。幸运的是,这只是影响了我们的开发环境。
这不太理想,但如果你完全卡住了,暂时删除你的应用服务是安全的,然后重新创建它,这可能对你有帮助!
所以基本上这个问题是由提供程序中的错误引起的。解决方法可能是删除所有内容并重新创建它。 (正如 Rikki 所建议的那样)但是没有什么可以保证你以后不会 运行 再次遇到同样的问题......而且删除资源并不理想,在生产环境中肯定不是......
我做了什么:我禁用了发布管道中的 "terraform apply" 步骤(因为资源已经创建)。所以我们只需要部署我们的应用程序服务并更新我们的数据库。
这个问题只会在下一个版本中修复。所以我建议升级到新版本。 https://github.com/terraform-providers/terraform-provider-azurerm/pull/5915#issuecomment-594357740