我有一个创建 VM 和一些存储的 ARM 模板,然后在我的 VSTS 发布过程中运行一个存储在源代码管理中的安装脚本,该脚本在 Linux VM 上安装 Python 服务;所有这些都来自构建工件。这一切都很好,但是该服务需要读取作为 ARM 模板的一部分创建的存储帐户上的队列。
我知道模板中的 ListKeys 函数,但不确定如何使用它以某种方式将该信息传递给 Linux VM,以便我可以更新 Python 的脚本配置文件。
干杯。
最佳答案
如果我的理解是正确的,你可以使用 Azure Custom Script Extension来实现你的需要。您可以编写一个脚本来接收存储帐户名称和存储帐户 key 。您可以编写如下脚本:
#!/bin/sh
accountname=$1
accountkey=$2
...............
您可以使用以下脚本获取存储 key 并传递给您的脚本。
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "[concat(variables('vmName'),'/', variables('extensionName'))]",
"apiVersion": "[variables('apiVersion')]",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
],
"properties": {
"publisher": "Microsoft.Azure.Extensions",
"type": "CustomScript",
"typeHandlerVersion": "2.0",
"autoUpgradeMinorVersion": true,
"settings": {
"fileUris": "[split(parameters('fileUris'), ' ')]",
"commandToExecute": "[concat('sh ', parameters('scriptName'), ' ' ,parameters('StorageAccountName''), ' ', listKeys(concat('Microsoft.Storage/storageAccounts/', variables('StorageAccountName')),
},
}
关于python - 如何将 storageaccount key 传递给 Linux VM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45044676/