【发布时间】:2026-01-26 14:40:01
【问题描述】:
我正在创建一个 AWS Lambda 函数,它尝试将文件 (s3.download_file) 下载到我使用 Python (3.6) 中的 tempfile 库创建的临时目录。然后,我对文件进行了一些转换,我需要再次上传它(s3.upload_file)。我对我的临时目录的生命周期充满信心,当 Lambda 完成其工作时,临时目录将自行销毁。 Lambda 返回与禁止的 HeadObject 操作相关的错误。确切的错误是:
“调用HeadObject操作时发生错误(403):禁止”
如何调试此错误?我已经检查了几个来源,其中一些谈到调整策略,检查权限,但我的问题是,有一些循序渐进的(AWS 在其文档中没有),这让我能够解决这个问题?
【问题讨论】:
-
您对 S3 的 API 调用是使用 AWS 凭证进行的。如果您想对 S3 对象调用 HeadObject 操作,则您的凭据需要有权在相关 S3 对象上调用该操作。检查与 Lambda 函数正在使用的凭证(可能是 IAM 角色)关联的 IAM 策略。
-
谢谢!我没有处理角色,只处理用户。这就是错误。只是为了测试,我添加了对用户和角色的完全访问权限并且它正在工作!
标签: amazon-web-services amazon-s3 aws-lambda