增强Python脚本以下载过去24小时内创建的Amazon S3文件

增强Python脚本以下载过去24小时内创建的Amazon S3文件,python,python-3.x,amazon-web-services,amazon-s3,Python,Python 3.x,Amazon Web Services,Amazon S3,我编写了以下Python脚本,将S3存储桶中的所有文件下载到当前目录中: import boto3 import botocore import os from boto3.session import Session ACCESS_KEY='AWS_IAM_AccessKey' SECRET_KEY='AWS_IAM_SecretKey' session = Session(aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRE

我编写了以下Python脚本,将S3存储桶中的所有文件下载到当前目录中:

import boto3
import botocore
import os

from boto3.session import Session

ACCESS_KEY='AWS_IAM_AccessKey'
SECRET_KEY='AWS_IAM_SecretKey'

session = Session(aws_access_key_id=ACCESS_KEY, aws_secret_access_key=SECRET_KEY)
myBucket = s3.Bucket('S3_bucketName')

for object in thamesBucket.objects.all():
      myBucket.download_file(object.key, os.path.join(os.curdir, os.path.basename(object.key)))
我想进一步增强此脚本,使其仅下拉过去24小时内生成的S3文件(使用上次修改的列值?),而不是所有文件。

这似乎有效:

from datetime import datetime, timedelta
from dateutil.tz import tzutc, UTC
import boto3

s3 = boto3.resource('s3', region_name='YOUR-REGION')
bucket = s3.Bucket('YOUR-BUCKET')

for object in bucket.objects.all():
    if object.last_modified > datetime.now(tzutc()) - timedelta(hours = 24):
        <download code here>
从datetime导入datetime,timedelta
从dateutil.tz导入tzutc,UTC
进口boto3
s3=boto3.resource('s3',region\u name='YOUR-region')
bucket=s3.bucket('YOUR-bucket'))
对于bucket.objects.all()中的对象:
如果object.last_modified>datetime.now(tzutc())-timedelta(小时=24):

如果您的目标是获取自上次下载以来添加的文件,您可以考虑使用<代码> AWS S3同步> <代码>命令。它将只复制自上次
同步以来已更改/修改的文件。旁注:建议不要将AWS凭据放入源代码中。而是将它们存储在
~/.aws/credentials
文件中。(一种简单的创建方法是使用
aws configure
命令。)如果您在Amazon EC2实例上运行代码,您应该为该实例分配IAM角色,并且凭证将自动提供,而不需要凭证文件。哇……您的代码工作得很好。。非常感谢你节省了很多时间,我无法找到时间,但非常感谢你。从现在起,我将跟随你。