1

今天,我使用 terraform over azure 来管理无服务器应用程序基础架构。我在 win10 上安装了一个 ubuntu WSL,以避免环境变量出现问题。

  • Ubuntu 20.04.02 LTS(在 win10 上通过 wsl)
  • Terraform v0.14.7
  • Azurerm v2.56.0
  • 天蓝色 cli 2.23

在 azure 上,我们部署了 app_service_plan、function_app、key_vault、storage_account 等

Terraform init 运行良好。Terraform 计划告诉我在 function_app 中要做一些更改:

~ resource "azurerm_function_app" "myfunction" {
  ~ app_settings {
    ~ "AzureWebJobsStorage" = "[...]Key2[...]" -> "[...]Key1[...]" #(obviusly, I won't show key1 and key2)
    }
  }

如果我运行 terraform apply,此 access_key 永远不会更改,并且 terraform plan 命令再次显示需要进行更改。

在 terraform 文件中搜索我找到了特定的 function_app.tf 文件,在其中我有这个:

app_settings {
  [...]
  AzureWebJobsStorage = azurerm_storage_account.mystorage.primary_connection_string
  [...]
}

使用 terraform 控制台命令,我搜索了 azurerm_storage_account.mystorage 的状态数据,发现:

[...]
"primary_access_key" = "key2"
"primary_connection_string" = "[...]key2[...]"
[...]
"secondary_access_key" = "Key1"
"secondary_connection_string" = "[...]key1[...]"
[...]

现在的问题是:为什么主键(在 terraform 状态下)是 Key2(在 azure 门户上),而辅助键是 Key1?它在哪里配置,我该如何更改?(我在存储帐户文件(stacc.tf)中搜索了它,但没有对此进行任何配置......也许我必须在这里指定哪个键是主键?)

4

0 回答 0