gpt4 book ai didi

python - Boto3 - 仅下载自指定时间戳以来修改过的文件

转载 作者:行者123 更新时间:2023-12-02 03:10:17 26 4
gpt4 key购买 nike

我尝试根据文件修改属性从 AWS s3 下载文件。目前,除了重复调用该文件并下载它(如果它似乎已更改/修改)之外,我无法使用任何其他方法。

这就是我所拥有的:

import boto3
import botocore
from datetime import datetime
from time import sleep

session = boto3.Session(profile_name='test', region_name='us-west-2')
client = session.client('s3')

bucket_name = 'my_bucket'
my_file = 'testfile.txt'

def poll_s3(timestamp):
response = client.get_object(
Bucket=bucket_name,
Key=my_file,
IfModifiedSince=timestamp
)
print response

m_timestamp = datetime.now()

while True:
sleep(5)
try:
poll_s3(m_timestamp)
m_timestamp = datetime.now()
print 'modified at ', m_timestamp
except botocore.exceptions.ClientError as e:
print 'Not modified at', m_timestamp

这个想法是从时间戳开始,看看文件从那时起是否被修改过。如果是,则下载它并更新最后一个文件下载时的原始时间戳,如果不是,则忽略它并在 5 秒后重试

但是我的脚本一直在打印

modified at  2019-09-03 7:37:46.102198
modified at 2019-09-03 7:37:51.262606
modified at 2019-09-03 7:37:56.455355
modified at 2019-09-03 7:38:01.608554

即使文件已经好几天没有修改了...

最佳答案

如果要在 GMT 中指定 IfModifiedSince

使用datetime.utcnow()而不是datetime.now()

关于python - Boto3 - 仅下载自指定时间戳以来修改过的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57780185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com