"fileUris": [
"https://files.blob.core.windows.net/extensions/test.sh"]
在Azure规模集中,此部分扩展是将文件test.sh下载到VM还是直接从blob存储中调用?
答案 0 :(得分:1)
我假设您正在讨论Azure虚拟机的自定义脚本扩展。
在其documentation page上显示:
自定义脚本扩展在Azure上下载并执行脚本 虚拟机。此扩展对于部署后非常有用 配置,软件安装或任何其他配置/ 管理任务。可以从Azure存储或下载脚本 GitHub ,或在扩展运行时提供给Azure门户。该 自定义脚本扩展与Azure资源管理器集成 模板,也可以使用Azure CLI,PowerShell,Azure运行 门户网站或Azure虚拟机REST API。
突出显示的是相关部分。
扩展程序的工作原理是首先下载然后执行您为其提供的脚本。
编辑:如果您需要部署一些外部资源,可以将它们上传到GitHub帐户或Azure存储Blob,然后从那里下载/读取它们。
有关如何从blob下载文件的详细信息,请参阅示例this answer。
Invoke-WebRequest -Uri https://jasondisk2.blob.core.windows.net/msi/01.PNG -outfile 'C:\'
如果您只是想阅读json文件,那么您可以按照this other answer中的说明进行操作。
$response = Invoke-RestMethod -Uri "https://yadayada:8080/bla"
$response.flag
注意:Invoke-RestMethod
会自动将json响应转换为psobject
。
至于工作目录。扩展程序将其文件下载到以下目录
C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\1.*\Downloads\<n>
其中<n>
是十进制整数,可能在扩展的执行之间发生变化。 1.*
值与扩展名的实际当前typeHandlerVersion
值相匹配。
例如,实际目录可能是
C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\1.8\Downloads\2
有关详细信息,请参阅troubleshooting中的Azure documentation部分。
或者,对于基于Linux的系统,路径类似于
/var/lib/waagent/custom-script/download/0/
请参阅此页面了解更多information。