[英]Copy From Azure Blob to AWS S3 Bucket
我正在嘗試編寫一個PowerShell腳本,該腳本從Azure Blob遞歸復制到Amazon AWS S3存儲桶,但沒有成功。
有人能幫助我嗎 ?
$container_name = @("<ContainerItemName>")
$connection_string = 'DefaultEndpointsProtocol=https;AccountName=<AccountName>;AccountKey=<AccountKey>'
$storage_account = New-AzureStorageContext -ConnectionString $connection_string
$S3Bucket = "<BucketName>"
foreach ($container_item in $container_name)
{
$blobs = Get-AzureStorageBlob -Container $container_item -Context $storage_account
foreach ($blob in $blobs)
{
$item = Get-AzureStorageBlobContent -Container $container_item -Blob $blob.Name -Context $storage_account
Write-S3Object -BucketName $S3Bucket -KeyPrefix $container_item\ -Folder $item -Force
}
}
一種選擇是使用Azure存儲數據移動庫。 您可以在此處下載示例代碼: https : //github.com/Azure/azure-storage-net-data-movement/tree/master/samples/S3ToAzureSample 。 下一篇文章包含有關數據移動庫的更多信息: https : //azure.microsoft.com/zh-cn/blog/introducing-azure-storage-data-movement-library-preview-2/
我沒有使用過AWS PowerShell Cmdlet(因此我可能錯了),但是在here
快速瀏覽了它們的文檔,我認為您需要先將blob保存在本地計算機上,然后在Write-S3Object
指定該路徑。 -File
參數。
將Azure Blob下載到目錄:
Get-AzureStorageBlobContent -Container containername -Blob blob -Destination C:\test\
假設Blob的名稱為blob.png,然后將其上傳到S3:
Write-S3Object -BucketName $S3Bucket -KeyPrefix $container_item\ -File "C:\test\blob.png" -Force
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.