如何使用Python Boto3获取S3存储桶的总数

时间:2019-10-08 19:07:05

标签: python boto3

我正在尝试获取给定AWS账户上S3存储桶总数的列表。

使用boto3和Python 2.7,我执行了以下操作:

import boto3

s3 = boto3.resource('s3')
for bucket in s3.buckets.all():
  bucket_names = (bucket.name)
  print bucket_names.count('\n')

但是,这会导致bucket_names中的每一行输出为0。本质上,如果我要在nix shell中执行此操作,则尝试获取等效的'wc -l'。

2 个答案:

答案 0 :(得分:1)

您可以使用s3客户端。

import boto3

client = boto3.client('s3')

response = client.list_buckets()

print(len(response['Buckets']))

答案 1 :(得分:0)

您还可以通过使用boto3资源来获取存储桶数,

import boto3

buckets = [bucket.name for bucket in boto3.resource('s3').buckets.all()]
print(len(buckets))
print('\n'.join(buckets))

还将在其中打印存储桶名称。