Pythonとbotoでs3を操作する

botoでs3の操作をちょっとみていたので軽くメモ

# coding=utf-8
import boto

s3 = boto.connect_s3(aws_access_key_id='******************',
                     aws_secret_access_key='****************************')


# 全てのバケットを表示 get_all_buckets
for bucket in s3.get_all_buckets():
    print bucket.name

bucket_name = '*****************'

# バケットが存在するかどうか確認
bucket = s3.lookup(bucket_name)
if not bucket:
    try:
        # バケットを作成
        bucket = s3.create_bucket(bucket_name)
    except s3.provider.storage_create_error, e:
        print "Error creating bucket"
else:
    print 'bucket already exists'


# 文字列を保存
key = bucket.new_key('string_content')
key.set_contents_from_string('This is first string content.')

# 保存した文字列を取り出す
stored_key = bucket.lookup('string_content')
stored_data = stored_key.get_contents_as_string()
print stored_data
# => This is first string content.

# 削除
stored_key.delete()

# ファイルを保存
key = bucket.new_key('test.txt')
key.set_contents_from_filename('test.txt')

# ファイルを取り出す(ファイル内容の文字列)
stored_key = bucket.lookup('test.txt')
stored_data = stored_key.get_contents_as_string()
print stored_data
# => test

# 削除
stored_key.delete()


# バケットを削除
s3.delete_bucket(bucket_name)