Как получить срок действия объекта (файла) из boto3 - PullRequest
0 голосов
/ 03 октября 2019

У меня есть файл внутри корзины AWS S3, как показано ниже.

/bucket_name/prefix1/prefix3/file_name.txt

Я пытаюсь получить дату истечения срока действия для объекта file_name.txt, но я получаю только дату истечения срока действия уровня префикса.

Как получить дату истечения срока действия для файла (уровень объекта) ??

Я пробовал следующий код

bucket        = "bucket_name"
prefix        = "/prefix1/prefix3/"
key           = "file_name.txt"
s3            = boto3.client('s3')
policy_data_1 = s3.get_bucket_lifecycle_configuration(Bucket=bucket)
bucket_policy = policy_exists_1['Rules'][0]['Expiration']
print(bucket_policy, policy_exists['Rules'])

У меня выводится ниже

'Rules': [{'Expiration': {'Days': 6}, 'ID': 'S3 Object Prefix Expiration Rule for bucket_name/prefix1/prefix2/', 'Prefix': 'prefix1/prefix2/', 'Status': 'Enabled', 'NoncurrentVersionExpiration': {'NoncurrentDays': 6}, 'AbortIncompleteMultipartUpload': {'DaysAfterInitiation': 7}}, {'Expiration': {'Days': 6}, 'ID': 'S3 Object Prefix Expiration Rule for 'bucket_name/prefix1/prefix3/', 'Prefix': 'prefix1/prefix3/', 'Status': 'Enabled', 'NoncurrentVersionExpiration': {'NoncurrentDays': 6}, 'AbortIncompleteMultipartUpload': {'DaysAfterInitiation': 7}}
]

1 Ответ

0 голосов
/ 03 октября 2019

Вы используете неправильный вызов

import boto3
s3 = boto3.resource('s3')
object = s3.Object('bucket-name', 'filename.txt')
print (object.expiration)

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#object

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