amazon-web-services - 将文件从 s3 复制到本地?
问题描述
我的 s3 存储桶中有很多文件,那么是否有任何 aws cli 命令可用于在 s3 中查找具有前缀名称的最新文件?以及如何将该文件从 s3 复制到我的本地文件夹?我可以使用 Boto3 或 python 库来执行此操作吗?
解决方案
这是在 Python 中执行此操作的演示:
import boto3
s3_client = boto3.client('s3')
response = s3_client.list_objects_v2(Bucket='MY-BUCKET', Prefix='foo/')
objects = sorted(response['Contents'], key=lambda obj: obj['LastModified'])
## Latest object
latest_object = objects[-1]['Key']
filename = latest_object[latest_object.rfind('/')+1:] # Remove path
# Download it to current directory
s3_client.download_file('MY-BUCKET', latest_object, filename)
基本上,您会取回所有对象,然后按LastModified
.
请注意,该list_objects_v2()
命令最多只返回 1000 个对象。如果存储桶有更多,则需要循环或使用分页器。请参阅:分页器 — Boto3 文档
推荐阅读
- sqlite - 查询以从 SQLite 数据库中检索来自 Skype 对话的消息
- kubernetes - 如何通过 Terraform 管理多个 Kubernetes 集群?
- php - 替换斜杠 / 用于破折号 - 在降价文件中
- docker - Docker 容器端口在 Windows 上公开,但在 Ubuntu 上不公开
- git - Git Pull 删除了我的整个项目和本地存储库
- python - 使用 read_excel 方法时 DataFrame 不存在
- asp.net-mvc - ASP.NET MVC 美元货币验证
- docker - 如何配置 Kibana docker-compose 以将 ElasticSearch 容器放在同一网络中
- windows-10 - 错误 (0x0 0x0) [Golang /Window10/64bit]
- vaadin - 404 在 Vaadin13 中使用 CSS 资源时未找到