使用AWS API Gateway和AWS SNS发送SMS而不使用Lambda

问题描述 投票:1回答:1

我想通过AWS SNS服务发送短信,但不是使用AWS Lambda而是我要做以下

  1. 使用API​​网关
  2. 使用AWS服务选项
  3. 直接选择SNS而不是lambda(为什么我需要lambda?)
  4. 从移动应用程序调用API网关。

这可能吗?我认为它应该是但是没有看到太多关于此的文档,并且大多数人都在强行使用lambda!

amazon-web-services api gateway
1个回答
0
投票

问题是你需要在某处执行一些代码来实际执行“发送短信”动作。这就是Lambda函数非常适合的原因:它们运行代码而不管理服务器。但是,当然,你没有义务使用它们。

您可以轻松地将API网关端点与SNS挂钩,但是您需要处理通过订阅者到达SNS的消息(这是Lambda启动的地方),否则,您将对没有人可以使用的消息做什么?您有几个选项可以订阅您的SNS主题,但Lambda是最简单的。但是,假设你不想出于任何原因使用Lambda,你可能有一个订阅你的SNS主题的SQS队列和一个耗尽这个SQS队列的EC2实例,但这要复杂得多,而且远离无服务器世界。

所以,我的建议是:

  1. 创建API网关
  2. 将其与SNS主题连接
  3. 创建一个Lambda函数并将其订阅到刚刚创建的SNS主题
  4. 向API网关发送请求(这将向SNS发送消息,从而触发订阅的Lambda函数)
  5. 现在已使用来自SNS的消息调用您的Lambda函数。获取您发送短信所需的信息。

我建议你看一下Building an API Gateway API with AWS Integration,然后学习如何使用Send SMS messages using Twillio's API

我还建议你看看SNS EventAPI Gateway event,这样你就知道你的代码会发生什么。

© www.soinside.com 2019 - 2024. All rights reserved.