You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Terraform Azapi创建Azure Function密钥失败求助

解决Azure Function密钥创建的400错误及存入Key Vault方案

错误原因及修正代码

你遇到的400错误是因为Azure REST API要求请求体必须包含properties对象,而原代码直接将value放在了根层级。修正后的azapi_resource代码如下:

resource "azapi_resource" "function_key" {
  type      = "Microsoft.Web/sites/functions/keys@2022-09-01"
  name      = "Random"
  parent_id = "/subscriptions/xxxxxxxxxxxxxxxxxxxxx/resourceGroups/xxxxxxx/providers/Microsoft.Web/sites/fa-test-fucntions/functions/testcreatkey"
  body = jsonencode({
    properties = {
      value = "hhundredslkkjjsiiskkk"
    }
  })
}

将密钥存入Azure Key Vault

针对你把密钥存入Key Vault的核心需求,可添加azurerm_key_vault_secret资源,将创建好的Function密钥存储进去:

resource "azurerm_key_vault_secret" "function_key_secret" {
  name         = "function-testcreatkey-random"
  value        = azapi_resource.function_key.output.properties.value
  key_vault_id = "/subscriptions/xxxxxxxxxxxxxxxxxxxxx/resourceGroups/xxxxxxx/providers/Microsoft.KeyVault/vaults/your-keyvault-name"
}

补充说明

  • 确保Terraform使用的服务主体拥有Key Vault的SetSecret权限,以及Function App的Microsoft.Web/sites/functions/keys/write权限。
  • 若无需手动指定密钥值,可移除properties.value字段,Azure会自动生成随机密钥,之后通过azapi_resource.function_key.output.properties.value获取生成的值存入Key Vault。

内容的提问来源于stack exchange,提问作者chandra shekhar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 05:36:16