【Python】Boto3でS3にアクセスしてみる

Boto3をインストール

requirements.txtにBoto3を追記

boto3

docker-compose.ymlにAWSアクセスキーを記載

    environment:
      AWS_ACCESS_KEY_ID: xxx
      AWS_SECRET_ACCESS_KEY: xxx
      AWS_DEFAULT_REGION: ap-northeast-1

ビルド(インストール)

docker compose up -d --build

インストールされたか確認

コンテナに入る。

docker compose exec web bash

Boto3のバージョン確認。
バージョンが返ってきたらOK。

python -c "import boto3; print(boto3.__version__)"

サンプルAPIを作ってみる(バケットを取得してみる)

S3にバケットを作成

API実装

main.pyにAPIを記述していきます。
冒頭にてBoto3をインポート。

import boto3

APIの処理部分を実装。
バケットの一覧を取得します。

@app.get("/s3")
def get_s3():
    s3 = boto3.client("s3")
    return s3.list_buckets()

動作確認

Swaggerで動作確認。
バケットが取得できていればOK。

以上になります。
お読み頂き、ありがとうございました。