gpt4 book ai didi

azure - Terraform:在azure中指定后端类型

转载 作者:行者123 更新时间:2023-12-02 06:06:32 26 4
gpt4 key购买 nike

上下文:在 AZURE 中手动部署后端服务时,系统会提示我选择类型:自定义、 azure 或服务结构。

enter image description here

如何通过 terraform 声明类型(我想选择 Azure 资源)并说出我想使用哪个应用程序?根据文档,它说使用应用程序的资源 ID(我在部署开始时生成的),我尝试了以下操作:

    resource "azurerm_api_management_backend" "polo-backend" {
name = "polo-backend"
resource_group_name = azurerm_resource_group.polo-rg.name
api_management_name = azurerm_api_management.polo-api-mgmt.name
protocol = "http"
url = "https://myurl"
resource_id = azurerm_windows_web_app.app-service.id
}

但它给了我这个错误:

Error: creating/updating Backend: (Name "polo-backend" / Service Name "polo-api-mgmt" / Resource Group "polo1-default-rg"): apimanagement.BackendClient#CreateOrUpdate: Failure responding torequest: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="ValidationError" Message="One or more fields contain incorrect values:" Details=[{"code":"ValidationError","message":"Value should represent absolute http URL","target":"resourceId"}]

此外..如果应用程序是使用 terraform 生成的,我如何在 URL 部分动态分配 URL?

最佳答案

所以我找到了问题的答案:

基本上,您必须传递资源 id,即所需资源的文字 URL。通过目前不支持的参数传递它,或者我试图分配的参数是错误的。

所以我设法做的是使用数据模块尽可能地“模板化”代码:

    resource "azurerm_api_management_backend" "polo-backend" {
name = "polo-backend"
resource_group_name = azurerm_resource_group.polo-rg.name
api_management_name = azurerm_api_management.polo-api-mgmt.name
protocol = "http"
url = "https://${azurerm_windows_web_app.app-service.name}.azurewebsites.net"
resource_id = "https://management.azure.com/subscriptions/${data.azurerm_client_config.mysubid.subscription_id}/resourceGroups/${azurerm_resource_group.polo-rg.name}/providers/Microsoft.Web/sites/${azurerm_windows_web_app.app-service.name}"
}

如果有人有比这更好的解决方案,请随时提出建议!

编辑:感谢您的回答 - 我能够使用以下方法解决错误:

resource_id = "https://${azurerm_windows_function_app.functionapp.name}.azurewebsites.net${azurerm_windows_function_app.functionapp.id}"

关于azure - Terraform:在azure中指定后端类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72031072/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com