如何解决Lambda获得访问被拒绝,即使它具有必要的权限
我有一个lambda,当将新的csv文件添加到s3存储桶时,该lambda就会触发。它将csv文件解析为csv的各个行,并将它们放入sqs队列中以进行进一步处理。
问题是,即使lambda具有适当的权限(arn:aws:s3 ::: my-bucket-name / *的s3:GetObject),在尝试执行以下操作时,它始终会失败并显示访问被拒绝的错误GetObject函数。
知道为什么会这样吗?
解决方法
问题是lambda收到的文件名编码错误,导致lambda查找不存在的文件。
AWS将查找不存在的文件与尝试访问受限制的资源一样,这就是为什么我收到有点误导性的“访问被拒绝”错误的原因。
要修复,我将文件命名模式更改为一种不受编码影响的简单模式。这样就解决了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。