如何通过python只获取在S3位置创建/修改的最新文件/文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何通过python只获取在S3位置创建/修改的最新文件/文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1305字,纯文字阅读大概需要2分钟。
内容图文
![如何通过python只获取在S3位置创建/修改的最新文件/文件](/upload/InfoBanner/zyjiaocheng/827/3e8fe199a4624b35ab13ee7fe24512fd.jpg)
使用boto我尝试了以下代码:
from boto.s3.connection import S3Connection
conn = S3Connection('XXX', 'YYYY')
bucket = conn.get_bucket('myBucket')
file_list = bucket.list('just/a/prefix/')
但我无法获取列表的长度或file_list的最后一个元素,因为它是BucketListResultSet类型,请为此方案建议一个解决方案
解决方法:
您正在尝试使用boto库,该库已过时且未得到维护.的数量
这个库的问题正在增长.
更好地使用目前开发的boto3.
首先,让我们定义搜索参数:
>>> bucket_name = "bucket_of_m"
>>> prefix = "region/cz/"
导入boto3并创建代表S3资源的s3:
>>> import boto3
>>> s3 = boto3.resource("s3")
获取桶:
>>> bucket = s3.Bucket(name=bucket_name)
>>> bucket
s3.Bucket(name='bucket_of_m')
为具有给定前缀的对象定义过滤器:
>>> res = bucket.objects.filter(Prefix=prefix)
>>> res
s3.Bucket.objectsCollection(s3.Bucket(name='bucket_of_m'), s3.ObjectSummary)
并迭代它:
>>> for obj in res:
... print obj.key
... print obj.size
... print obj.last_modified
...
每个obj都是ObjectSummary(而不是Object本身),但它仍然需要了解它
>>> obj
s3.ObjectSummary(bucket_name='bucket_of_m', key=u'region/cz/Ostrava/Nadrazni.txt')
>>> type(obj)
boto3.resources.factory.s3.ObjectSummary
您可以从中获取Object并根据需要使用它:
>>> o = obj.Object()
>>> o
s3.Object(bucket_name='bucket_of_m', key=u'region/cz/rodos/fusion/AdvancedDataFusion.xml')
过滤的选项并不多,但前缀可用.
内容总结
以上是互联网集市为您收集整理的如何通过python只获取在S3位置创建/修改的最新文件/文件全部内容,希望文章能够帮你解决如何通过python只获取在S3位置创建/修改的最新文件/文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。