使用Get-AzureStorageBlobContent下载文件时创建的虚拟目录

时间:2016-09-23 23:14:35

标签: powershell azure-storage-blobs

当我使用Get-AzureStorageBlobContent下载Azure blob时,下载还会根据blob的虚拟路径创建目录。有没有办法不创建目录?

例如:

我的blob:container / 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”文件。 这可能吗?

1 个答案:

答案 0 :(得分:0)

  

沿着blob的虚拟路径创建文件夹。

正如您所说,使用Get-AzureStorageBlobContent cmdlet将具有虚拟目录结构的Blob下载到本地计算机,这将在本地计算机上创建相同的文件夹结构。

$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”的blob下载并保存为“c.jpg”到本地目标目录。

作为一种变通方法,您可以使用Start-AzureStorageBlobCopy cmdlet将blob复制到新blob,然后下载新blob。

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