使用fileuri在azure vm中下载文件

时间:2018-04-16 08:01:23

标签: azure

"fileUris": [
                "https://files.blob.core.windows.net/extensions/test.sh"]

在Azure规模集中,此部分扩展是将文件test.sh下载到VM还是直接从blob存储中调用?

1 个答案:

答案 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