PythonでBoto3を用いて作成したAmazon S3バケットを一覧表示する

PythonでBoto3を用いて作成したAmazon S3バケットを一覧表示してみます。前回、PythonでBoto3を用いて作成したAmazon S3バケットの作成するという記事を公開しましたが、今回はその続きとなります。

ちなみに、今回はBoto3を用います。このライブラリ・モジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。また、Boto3を用いる場合には、クレデンシャル(資格情報)などの設定が必要になりますので、こちらを参考にしていただければと思います。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■作成したAmazon S3バケットを確認する

PythonでBoto3を用いて作成したAmazon S3バケットを一覧表示してみますが、その前に前回作成したAmazon S3バケットを確認してみます。

AWSにログインし、コンソール上の検索窓(サービス、特徴、ブログ、およびドキュメントなどを検索)から「S3」と検索。検索結果から「Amazon S3」を選択し、「Amazon S3」左側メニューから「バケット」をクリックしてみます。すると、前回作成したバケットである「kobayashi-test-cloud-a」を確認することができました。

■Boto3を用いて作成したAmazon S3バケットを一覧表示する

確認後、早速Boto3を用いて作成したAmazon S3バケットを一覧表示するスクリプトを書いていきます。

■コード

import boto3

AWS_REGION ="us-east-2"

client = boto3.client('s3',region_name=AWS_REGION)

response = client.list_buckets()

print("Amazon S3のバケット一覧:")

for bucket in response['Buckets']:
    print(f"{bucket['Name']}")

importでboto3を呼び出します。その後、AWS_REGIONという変数を定義し、その中で、特定のAWSリージョンを指定し格納します。今回は「us-east-2」とします。Amazon S3サービスでの作業中に様々な例外を回避します。

格納後、clientという変数を定義し、その中でboto3.client()を用います。括弧内には第1の引数,パラメータとしてs3を渡します。その後、第2の引数,パラメータとして「region_name=AWS_REGION」を渡します。これでクライアントが作成されました。

クライアントを作成後、responseという変数を定義し、その中でclientに対してlist_buckets()を用います。これでAmazon S3サービス内のバケットの情報が取得され、responseに格納されます。

格納後、for文を用いてresponse変数に対して角括弧”[ ]”を用いて、Buckets(バケット)の情報を取り出して、順番にbucket変数に格納していきます。そしてbucket変数に対して角括弧”[ ]”を用いて、Name(バケットの名前)を取り出し、print()で出力させます。

■実行・検証

このスクリプトを「a_buckets_list.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。

実行してみると、list_buckets()を用いたことで、バケットの情報を取得し、print()でバケットの情報を一覧表示させることができました。表示されたバケットは、最初にコンソールから確認したバケットと同じであることも確認できました。

コメント

タイトルとURLをコピーしました