首页 > 解决方案 > Azure 应用程序配置:在 arm 模板中获取 PrimaryKey

问题描述

我已经提取了属于 Azure App Configuration 预览版的 ARM 模板,并将其设置到我们的 IaC 存储库中 - 到目前为止一切顺利。

我们的下一个合乎逻辑的步骤是将 AppConfiguration.PrimaryKey 插入到我们的 Key Vault 中。但是我不知道该物业的名称,也无法在网上找到有关该主题的任何信息。此外,我看不到 resources.azure.com 中列出的 AppConfiguration/configurationStores 类型(假设它仍处于公共预览版中)。

有谁知道如何引用主键(可能还有只读主键),所以我可以通过 arm 模板中的“输出”变量来引用它们?

然后我可以让 Az Cli/Az Powershell 将秘密插入到我们的 Key Vault 中,我们就可以完全自动化我们的 IaC

标签: azurearm-templateazure-app-configuration

解决方案


对于 ARM 模板,我执行了以下操作。listkeys 函数返回与键有关的所有值的完整列表。这很难弄清楚。我希望它有所帮助。

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
    "configurationStores_instance_name": {
        "defaultValue": "ac-instance",
        "type": "String"
    }
},
"variables": {
    "apiVersionVar": "[providers('Microsoft.AppConfiguration', 'configurationStores').apiVersions[0]]",
    "resourceId": "[resourceId('Microsoft.AppConfiguration/configurationStores', parameters('configurationStores_instance_name'))]",
},
"resources": [
    {
        "type": "Microsoft.AppConfiguration/configurationStores",
        "apiVersion": "2019-10-01",
        "name": "[parameters('configurationStores_instance_name')]",
        "location": "northcentralus",
        "sku": {
            "name": "standard"
        },
        "properties": {}
    }
],
"outputs": {
    "AppConfigEndpoint": {
        "type": "string",
        "value": "[reference(parameters('configurationStores_instance_name')).endpoint]"
    },
    "AppConfigKeys": {
        "type": "Array",
        "value": "[listkeys(variables('resourceId'), variables('apiVersionVar')).value]"
    }
}

}

希望这可以帮助!


推荐阅读