使用 ARM 检索存储帐户连接字符串

Retrieve Storage Account Connection String using ARM

我不熟悉编写 Azure 资源管理器模板;我有一个要求,需要检索我的 Azure 存储帐户连接字符串。我可以使用 [listKeys(variables('storageAccountId'), '2019-04-01').keys[0].value] 检索它的访问密钥,其中 storageAccountId[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))] 但我无法对连接字符串(主要)这样做。

现在,我的问题是我们有 listKeys 函数来检索访问密钥,我们是否也有一些系统函数来检索连接字符串?或者我们是否需要连接并创建连接字符串?我有存储帐户名称和资源组名称的值。我如何使用 ARM 执行此操作?

根据我的研究,Azure ARM 模板没有提供我们可以用来列出存储帐户连接字符串的功能。我们可以使用 ARM 模板函数来列出访问密钥 (listkeys) 列出帐户 SAS 令牌 (listAccountSas) 或列出服务 SAS 令牌 (listServiceSas)。详情请参考document.

所以如果你想获取存储帐户连接字符串,我建议你使用Azure ARM模板函数concat来组合连接字符串。例如

"outputs": {  
        "storageAccountConnectionString": {  
            "type": "string",  
            "value": "[concat('DefaultEndpointsProtocol=https;AccountName=', parameters('storageAccountName'), ';AccountKey=', listKeys(resourceId(parameters('resourceGroupName'),'Microsoft.Storage/storageAccounts', parameters('storageAccountName')), '2019-04-01').keys[0].value,';EndpointSuffix=core.windows.net')]"  
        },

        }  
    }