概要
筆者はAWS認定ソリューションアーキテクト-プロフェッショナル合格に向けてAWSの様々なサービスを勉強中。本日は Boto3 と S3 を触ってみる。
Boto3とは
AWS SDK for Python (Boto3) を使用すると、AWS の使用を迅速に開始できます。Boto3 を使用することで、Python のアプリケーション、ライブラリ、スクリプトを AWS の各種サービス(Amazon S3、Amazon EC2、Amazon DynamoDB など)と容易に統合できます。(出典:AWS SDK for Python (Boto3))
今回の目標
Boto3 で S3 のバケットとバケット内にある全てのファイル名を取得する
構成
実行環境
macOS 11.3.1
Python 3.9.6
Boto3 1.20.53
手順
1.Boto3のインストール
pip でインストールします。
pip install boto3
2.AWSアクセスキーの設定
AWS の操作には IAM のアクセスキーが必要なので、あらかじめマネージメントコンソールから作成する必要があります。作成方法に関しては以下を参照してください。
また、以下のどちらかの方法でアクセスキーを設定します。私は2で設定しました。
3.S3にバケットを作成
「20220211-test-bucket」というバケットを作成しました。
4.バケットにファイルを格納
作成したバケットに適当なファイルを格納します。
5.作成したバケットにアクセス
import boto3 s3 = boto3.resource('s3') my_bucket = s3.Bucket('20220211-test-bucket') print(my_bucket.name)
バケットへのアクセスに成功しました。
6.バケット内のファイルにアクセス
import boto3 s3 = boto3.resource('s3') my_bucket = s3.Bucket('20220211-test-bucket') for object in my_bucket.objects.all(): print(object.key)
バケット内のファイルへのアクセスに成功しました。
さいごに
まだ基本的なことだけですが、目標を達成することができました。そのほかのサービスについても徐々に学んでいこうと思います。