为什么 boto3 s3 对象缺少存储 class 属性?
Why storage class attribute is missing for boto3 s3 object?
当运行检索存储时Class
import boto3
s3 = boto3.resource('s3')
key = s3.Object('bucket_name','key')
print key.storage_class
它returnsNone
我的实验表明 Standard
存储 class returns 的价值 None
(就像你所做的那样)。
但是,我设法获得了其他存储 class 的有效值,例如 STANDARD_IA
和 GLACIER
。
根据 AWS 文档:
S3 returns x-amz-storage-class
header 所有 objects 除了标准存储 class。
https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html
我正在使用以下方法获取存储 class 变量:
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)
当运行检索存储时Class
import boto3
s3 = boto3.resource('s3')
key = s3.Object('bucket_name','key')
print key.storage_class
它returnsNone
我的实验表明 Standard
存储 class returns 的价值 None
(就像你所做的那样)。
但是,我设法获得了其他存储 class 的有效值,例如 STANDARD_IA
和 GLACIER
。
根据 AWS 文档:
S3 returns x-amz-storage-class
header 所有 objects 除了标准存储 class。
https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html
我正在使用以下方法获取存储 class 变量:
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)