使用 Amazon AWS Lambda 函数无服务器图像处理程序调整器函数模板会导致无 S3 访问



这正是我所做的。

我有一个 S3 存储桶,S3 存储桶中的映像是完全公开的。您可以将 URL 直接粘贴到任何浏览器中,它会显示图像。CORS 设置为允许所有源。

我按照 AWS 教程并单击启动堆栈以启动用于无服务器图像处理的默认模板。

https://docs.aws.amazon.com/solutions/latest/serverless-image-handler/deployment.html#step1

创建堆栈时要求您输入参数。它询问源存储桶。我准确地输入了SOURCE_BUCKET的名字!我什至仔细检查了一下。所以我在那里输入了存储桶名称。这也是那个桶中的公众形象。现在这是链接吧?我使用的是默认模板,它要求输入存储桶名称,我输入正确,然后完全尝试使用调整器,但它找不到键。

当我输入云前端 URL 和密钥时,我得到:

{"status":500,"code":"NoSuchKey","message":"指定的键不存在。

我不知道还能做什么!图像是完全公开的!我确定我输入了正确的密钥和 URL,我之前已经让它工作了,但突然发生了一些变化。所以我之前删除了整个堆栈并从头开始创建它,现在它甚至没有与密钥建立连接!

我该怎么办?我还需要哪些其他权限才能打开?为什么在创建堆栈时他们不为您设置?

更新

所以我发现如果我在存储桶的根中添加图像,它会起作用!但是,如果他们键是子文件夹中的路径,则不起作用。

键与S3 中的路径不同。 如果您要将所有图像粘贴到 S3 伪文件夹中,请将其称为图像,并确保它是授予 Lambda 函数的权限的一部分。仅仅因为某些内容是公开的并不意味着 Lambda 将能够访问它。

相关内容

  • 没有找到相关文章