AzureストレージからS3まで〜100万ファイルを移動したいと考えています。私はAzure python sdkとboto3を使ってこのpythonスクリプトを書いた。AzureブロブストレージからS3にデータを効率的にコピー
marker = None
while True:
batch = azure_blob_service.list_blobs(
container, marker=marker)
# copy blobs in batches
for blob in batch:
blob_name = blob.name
current_blob = azure_blob_service.get_blob_to_bytes(
copy_from_container, blob_name)
s3_client.put_object(
Body=current_blob.content,
Bucket=s3_bucket,
ContentType=current_blob.properties.content_settings.content_type,
Key=blob_name)
if not batch.next_marker:
break
marker = batch.next_marker
しかし、これは遅いです。
azureからS3にデータを効率的に移動するにはどうすればよいですか?
私はS3で作業していたので、間違っている可能性がありますが、S3はサーバー側のコピーをサポートしていません。正しい?利用可能なオプションはAzureからローカルディスクにBLOBをダウンロードしてS3にアップロードするだけです。右? –
@GauravMantriはい、そういうものは見つかりませんでした。私もあなたに似たようなことをしています。しかし、それらをディスクにダウンロードするのではなく、 'get_blob_to_bytes'を使ってS3にアップロードしています。 –
'get_blob_to_bytes' ....あなたはまだデータをダウンロードしています。あなたがやっていないのは、このデータをローカルディスクに保存することです。そうすれば、ネットワークの観点からは何も得られません。 –