2016-09-23 125 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' 
相关问题