无法以编程方式下载Blob

时间:2018-08-25 22:14:24

标签: azure powershell

在天蓝色的存储容器中有多个blob,当我们使用powershell下载blob(文件)时,下载的9个文件中有8个,但是第9个失败。这个文件绝对没有什么不同,我在blob属性中唯一注意到的是“内容MD5”为空白,但是其他8个都有值。不确定这是什么或是否有其他用途,我希望有人可以阐明为什么这是一个文件未下载的原因。

预先感谢:)

1 个答案:

答案 0 :(得分:0)

尝试下面的代码从Azure Blob下载文件

function Get-DLLFile
{
    param(
       [Parameter(Mandatory=$true)] [string]   $connectionString,             
       [Parameter(Mandatory=$true)] [String[]] $blobsName,
       [Parameter(Mandatory=$true)] [string]   $container,
       [Parameter(Mandatory=$true)] [string]   $filePath
    ) 


    Try
{
 foreach ($blobName in $blobsName) 
        {

    $file = $filePath + $blobName
    $fileAvailable = Get-Item -Path $file -ErrorAction SilentlyContinue
    if($null -eq $fileAvailable)
    {
        $ctx = New-AzureStorageContext -ConnectionString $connectionString
        New-Item -Path $filePath -ItemType Directory -Force | Out-Null       
        Get-AzureStorageBlobContent -Blob $blobName -Container $container -Destination $filePath -Context $ctx -Force | out-null

    }
    }
}
Catch
{
   $_.Exception.Message
}
}
Get-DLLFile -blobsName "File1.csv","File2.json" -container "myContainer" -connectionString "$(BlobConnectionString)" -filePath "$(System.DefaultWorkingDirectory)/Download"

希望这应该有效,否则请分享您遇到的异常。