Python で始める AWS Boto 入門
Maksim Pecherskiy
Data Engineer
df = pd.read_csv('https://gid-staging.potholes.csv')

ファイルをダウンロード
s3.download_file(
Filename='potholes_local.csv',
Bucket='gid-staging',
Key='2019/potholes_private.csv')
ディスクから読む
pd.read_csv('./potholes_local.csv')
'.get_object()' を使用
obj = s3.get_object(Bucket='gid-requests', Key='2019/potholes.csv')
print(obj)

オブジェクトを取得
obj = s3.get_object(
Bucket='gid-requests',
Key='2019/potholes.csv')
StreamingBody を Pandas に読み込む
pd.read_csv(obj['Body'])
例
https://?AWSAccessKeyId=12345&Signature=rBmnrwutb6VkJ9hE8Uub%2BBYA9mY%3D&Expires=1557624801
ファイルをアップロード
s3.upload_file(
Filename='./potholes.csv',
Key='potholes.csv',
Bucket='gid-requests')
事前署名URLを生成
share_url = s3.generate_presigned_url(
ClientMethod='get_object',
ExpiresIn=3600,
Params={'Bucket': 'gid-requests','Key': 'potholes.csv'}
)
Pandasで開く
pd.read_csv(share_url)
# DataFrame を格納するリストを作成 df_list = []# 指定プレフィックスの CSV 一覧を取得 response = s3.list_objects( Bucket='gid-requests', Prefix='2019/')# レスポンスの内容を取得 request_files = response['Contents']
# 各オブジェクトを反復 for file in request_files: obj = s3.get_object(Bucket='gid-requests', Key=file['Key'])# DataFrame として読み込む obj_df = pd.read_csv(obj['Body'])# リストに追加 df_list.append(obj_df)
# リスト内の DataFrame を連結 df = pd.concat(df_list)# 先頭を確認 df.head()

ダウンロードして開く
s3.download_file()
直接開く
s3.get_object()
事前署名URLを生成
s3.generate_presigned_url()
.format() で生成
'https://{bucket}.{key}'
.get_presigned_url() で生成
'https://?AWSAccessKeyId=12345&Signature=rBmnrwutb6VkJ9hE8Uub%2BBYA9mY%3D&Expires=1557624801'
Python で始める AWS Boto 入門