第 8 章 在存储桶间复制文件
要从工作台的对象存储中复制存储桶之间的文件,请使用 copy () 方法。
先决条件
-
您已将
odh-doc-examples存储库克隆到工作台中。 -
您已在工作台中打开
s3client_examples.ipynb文件。 - 已安装 Boto3 并配置了 S3 客户端。
- 您知道要复制的源文件的密钥,以及该文件存储在的存储桶。
流程
在笔记本中,找到以下说明以在存储桶间复制文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
copy_source块中,将 <bucket_name> 替换为源存储桶的名称,<key> 替换为源文件的密钥,如示例所示。copy_source = { 'Bucket': 'aqs086-image-registry', 'Key': 'series43-image12-086.csv' }copy_source = { 'Bucket': 'aqs086-image-registry', 'Key': 'series43-image12-086.csv' }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<destination_bucket> 替换为要复制到的存储桶的名称,将 <destination_key> 替换为要复制到的密钥的名称,如示例所示。执行代码单元。s3_client.copy(copy_source, 'aqs971-image-registry', '/tmp/series43-image12-086.csv')
s3_client.copy(copy_source, 'aqs971-image-registry', '/tmp/series43-image12-086.csv')Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
找到以下说明,以列出存储桶中的对象。
#Copy Verification bucket_name = '<bucket_name>' for key in s3_client.list_objects_v2(Bucket=bucket_name)['Contents']: print(key['Key'])#Copy Verification bucket_name = '<bucket_name>' for key in s3_client.list_objects_v2(Bucket=bucket_name)['Contents']: print(key['Key'])Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 <
bucket_name> 替换为目标存储桶的名称,如示例所示,并运行代码单元。#Copy Verification bucket_name = 'aqs971-image-registry' for key in s3_client.list_objects_v2(Bucket=bucket_name)['Contents']: print(key['Key']).
#Copy Verification bucket_name = 'aqs971-image-registry' for key in s3_client.list_objects_v2(Bucket=bucket_name)['Contents']: print(key['Key']).Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您复制的文件显示在输出中。