如何从azure启动任务中的blob存储中获取复制文件?

时间:2011-08-31 10:28:22

标签: powershell azure azure-storage-blobs

是否有任何power shell命令可以下载文件并放置在Windows Azure启动任务中的Application Root?我有从http://www.maxmind.com/app/geolitecity下载的地理位置二进制文件(30Mb)。我不想在我的项目中包含二进制文件,决定将其放在blob存储中以便更快地部署。我尝试使用http://en.googlemaps.subgurim.net/从URL读取二进制文件,遗憾的是没有从URL读取的函数。所以我找到了下载该二进制文件并放置在应用程序根目录中的方法。

提前致谢!

3 个答案:

答案 0 :(得分:4)

也许这可以提供帮助:

$object = New-Object Net.WebClient
$url = 'http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz'
$local = "$pwd\GeoLiteCity.dat.gz" #path to save download file
$object.DownloadFile($url, $local)

在这种情况下,文件已压缩,您需要解压缩dat文件。

答案 1 :(得分:3)

看看Bootstrap项目。它可以在启动任务中从blob存储(或任何地方)下载,解压缩,运行等。它也适用于ServiceConfiguration和RoleEnvironment,因此您可以使用config中的变量,例如:

bootstrapper.exe -get bootstrap/Installer.zip -lr $lr(temp) -unzip $lr(temp)\extract -sc $config(ConnectionString) -run $lr(temp)\extract\installer.msi -args /qn -block

答案 2 :(得分:1)

您可能还想查看AzureRunMe:

https://github.com/RobBlackwell/AzureRunMe

AzureRunMe是一个boostrap程序,它提供了一个现成的CSPKG文件,您可以将其上传到Windows Azure Compute并运行。

从那里,您可以通过Blob存储中的ZIP文件上传您的代码,并通过更改配置以可重复的方式启动您的流程。