从 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
}
}
我没有玩过 AWS PowerShell Cmdlet(所以我可能是错的)但快速浏览一下他们的文档 here
,我认为您需要先将 blob 保存在本地计算机上,然后然后在 Write-S3Object
cmdlet -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
一种选择是使用 Azure 存储数据移动库。您可以在此处下载示例代码:https://github.com/Azure/azure-storage-net-data-movement/tree/master/samples/S3ToAzureSample. Following article contains more information on Data movement library: https://azure.microsoft.com/en-us/blog/introducing-azure-storage-data-movement-library-preview-2/
我正在尝试编写一个 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
}
}
我没有玩过 AWS PowerShell Cmdlet(所以我可能是错的)但快速浏览一下他们的文档 here
,我认为您需要先将 blob 保存在本地计算机上,然后然后在 Write-S3Object
cmdlet -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
一种选择是使用 Azure 存储数据移动库。您可以在此处下载示例代码:https://github.com/Azure/azure-storage-net-data-movement/tree/master/samples/S3ToAzureSample. Following article contains more information on Data movement library: https://azure.microsoft.com/en-us/blog/introducing-azure-storage-data-movement-library-preview-2/