簡體   English   中英

從Azure Blob復制到AWS S3存儲桶

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM