将文件从AWS S3复制到Azure存储存档层



我正试图将文件从AWS S3直接复制到Azure存储存档访问层。使用azcopy我可以将文件从S3复制到Azure,但当使用--block-blob-tier Archive标志时,我遇到了错误:

failed to parse user input due to error: blob-tier is not supported while copying from sevice to service

我能找到的唯一方法是在本地下载文件,然后上传到Azure,或者在上传后更改访问层。第一种是更好的解决方案,因为第二种是两倍的成本(在更改层时支付写操作的费用(。有人有其他选择吗?或者知道为什么azcopy不支持这一点吗?

azcopy错误:https://github.com/Azure/azure-storage-azcopy/blob/7eb7b49f1354b7c205dd469c1ac18cb12f7d353a/cmd/copy.go#L557

您可以简单地将文件从S3复制到Azure存储,而无需显式设置blob访问层,而不用从S3下载文件到本地计算机,然后将其上载回Azure存储。由此产生的blob的访问层将是Hot。复制操作成功完成后,您可以更改访问层。

这种方法的优点是复制直接发生在S3和Azure存储之间。但是,此过程是异步的,在启动访问层更改操作之前,必须等待复制操作完成(而不是仅接受它(。

更新

如果从成本角度来看,直接从S3复制到Azure Blob存储,然后更改访问层对您来说是不现实的,您可以从S3下载对象并直接在Azure Blob存储存档层中上传。此功能在撰写本文时处于预览状态。此功能在Storage REST API版本2019-02-02中提供。来自release notes link:

Copy Blob、Put Block List和Put Blob API支持块Blob的x-ms-access-tier标头,用于设置结果的层而不需要第二个API调用。

您可以使用Flexify.io门户,在该门户中,您需要添加s3存储桶凭据和azure blob存储和密钥,然后从s3复制到块,反之亦然。数据的移动是

最新更新