boto3 で s3 にアクセス
~/.aws/credentials に、
aws_access_key_id
aws_secret_access_key
が書かれているとします。
バケットの作成
create_bucket.py
#! /usr/bin/python
# -*- coding: utf-8 -*-
#
# create_bucket.py
#
# Mar/16/2018
# ------------------------------------------------------------------
import sys
import boto3
sys.stderr.write("*** 開始 ***\n")
bucket_target = sys.argv[1]
s3 = boto3.client('s3')
s3.create_bucket(Bucket=bucket_target, \
CreateBucketConfiguration={'LocationConstraint': 'ap-northeast-1'})
sys.stderr.write("*** 終了 ***\n")
# ------------------------------------------------------------------
実行コマンド (data-aa というバケットを作成)
./create_bucket.py data-aa
既に、同じ名前のバケットが存在しているとエラーになります。
バケットのリスト
list_buckets.py
#! /usr/bin/python
# -*- coding: utf-8 -*-
#
# list_buckets.py
#
# Mar/16/2018
# ------------------------------------------------------------------
import sys
import boto3
sys.stderr.write("*** 開始 ***\n")
s3 = boto3.resource('s3')
for bucket in s3.buckets.all():
print(bucket.name)
sys.stderr.write("*** 終了 ***\n")
# ------------------------------------------------------------------
実行コマンド
./list_buckets.py
ファイルのアップロード
upload_data.py
#! /usr/bin/python
# -*- coding: utf-8 -*-
#
# upload_data.py
#
# Mar/16/2018
# ------------------------------------------------------------------
import sys
import boto3
sys.stderr.write("*** 開始 ***\n")
bucket_target = sys.argv[1]
file_upload = sys.argv[2]
s3 = boto3.resource('s3')
data = open(file_upload, 'rb')
s3.Bucket(bucket_target).put_object(Key=file_upload, Body=data)
sys.stderr.write("*** 終了 ***\n")
# ------------------------------------------------------------------
実行コマンド (data-aa に test.txt をアップロード)
./upload_data.py data-aa test.txt
ファイルの一覧
list_files.py
#! /usr/bin/python
# -*- coding: utf-8 -*-
#
# list_files.py
#
# Mar/16/2018
# ------------------------------------------------------------------
import sys
import boto3
sys.stderr.write("*** 開始 ***\n")
bucket_in = sys.argv[1]
s3 = boto3.resource('s3')
my_bucket = s3.Bucket(bucket_in)
for object in my_bucket.objects.all():
print(object)
sys.stderr.write("*** 終了 ***\n")
# ------------------------------------------------------------------
実行コマンド (data-aa 内の表示)
./list_files.py data-aa
Author And Source
この問題について(boto3 で s3 にアクセス), 我々は、より多くの情報をここで見つけました https://qiita.com/ekzemplaro/items/9fa931d5b55af73abfbb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .