【发布时间】:2021-08-07 03:44:43
【问题描述】:
我已将 aws 管道设置为 S3 -> SQS -> Lambda。 S3 PutObject 事件将生成事件触发消息并将其传递给 SQS,SQS 将触发 lambda。我需要将变量值从 S3 传递给 SQS,最后作为事件消息的一部分传递给 Lambda。变量值可以是文件名或某个字符串值。
- 我们能否自定义 S3 事件生成的事件消息 json 数据,以便在消息中传递更多信息。
- SQS 是否只是将从 S3 收到的事件消息传递给 Lambda,或者对消息进行任何更改或生成自己的消息。
- 如何在 SQS 或 Lambda 中显示或查看 S3 生成的消息。
【问题讨论】:
-
变量值从何而来?每个事件的值是否相同,还是以某种方式生成?如果生成,什么代码决定它的值?虽然没有与您的要求相匹配的功能,但可能有一些方法可以实现类似的结果(例如标签、消息属性),但这完全取决于值的来源。请编辑您的问题以提供此附加信息。
-
S3 存储桶将接收多个文件。每个文件都会触发事件和消息将被发送到 SQS。我想将文件名和常量值作为每个文件的事件消息的一部分传递。 lambda 函数使用来自 SQS 的消息,并且 lambda 函数需要触发事件的文件名,以便它可以为每个文件运行代码略有不同。希望这能解释得更好。
-
但是什么决定了价值呢?每个文件都获得相同的值吗?如果是这样,Lambda 函数不能只假设该值吗?哪些输入因素决定了价值的确定方式?
标签: amazon-web-services amazon-s3 aws-lambda amazon-sqs