第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>')
  2. copy_source ブロック内で、例に示すように、<bucket_name> をソースバケットの名前に置き換え、<key> をソースファイルのキーに置き換えます。

    copy_source = {
        	'Bucket': 'aqs086-image-registry',
        	'Key': 'series43-image12-086.csv'
    }
  3. 例に示すように、<destination_bucket> をコピー先のバケットの名前に置き換え、<destination_key> をコピー先のキーの名前に置き換えます。コードセルを実行します。

    s3_client.copy(copy_source, 'aqs971-image-registry', '/tmp/series43-image12-086.csv')

検証

  • 次の指示を参照して、バケット内のオブジェクトをリスト表示します。

    #Copy Verification
    bucket_name = '<bucket_name>'
    for key in s3_client.list_objects_v2(Bucket=bucket_name)['Contents']:
        					print(key['Key'])
  • 例に示すように、<bucket_name> を宛先バケットの名前に置き換えて、コードセルを実行します。

    #Copy Verification
    bucket_name = 'aqs971-image-registry'
    for key in s3_client.list_objects_v2(Bucket=bucket_name)['Contents']:
    print(key['Key']).

    コピーしたファイルが出力に表示されます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.