【问题标题】:How to download last update files from s3 using boto如何使用 boto 从 s3 下载最新更新文件
【发布时间】:2020-01-03 13:57:53
【问题描述】:

如何从 s3 下载上次上传的文件

此代码将获取我的 s3 中最后更新的文件。我只需要一次下载它们。

代码:

import os
import boto3
aws_access_key_id='***'
aws_secret_access_key='***'
client = boto3.client('s3',aws_access_key_id=aws_access_key_id,aws_secret_access_key=aws_secret_access_key)
import os
import boto3
from datetime import datetime
from datetime import timedelta
from datetime import datetime,timezone
now = datetime.now(timezone.utc)
import unittest
files = client.list_objects_v2(Bucket='mybuycket')['Contents']


【问题讨论】:

    标签: python python-3.x amazon-s3 boto3 boto


    【解决方案1】:

    这将对您有所帮助:

    from datetime import datetime
    currentDate = datetime.now().strftime('%d/%m/%Y')
    session = boto3.Session(
        aws_access_key_id=aws_access_key_id,
        aws_secret_access_key=aws_secret_access_key,)
    print ("Creating S3 Session ...\n\n")
    s3 = session.resource('s3')
    for file_ in files:
        filedate = file_.last_modified.strftime('%d/%m/%Y')
        if filedate == currentDate:
            print (file_.key)
            s3.Bucket(bucket_name).download_file(file_.key, "path/to/save/file"+file_.key)
    

    【讨论】:

    • 我排序了,我只需要如何下载它们
    • 只需拆分key得到文件名file_.key.split("/")[-1],然后传递给download_file()下载这个文件
    • AttributeError: 'dict' 对象没有属性 'split'
    • 添加括号str(file_.key).split('/')[-1]
    猜你喜欢
    • 2012-10-24
    • 2016-09-23
    • 2012-10-15
    • 2014-10-02
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 2018-01-04
    • 2015-05-10
    相关资源
    最近更新 更多