第 8 章 在存储桶间复制文件


要从工作台的对象存储中复制存储桶之间的文件,请使用 copy () 方法。

先决条件

  • 您已将 odh-doc-examples 存储库克隆到工作台中。
  • 您已在工作台中打开 s3client_examples.ipynb 文件。
  • 已安装 Boto3 并配置了 S3 客户端。
  • 您知道要复制的源文件的密钥,以及该文件存储在的存储桶。

流程

  1. 在笔记本中,找到以下说明以在存储桶间复制文件:

    #Copying files between buckets
    #Replace the placeholder values with your own.
    copy_source = {
        	'Bucket': '<bucket_name>',
        	'Key': '<key>'
    }
    s3_client.copy(copy_source, '<destination bucket>', '<destination_key>')
    Copy to Clipboard Toggle word wrap
  2. copy_source 块中,将 & lt;bucket_name > 替换为源存储桶的名称,& lt;key> 替换为源文件的密钥,如示例所示。

    copy_source = {
        	'Bucket': 'aqs086-image-registry',
        	'Key': 'series43-image12-086.csv'
    }
    Copy to Clipboard Toggle word wrap
  3. <destination_bucket > 替换为要复制到的存储桶的名称,将 &lt ;destination_key > 替换为要复制到的密钥的名称,如示例所示。执行代码单元。

    s3_client.copy(copy_source, 'aqs971-image-registry', '/tmp/series43-image12-086.csv')
    Copy to Clipboard Toggle word wrap

验证

  • 找到以下说明,以列出存储桶中的对象。

    #Copy Verification
    bucket_name = '<bucket_name>'
    for key in s3_client.list_objects_v2(Bucket=bucket_name)['Contents']:
        					print(key['Key'])
    Copy to Clipboard Toggle word wrap
  • 将 < 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 to Clipboard Toggle word wrap

    您复制的文件显示在输出中。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部