【问题标题】:Get Azure function app SLOT default host key using terraform使用 terraform 获取 Azure 函数应用程序 SLOT 默认主机密钥
【发布时间】:2022-11-19 00:39:47
【问题描述】:

可以使用function_app_host_keys数据源获取函数应用默认函数键。但是我正在使用部署槽进行测试,并且密钥不同,所以我也需要它们用于槽。我努力了:

data "function_app_host_keys" "slot_default_key" {
  name = "${azurerm_windows_function_app.function.name}/slotname"
  resource_group_name = azurerm_windows_function_app.function.resource_group_name
}

data "function_app_host_keys" "slot_default_key" {
  name = "${azurerm_windows_function_app.function.name}-slotname"
  resource_group_name = azurerm_windows_function_app.function.resource_group_name
}

这是附加以 /(有时出现在门户中)或 -(如出现在 URL 中)分隔的插槽名称,但两者均无效。

检查 azure cli,它有一个额外的插槽选项,但 terraform 文档没有列出任何选项。有没有办法获取插槽默认密钥?

【问题讨论】:

    标签: azure terraform azure-functions terraform-provider-azure


    【解决方案1】:

    我查看了 az functionapp keys list 的调试输出,使用和不使用 -s(用于插槽)选项,对 management.azure.com 的请求在 /slots/slotname 中有所不同。所以我试过了

    data "function_app_host_keys" "slot_default_key" {
      name = "${azurerm_windows_function_app.function.name}/slot/${azurerm_windows_function_app_slot.slot.name}"
      resource_group_name = azurerm_windows_function_app.function.resource_group_name
    }
    

    那行得通。

    根据您的用例替换为其他 azurerm_*_function_app,或者如果您不是自己创建函数和插槽,则仅使用名称/参数。

    【讨论】:

      【解决方案2】:

      谢谢简!只是一个轻微的修改...... 使用“插槽”而不是“插槽”

      data "function_app_host_keys" "slot_default_key" {
      name = "${...}/slots/${...}"
      ...
      }
      

      【讨论】:

        猜你喜欢
        • 2021-03-17
        • 2021-02-19
        • 1970-01-01
        • 2017-09-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 2018-03-25
        • 2018-03-26
        相关资源
        最近更新 更多