Chapter13


boto3の利用
 これまでと同様に

$ cd handson/dojo/s3
$ python3 -m venv .env
$ source .env/bin/activate
$ pip install -r requirements.txt
$ cdk deploy

 これでデプロイを完了させる
 実行後のバケット名もこれまでと同様にメモ

 venvの環境下でインストールされたJupyterを立ち上げ

$ jupyter notebook

 起動後新しいノートブックから

import boto3
session = boto3.Session(profile_name="default")
s3 = session.resource("s3")

 を実行してboto3をインポートし、s3リソースを呼び出し
 バケット名を格納する変数の定義するために以下を実行

bucket_name ="????"
bucket = s3.Bucket(bucket_name)

 ダミーファイルを生成してバケットにアップロードしてみる

with open("tmp.txt", "w") as f:
       f.write("Hello world!")
bucket.upload_file("tmp.txt", "myfile.txt")

 その後ファイル一覧を取得することで

objects = bucket.objects.all()
for o in objects:
      print(o.key)

 アップロードしたファイルが確認される
 次にバケット内のオブジェクトをローカルのコンピュータにダウンロードする

obj download_file("download.txt")

 上記を実行することでファイルがコンピュータ内に作成される

obj.delete()

 delete()メソッドを呼ぶことでオブジェクトを削除
 前述したコードで一覧を取得することで削除されていることを確認できる