从Blob将Azure自定义脚本扩展添加到由Powershell设置的虚拟机规模

时间:2018-05-17 08:29:47

标签: azure azure-storage azure-storage-blobs azure-vm-scale-set

要使用公开可用的脚本执行此操作,这不是问题:

$publicSettings = @{
    "fileUris" = (,"$uri");
    "commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File azure_cse_vm_initial_script.ps1 $argument"
}

Write-Host "  ==> Add-AzureRmVmssExtension"
Add-AzureRmVmssExtension -VirtualMachineScaleSet $vmss `
    -Name "customScript" `
    -Publisher "Microsoft.Compute" `
    -Type "CustomScriptExtension" `
    -TypeHandlerVersion 1.8 `
    -Setting $publicSettings

但是如果我使用带有blob容器的存储帐户怎么办?可以将访问密钥添加到Settings对象吗?但是怎么样?以及用于URL的内容。

我想要运行的脚本不应该是公共可访问的,因为它是我的应用程序的安装脚本。

谢谢, 丹尼尔

2 个答案:

答案 0 :(得分:2)

我会为该脚本创建一个共享访问签名(请参阅Using shared access signatures)。然后,您可以简单地将SAS令牌添加到URI。 E. g:

https://myaccount.blob.core.windows.net/sascontainer/sasblob.txt?sv=2015-04-05&st=2015-04-29T22%3A18%3A26Z&se=2015-04-30T02%3A23%3A26Z&sr=b&sp=rw&sip=168.1.5.60-168.1.5.70&spr=https&sig=Z%2FRHIX5Xcg0Mq2rqI3OlWTjEg2tYkboXr1P9ZUXDtkk%3D

答案 1 :(得分:0)

您还可以使用存储帐户名称和存储帐户密钥下载脚本:https://docs.microsoft.com/en-us/azure/virtual-machines/extensions/custom-script-windows#extension-schema