#python-3.x #amazon-s3 #boto3 #boto #botocore
Вопрос:
Я пишу скрипт на python для извлечения информации об AWS и пытаюсь получить только SSEAlgorith, но я получаю ошибку типа: индексы списка должны быть целыми числами или срезами, а не строками. Есть ли способ это сделать? Я думаю, это для внутренних правил [].
{
"ServerSideEncryptionConfiguration": {
"Rules": [
{
"ApplyServerSideEncryptionByDefault": {
"SSEAlgorithm": "AES256"
}
}
]
}
}
Это код, который я использую для получения информации:
s3 = boto3.client('s3')
buc = s3.list_buckets()
for i in response['Buckets']:
enc = s3.get_bucket_encryption(Bucket=i['Name'])
rules = enc['ServerSideEncryptionConfiguration']['Rules']['ApplyServerSideEncryptionByDefault']['SSEAlgorithm']
print(rules)
Ответ №1:
Rules
это список. Поэтому, предполагая, что у вас есть только один список, он должен быть:
rules = enc['ServerSideEncryptionConfiguration']['Rules'][0]['ApplyServerSideEncryptionByDefault']['SSEAlgorithm']