如何在Lambda函数中指定S3存储桶的子文件夹路径
解决方法
S3是对象存储服务,没有传统文件系统的目录结构,你提到的「子文件夹」本质是S3对象键(Key)的前缀,仅需要修改upload_file方法的第二个参数,将目标路径前缀拼接在文件名前即可实现上传到指定子文件夹的需求:
s3_resource.Bucket("bucketname").upload_file("/tmp/file.csv", "subfolder1/file.csv")
注意事项
- 不需要提前在S3中手动创建
subfolder1文件夹,只要对象键携带对应前缀,S3控制台会自动按照前缀层级展示为文件夹格式 - 如果需要上传到更深的层级,直接拼接完整前缀即可,示例:
subfolder1/subfolder2/2024/file.csv - 请确认Lambda函数绑定的IAM执行角色已经开放了对应S3路径的
s3:PutObject权限,否则会触发权限不足的报错
内容的提问来源于stack exchange,提问作者Abraham Johnson
相关产品推荐
相关产品推荐

