2016-09-23 90 views
0

當我使用Get-AzureStorageBlobContent下載Azure blob時,下載也會根據blob的虛擬路徑創建目錄。有沒有辦法創建目錄?使用Get-AzureStorageBlobContent下載文件時創建的虛擬目錄

例如:

我的斑點:容器/ A/B/C.JPG

$blob = Get-AzureStorageBlob -Blob $BlobName -Container $ContainerName -Context $ctx -ErrorAction Stop 

$blob | Get-AzureStorageBlobContent -Destination "." 

結果:

./a/b/c.jpg

它沿blob的虛擬路徑創建文件夾。

我只想在我的當前目錄「。」下有一個文件「c.jpg」。 這可能嗎?

回答

0

它沿blob的虛擬路徑創建文件夾。

正如你所說,使用Get-AzureStorageBlobContent cmdlet來下載一個虛擬目錄結構到本地計算機,這將本地計算機上創建相同的文件夾結構的斑點。

$StorageAccountName = "accountname" 
$StorageAccountKey = "accesskey" 

$ContainerName = "imagecontainer" 

$BlobName = "a/b/c.jpg" 

$ctx = New-AzureStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey 

$blob = Get-AzureStorageBlob -Blob $BlobName -Container $ContainerName -Context $ctx -ErrorAction Stop 

$blob | Get-AzureStorageBlobContent -Destination '.' 

看來,GET-AzureStorageBlob和Get-AzureStorageBlobContent的cmdlet不使我們能夠下載並保存一個名爲「A/B/C.JPG」爲「C.JPG」到本地目標目錄的斑點。

作爲解決方法,您可以使用Start-AzureStorageBlobCopy cmdlet參考下面的代碼片段將blob複製到新的blob,然後您可以下載新的blob。

Start-AzureStorageBlobCopy -SrcBlob $BlobName -DestContainer $ContainerName -SrcContainer $ContainerName -Context $ctx -DestBlob 'c.jpg' 
相關問題