gpt4 book ai didi

azure - 在 ARM 模板中获取 Azure Batch 帐户访问 key

转载 作者:行者123 更新时间:2023-12-02 07:27:31 24 4
gpt4 key购买 nike

在我的 ARM 模板中,我想获取由 batch_accountName 参数指定的批处理帐户的主键。应该为批处理帐户获取 key 的表达式是:

"[listKeys(resourceId('Microsoft.Batch/batchAccounts', parameters('batch_accountName')), '2017-09-01')]"

它返回如下所示的对象:

{
"accountName": "my-acc-name",
"primary": "***",
"secondary": "***"
}

现在,我一直在尝试使用以下表达式获取 azure 批处理帐户主键,但没有成功(与上面表达式的唯一区别是我添加了 .primary 以便获取该属性对象):

"[listKeys(resourceId('Microsoft.Batch/batchAccounts', parameters('batch_accountName')), '2017-09-01').primary]"

我得到的错误是:索引(从零开始)必须大于或等于零且小于参数列表的大小..,这意味着,如果我理解正确的话, listKeys 应该返回一个数组。但实际上,它返回一个如上所示的对象。

我昨天才了解ARM模板,所以我可能做错了什么,这对我来说目前并不明显,而且我还没有在互联网的荒原上偶然发现这样的错误,人们通常会问获取存储 key ,这对我来说效果很好,但我无法获取批量帐户 key 。

编辑:

这是我尝试注入(inject)此表达式的资源。该资源是数据工厂中的批量链接服务。

{
"name": "[concat(parameters('factoryName'), '/AzureBatchLinkedService')]",
"type": "Microsoft.DataFactory/factories/linkedServices",
"apiVersion": "2017-09-01-preview",
"properties": {
"type": "AzureBatch",
"typeProperties": {
"accountName": "[parameters('batch_accountName')]",
"accessKey": {
"type": "SecureString",
"value": "[listKeys(resourceId('Microsoft.Batch/batchAccounts', parameters('batch_accountName')), '2017-09-01').primary]"
},
"batchUri": "[concat('https://', parameters('batch_accountName'), '.' , parameters('batch_region'), '.batch.azure.com')]",
"poolName": "[parameters('batch_poolName')]",
"linkedServiceName": {
"referenceName": "AzureStorageLinkedService",
"type": "LinkedServiceReference"
}
}
},
"dependsOn": [
"[concat(variables('factoryId'), '/linkedServices/AzureStorageLinkedService')]"
]
}

最佳答案

为了确保引用的资源已成功配置,您应该将其声明为依赖项,在“dependsOn”数组中添加此行:

[resourceId('Microsoft.Batch/batchAccounts', parameters('batch_accountName')]

要使用资源作为依赖项,必须在模板中声明它。

关于azure - 在 ARM 模板中获取 Azure Batch 帐户访问 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49585630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com