首页 > 解决方案 > 从 S3 批量加载 - 致命错误:调用 HeadObject 操作时发生错误 (403):禁止

问题描述

如果我没有正确解释这一点,我深表歉意,因为我是 AWS 的新手。我在 S3 存储桶中有一个文件,名称中包含括号。我们使用 S3、Lambda 和 Batch 将数据传输到 SQL 数据库。

如果我手动设置批处理来加载文件,它可以正常工作。如果我将 Lambda 设置为在文件放入 S3 时查看文件,那么它似乎会看到带有 % 符号而不是括号的文件。如果我修改上传处理程序以接受名称中的 %,则批处理文件将失败并显示:

致命错误:调用 HeadObject 操作时发生错误(403):禁止

我知道我们可以正常连接到 S3 存储桶,我假设这不是权限,但可能是 Lambda 看到的名称实际上并不存在(即 TestLoad_(file1).csv 出现为 TestLoad_%28file1%29 .csv)。

有没有人遇到过这个问题以及我将如何修复它(除了每次将文件放入 S3 时手动重命名文件)。

标签: amazon-web-servicesamazon-s3

解决方案


推荐阅读