您配置了一个 Amazon S3 事件源,用于在特定 S3 存储桶中创建或更新对象时触发 AWS Lambda 函数。该 Lambda 使用事件中的存储桶名称和对象键来读取对象并解析其内容,然后将解析后的数据写入 DynamoDB 表。Lambda 的执行角色具有读取 S3 存储桶和写入 DynamoDB 的权限,但当添加或修改对象时,该函数未被调用。如何解决此问题?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 为 Lambda 函数添加一个基于资源的策略,授予 Amazon S3 调用该存储桶函数的权限。.
为什么这是答案
正确答案是为 Lambda 函数添加一个基于资源的策略,授予 Amazon S3 调用该存储桶函数的权限。当 S3 配置为触发 Lambda 函数时,Lambda 函数需要一个基于资源的策略(也称为函数策略或权限策略),明确允许 S3 服务调用该函数。这确保了 S3 有权代表您执行 Lambda 函数。 其他选项不正确: 添加 S3 存储桶策略授予 S3 调用 Lambda 的权限是错误的,因为调用 Lambda 的权限应在 Lambda 函数本身上配置,而不是在 S3 存储桶上。S3 存储桶策略用于控制对存储桶中对象的访问。 配置 SQS 队列作为失败目标,或作为 S3 事件通知的目标,虽然是有效的集成模式,但并不能解决 S3 无法直接调用 Lambda 函数的问题。这些是不同的事件处理或错误处理机制,而不是授予 S3 调用 Lambda 的权限。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡