Pythonとboto3を使用して、Amazon S3上のファイルをコピーする方法について説明します。この記事では、特定のファイルを別の場所にコピーし、元のフォルダを削除する方法を取り上げます。
必要なパッケージ
このプロジェクトでは、Pythonのboto3
パッケージを使用します。boto3
は、Amazon Web Services (AWS)をPythonから利用するためのライブラリです。
import boto3
S3ファイルのコピー
以下のコードは、S3上の特定のファイルを別の場所にコピーする例です。
bucket_name = "sample-bucket"
s3 = boto3.resource('s3')
s3.Object(bucket_name,"20230121_copy_glue/new_file.txt").copy_from(CopySource=bucket_name + "/20230121_copy_glue/sample/test.txt")
このコードでは、sample-bucket
という名前のバケット内の20230121_copy_glue/sample/test.txt
というファイルを、同じバケットの20230121_copy_glue/new_file.txt
という新しい場所にコピーしています。
元のフォルダの削除
ファイルをコピーした後、元のフォルダを削除することも可能です。
bucket = s3.Bucket(bucket_name)
bucket.objects.filter(Prefix="20230121_copy_glue/sample/").delete()
このコードでは、20230121_copy_glue/sample/
というプレフィックスを持つすべてのオブジェクト(この場合、コピーしたファイル)を削除しています。
以上がPythonとboto3を使用してS3上のファイルを別の場所にコピーし、元のフォルダを削除する基本的な手順です。この方法を利用すれば、S3上でファイルの整理や管理を効率的に行うことができます。