首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Python检索S3存储桶设置

使用Python检索S3存储桶设置
EN

Stack Overflow用户
提问于 2018-11-09 02:21:26
回答 1查看 264关注 0票数 0

我需要为每个存储桶的属性选项卡上的设置记录数百个S3存储桶。这是为了验证没有一个是公开的,没有一个是未加密的。稍后,我还必须提供每个存储桶的ACL。

以下是我目前所得到的信息

代码语言:javascript
运行
复制
from boto3.session import Session
import config
import pandas as pd

ACCESS_KEY=config.awsAccessKey
SECRET_KEY=config.awsSecretKey

session = Session(aws_access_key_id=ACCESS_KEY,
                  aws_secret_access_key=SECRET_KEY)
s3 = session.resource('s3')

counter = 0
csv_list = []
path = '//ant.amazon.com/dept/DCGSI/Extracts/s3_buckets_list.csv'

for bucket in s3.buckets.all():
    for obj in bucket.objects.all():
        if counter == 10:
            break
        bucketsTwoDeep = bucket.name + obj.key
        counter += 1

这给了我存储桶和第一级“文件夹”对象。我似乎找不到获取存储桶上的属性的方法。有什么办法吗?一旦我可以获得数据,我将不得不将其放入CSV或其他什么中,所以希望我能获得的任何东西都是可数据帧的。

EN

Stack Overflow用户

发布于 2018-11-09 15:40:43

s3client中有一整堆get_bucket方法,可能就是您要找的。get_bucket_encryption()和get_bucket_acl()突然出现在脑海中。

例如:

代码语言:javascript
运行
复制
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import boto3
>>> from pprint import pprint
>>> s3client = boto3.client('s3')
>>> response = s3client.get_bucket_acl(Bucket = 'bucketname')
>>> pprint (response['Grants'])
[{'Grantee': {'DisplayName': 'username',
              'ID': '3c9b78c1dbb3599d60dab12c5d9c9d7eef13ca95e2505d6e022c98345c70e5fc',
              'Type': 'CanonicalUser'},
  'Permission': 'FULL_CONTROL'}]

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#client上的s3客户端命令的完整列表

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53213911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档