我只想提取 Aws s3 存储桶名称并以列表的形式显示

Posted

技术标签:

【中文标题】我只想提取 Aws s3 存储桶名称并以列表的形式显示【英文标题】:I want to extract only the Aws s3 bucket name and display it in the form of list 【发布时间】:2022-01-09 16:35:38 【问题描述】:

您好,我正在使用 boto & boto3 库来读取 AWS s3 存储桶的名称。通过使用以下代码,我成功地使用我的访问密钥和秘密访问密钥访问了 aws s3 存储桶。

import boto
from boto.s3.key import Key
import boto.s3.connection
from __future__ import print_function

ACCESS_KEY_ID ='****'
SECRET_ACCESS_KEY ='****'

conn = boto.s3.connect_to_region('us-**',
                                 aws_access_key_id=ACCESS_KEY_ID, aws_secret_access_key=SECRET_ACCESS_KEY)
ls =
ls = conn.get_all_buckets()
print(ls)

它成功地将我帐户中的存储桶列表返回为

 Out[39]:  [<Bucket: aaaa>, <Bucket: bbbb>]

但是,我只想要如下列表中的存储桶名称

[aaaa,bbbb]

我怎样才能做到这一点?有什么方法可以根据列表获取存储桶名称?

【问题讨论】:

【参考方案1】:

您当前正在返回Bucket 对象的列表。您只需要访问每个对象的 name 字段并构造名称列表。

试试这个:

conn = boto.s3.connect_to_region('us-**',
                                 aws_access_key_id=ACCESS_KEY_ID, aws_secret_access_key=SECRET_ACCESS_KEY)
ls = list(map(lambda bucket: bucket.name, conn.get_all_buckets()))
print(ls)

【讨论】:

以上是关于我只想提取 Aws s3 存储桶名称并以列表的形式显示的主要内容,如果未能解决你的问题,请参考以下文章

使用带有 Node.js 的 AWS Lambda 函数从 S3 存储桶中提取 zip 文件并上传到另一个存储桶

Android:如何查询存储桶名称列表

AWS 存储桶策略错误:策略具有无效操作

收到我的 AWS 账户的 S3 存储桶安全通知电子邮件?

使用 Ansible 创建 AWS S3 存储桶

如何在存储桶名称中使用变量 AWS Cloudformation