python - 使用python获取带前缀的s3文件
问题描述
我的 s3 文件名是“文件夹/文件名.xml”。我想以'name.xml'结尾的文件
import boto3
s3 = boto3.resource('s3')
try:
fileobj = s3.Object('lcu-matillion',''folder/.*name.xml'').get()['Body']
data=fileobj.read()
except Exception:
print('not found')
任何人请帮助提供准确的代码?谢谢
解决方案
不要忘记可能有多个文件与该通配符匹配。
你会使用类似的东西:
import boto3
s3 = boto3.resource('s3', region_name='ap-southeast-2')
bucket = s3.Bucket('my-bucket')
objects = bucket.objects.filter(Prefix='folder-name/')
for object in objects:
if object.key.endswith('.txt'):
object.download_file('/tmp/' + object.key)
推荐阅读
- javascript - 如何使用 Cypress 上传 txt 文件以进行 API 测试 - XMLHTTPRequest?
- algorithm - 平衡二叉搜索树键
- javascript - 将多个值传递给 contextFunction 中定义的函数以更新反应中的上下文变量
- spring-boot - Spring Boot Thymeleaf & Flying Saucer PDF 正确显示带有连字符的 URL
- chat - Google 聊天机器人的服务器要求
- nginx - Nginx 不打开在 proxy_pass 中定义的路由以获取位置
- javascript - 如何使此代码用于许多输入
- go - 如何基于第一个命令行参数实现 num2hex 函数
- android - 如何在颤动中添加启动画面
- php - 将 wp_query 参数转换为 Visual Composer Post Grid 的查询字符串