Appsync 在响应后调用 lambda?
Appsync Invoke lambda after response?
示例问题:
用户可以 post 在我们的网站上发表自己的文章。但是,每个用户只能 post 5 篇文章,当他们 post 第 5 篇文章时,我们想给他们发一封电子邮件。
仅使用 revolvers,是否可以return 及时响应突变,然后 lazily/async 调用 lambda 函数向用户发送电子邮件?
是的,这应该是很有可能的。这在某种程度上取决于您要使用哪种解析器。如果您使用的是 Lambda 数据源:
- 如您所述,Lambda 调用可以是 asynchronous,所以
您可以在 Lambda 解析器中执行一个并看到最小的额外开销。
- 您可以使用 Lambda 事件溯源。例如,今年早些时候,Lambda 推出 SQS event-based Lambda invocations。这意味着,您的 Lambda 解析器会将带有某些事件上下文的消息放入 SQS 队列(例如帐户信息、电子邮件地址等),然后您将拥有一个侦听该队列的 Lambda。它会自动轮询,因此它会立即调用并解析该消息,然后您将从中发送电子邮件。
- 根据个人 preferences/application 需要,您可能会发现其他 Lambda 事件源对您有所帮助,所有这些都在 docs 中可见。具体来说,您可能会发现 SNS and/or Kinesis 是可行的选择。从概念上讲,它们是相同的 - 您的解析器将消息推送到某些 AWS 服务中,然后将自动调用事件驱动的 Lambda。
如果您使用的是 DynamoDB 数据源:
- 您可以在您的 table 上设置 DynamoDB 流,并连接一个监听该流的事件驱动的 Lambda。
无论如何,您可能会发现 pipeline resolvers 很有用。它允许您设置一个线性、同步的解析器链来解决一些更复杂的问题。你可以有一个初始的 Lambda function/DDB 查找来获取帖子的数量(如果有人达到他们的限制可能会失败),然后是第二个解析器来执行你的正常操作,然后甚至可能有三分之一可以发送有人达到限制的电子邮件。
示例问题:
用户可以 post 在我们的网站上发表自己的文章。但是,每个用户只能 post 5 篇文章,当他们 post 第 5 篇文章时,我们想给他们发一封电子邮件。
仅使用 revolvers,是否可以return 及时响应突变,然后 lazily/async 调用 lambda 函数向用户发送电子邮件?
是的,这应该是很有可能的。这在某种程度上取决于您要使用哪种解析器。如果您使用的是 Lambda 数据源:
- 如您所述,Lambda 调用可以是 asynchronous,所以 您可以在 Lambda 解析器中执行一个并看到最小的额外开销。
- 您可以使用 Lambda 事件溯源。例如,今年早些时候,Lambda 推出 SQS event-based Lambda invocations。这意味着,您的 Lambda 解析器会将带有某些事件上下文的消息放入 SQS 队列(例如帐户信息、电子邮件地址等),然后您将拥有一个侦听该队列的 Lambda。它会自动轮询,因此它会立即调用并解析该消息,然后您将从中发送电子邮件。
- 根据个人 preferences/application 需要,您可能会发现其他 Lambda 事件源对您有所帮助,所有这些都在 docs 中可见。具体来说,您可能会发现 SNS and/or Kinesis 是可行的选择。从概念上讲,它们是相同的 - 您的解析器将消息推送到某些 AWS 服务中,然后将自动调用事件驱动的 Lambda。
如果您使用的是 DynamoDB 数据源:
- 您可以在您的 table 上设置 DynamoDB 流,并连接一个监听该流的事件驱动的 Lambda。
无论如何,您可能会发现 pipeline resolvers 很有用。它允许您设置一个线性、同步的解析器链来解决一些更复杂的问题。你可以有一个初始的 Lambda function/DDB 查找来获取帖子的数量(如果有人达到他们的限制可能会失败),然后是第二个解析器来执行你的正常操作,然后甚至可能有三分之一可以发送有人达到限制的电子邮件。