Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonでBoto3ライブラリを使用して、AWS S3に存在するバケットのリストを取得するにはどうすればよいですか?


問題の説明 − Pythonでboto3ライブラリを使用して、AWSに存在するすべてのバケットのリストを取得します。

−バケットの名前を取得します– BUCKET_1、BUCKET2、BUCKET_3

この問題を解決するためのアプローチ/アルゴリズム

ステップ1 −例外を処理するためにboto3およびbotocore例外をインポートします。

ステップ2 −Boto3ライブラリを使用してAWSセッションを作成します。

ステップ3 −S3用のAWSリソースを作成する

ステップ4 −関数buckets.all()を使用します バケット名を一覧表示します。

ステップ5 −不要な例外が発生した場合は、それを処理します

ステップ6 batchets_namevのリストを返します

次のコードは、S3-

に存在するバケットのリストを取得します
import boto3
from botocore.exceptions import ClientError
# To get list of buckets present in AWS using S3 resource
def get_buckets_resource():
   session = boto3.session.Session()
   # User can pass customized access key, secret_key and token as well
   s3_resource = session.resource('s3')
   try:
      buckets = list(s3_resource.buckets.all())
      print("Got buckets using resource:", buckets)
   except ClientError:
      print("Couldn't get buckets.")
      raise
   else:
      return buckets
get_buckets_resource()

出力

Got buckets using resource:[s3.Bucket(name='BUCKET_1'),
s3.Bucket(name='BUCKET_2'), s3.Bucket(name='BUCKET_3)………… ]



  1. Pythonでリストの最後から2番目の要素を取得するにはどうすればよいですか?

    リストオブジェクトを含むPythonシーケンスにより、インデックスを作成できます。リスト内の任意の要素には、ゼロベースのインデックスを使用してアクセスできます。インデックスが負の数の場合、インデックスのカウントは最後から始まります。リストの最後から2番目の要素が必要なので、インデックスとして-2を使用します。 >>> L1=[1,2,3,4,5] >>> print (L1[-2]) 4

  2. Pythonでリストのサイズを取得するにはどうすればよいですか?

    リストのサイズを見つけるには、組み込み関数lenを使用します。 Pythonドキュメントの状態: len(arg)は、オブジェクトの長さ(アイテムの数)を返します。引数は、シーケンス(文字列、バイト、タプル、リスト、範囲など)またはコレクション(辞書、セット、またはフリーズセット)。」 lenは組み込みであり、__len__を実装するユーザー定義クラスでも使用できます。したがって、この操作は、__ len__の実装に応じてO(n)またはO(1)になる可能性があります。 例 list1 = [1, 2, "Hello"] print(len(list1)) my_str