Получить настройки корзины S3 с помощью Python - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть требование записать сотни сегментов S3 для настроек на вкладке Свойства для каждого сегмента. Это делается для проверки того, что ни один из них не является общедоступным, ни один не зашифрован. Позже мне нужно будет также предоставить ACL для каждого сегмента.

насколько я получил

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-файл или что-то в этом роде, так что, надеюсь, все, что я смогу получить, будет в формате данных.

1 Ответ

0 голосов
/ 09 ноября 2018

В s3client есть целый набор методов get_bucket, которые могут быть именно тем, что вы ищете. На ум приходят get_bucket_encryption () и get_bucket_acl ().

например.

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'}]

Полный список команд клиента s3 на https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#client

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...