При запуске поиска класса хранения

import boto3

s3 = boto3.resource('s3')
key = s3.Object('bucket_name','key')
print key.storage_class

Ничего не возвращается

1
rombob 29 Май 2019 в 23:56

2 ответа

Лучший ответ

Согласно документации AWS: S3 возвращает заголовок x-amz-storage-class для всех объектов, кроме стандартного класса хранения. https://docs.aws.amazon.com/AmazonS3/latest/ API / RESTObjectGET.html

Я использую следующее, чтобы получить переменную класса хранения:

import boto3

session = boto3.session.Session(profile_name='dev')
s3_resource = session.resource('s3', region_name=region)                 
obj_meta = s3_resource.Object(bucket, key_object)

obj_storage_class = 'STANDARD' if obj_meta.storage_class is None else str(obj_meta.storage_class)
1
DenisTs 31 Май 2019 в 19:19

Мои эксперименты показывают, что Standard класс хранения возвращает значение None (как это было для вас).

Однако мне удалось получить допустимые значения для других классов хранения, таких как STANDARD_IA и GLACIER.

1
John Rotenstein 29 Май 2019 в 23:57