ぷろぐら×でざいん

s3 Botoで遊ぶ

s3 Botoで遊ぶ

前提

AWSのs3にBucketをすでに作成していること

インストール

pip install boto

コネクションの取得

from boto.s3.connection import S3Connection

AWS_ACCESS_KEY = 'AWS_ACCESS_KEY'
AWS_SECRET_ACCESS_KEY = 'AWS_SECRET_ACCESS_KEY'

connection = S3Connection(AWS_ACCESS_KEY, AWS_SECRET_ACCESS_KEY)

バケットの取得

上記の connection を使う

BUCKET_NAME = 'BUCKET_NAME'
bucket = connection.get_bucket(BUCKET_NAME)

Keyの取得

上記のBucketを使う

from boto.s3.key import Key
key = Key(bucket)

Key取得までの一連の流れ

from boto.s3.connection import S3Connection
from boto.s3.key import Key

AWS_ACCESS_KEY = 'AWS_ACCESS_KEY'
AWS_SECRET_ACCESS_KEY = 'AWS_SECRET_ACCESS_KEY'
BUCKET_NAME = 'BUCKET_NAME'

connection = S3Connection(AWS_ACCESS_KEY, AWS_SECRET_ACCESS_KEY)
bucket = connection.get_bucket(BUCKET_NAME)
key = Key(bucket)

s3にFileをアップロードする

Keyを利用する

FILE_PATH = 'サーバー上で一時的にFileを保持しているパス'
FOLDER_PATH = 's3上でのディレクトリー指定' # ex: test/test_pic.jpeg 

def upload(bucket):
	f = Key(bucket)
	f.key = FOLDER_PATH
	f.set_contents_from_filename = FILE_PATH

s3上では bucket_name/test/test_pic.jpeg となる

ファイルの公開・非公開を変更する

# Public
key.set_canned_acl('public-read')

# Private
key.set_canned_acl('private')

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です