我想使用powershell将Blob 从“Azure存储”复制到我的“本地存储”(模拟器)。
我正在使用“Start-AzureStorageBlobCopy”
它在“Azure”到“Azure”存储之间运行良好。 但是对于“Azure”到“Local”(模拟器)存储,会复制blob但是使用0字节。创建Blob是因为我可以在Storage Explorer中看到它们。
在Azure存储资源管理器中,我有以下属性:
复制过程中我在Powershell中没有错误。但是 0字节被转移
VERBOSE: Performing the operation "Copy" on target "https://xxxxx.blob.core.windows.net/aaaa.db".
VERBOSE: Copy request to blob 'aaaaaa.db' in container 'yyyyy' has been scheduled with copyId 865e4d31-6729-44d1-997d-fdb76409d6cb.
ICloudBlob : Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob
BlobType : BlockBlob
Length : 0
ContentType :
LastModified : 9/10/2017 2:10:45 PM +00:00
SnapshotTime :
ContinuationToken :
Context : Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext
Name : aaaaaa.db
VERBOSE: Transfer Summary
--------------------------------
Total: 1.
Successful: 1.
Failed: 0.
答案 0 :(得分:0)
我认为不可能使用Start-AzureStorageBlobCopy
Cmdlet将云存储帐户中的blob复制到本地模拟器帐户。
Azure copy blob是由Azure Storage Service执行的服务器端异步操作。要使copy blob正常工作,Azure Storage Service应该能够到达目标。由于目标帐户是无法从计算机外部访问的本地存储帐户,因此Azure Storage Service永远无法到达目标。
一种可能的解决方案是下载blob,然后使用相应的Cmdlet将其上传到本地存储帐户。
另一种选择是使用AzCopy的同步复制blob功能。 AzCopy中的同步复制Blob实现实际上从源中下载blob内容,然后将其上载到目标中。
答案 1 :(得分:0)
Get-AzureStorageBlobContent可能适合您。我在这里发了一篇关于AzureStorageFileContent下载的文章: Azure File Storage Download