3というものだそうです。Pythonドキュメントは、こちら。documentationAWSの代わりにLocalStackを使っていろいろと遊びたいのですが、LocalStackに接続する際にはエンドポイントを変えたりしないといけないわけで、そのあたりを調べてみました。3を使って、LocalStack上のS3にアクセスしてみたいと思います。3には高レベルAPI(Resource)と低レベルAPI(Client)があるようなので、その両方でやってみます。Composeで起動。LocalStackは、「192.168.0.3」というホストで動作しているものとします。"/var/run/docker.sock:/var/run/docker.sock"今回の環境は、こちら。3.6.7仮想環境の作成。boto3バージョン。freezeboto3==1.9.134...これで、準備は完了です。サンプルプログラムBucketの作成、削除、オブジェクトのPut/Getを行う簡単なプログラムを作成。documentationS3用のAPIリファレンスを眺めながら作成。CLIで設定してもいいのですが、今回はプログラム内で指定。'my-secret-access-key')デフォルトの情報以外でClientやResourceを作成するには、Sessionというものをカスタマイズすることになる、と。documentation低レベルAPI(Client)を使った場合。'my-bucket1')Sessionから、Clientを作成します。この時、エンドポイントを指定したりできます。Config())リファレンスは、こちら。3より更に低レベルなライブラリである、Botocoreというライブラリの設定です。今回は特になにも指定していませんが、カスタマイズする場合は以下を参照しましょう。documentation続いて、高レベルAPI(Resource)の場合。my_object.get()['Body'].read().decode())my_object.delete()bucket.delete()Resourceも、やはりSessionから作成します。Config())リファレンスは、こちら。resourceClientの時と同様、ConfigというのはBotocoreの設定になります。最後に、実行して確認です。読者になる検索リンクはてなブログブログをはじめる週刊はてなブログはてなブログPro月別アーカイブはてなブログをはじめよう!Kazuhiraさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。