SNS 到 Lambda 与 SNS 到 SQS 到 Lambda

2024-01-02

如果有人可以帮助解释,我想了解我的工作流程中是否需要 SQS。在我的应用程序中,当采取操作时,它会将信息提交到 SNS 主题,该主题调用 Lambda 进行一些处理。这效果很好。

当我在线研究时,似乎人们也在这个堆栈中使用 SQS,其中 SNS 将信息放在 SQS 上,然后 SQS 将调用 Lambda。

我想我想要理解的是这方面对 SQS 的需求。这会增加什么价值?换句话说,直接从 SNS 调用 Lambda 会损失什么?


在 SNS 和 Lambda 之间使用 SQS 的主要优点是重新处理。 假设 Lambda 由于某种原因(例如超时或内存占用不足)无法处理某些事件,您可以增加超时(最多 5 分钟)或内存(最多 1.5GB)并重新启动轮询,然后您可以重新处理较旧的事件。

这在 SNS 到 Lambda 的情况下是不可能的,其中如果 Lambda 失败,事件就会丢失。即使您配置了 DLQ,您仍然必须做好单独读取和处理消息的准备

因此,如果您的活动很重要并且您不想错过它们,那么请选择 SNS - SQS - Lambda

使用 SQS 的另一个优点是节省 Lambda 调用的成本(感谢 @codesinthedark 提出这一点)。您可以获得更好的扩展性和更低的成本,因为它允许您批量处理消息。因此,可以对一批 10 条消息执行一个 lambda,而在直接 SNS 的情况下,每条消息都会触发一次 lambda 调用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SNS 到 Lambda 与 SNS 到 SQS 到 Lambda 的相关文章

  • 在 AWS Elastic Beanstalk 中部署 Flask 应用程序

    当我部署 Flask 应用程序时 它显示成功 但是当我检索日志时 我看到错误 找不到 Flask 我的需求文件中有烧瓶 任何帮助 Sat Jan 11 06 51 50 503908 2020 error pid 3393 remote 1
  • 如何为特定存储库配置 AWS CodeCommit 配置文件

    我有以下问题 作为我工作的一部分 我处理多个 AWS 账户 每个账户都有一个单独的 AWS CodeCommit 存储库和特定于账户的 IAM 用户 这会导致不同的用户 ID 我想找到一种方法来配置我的 ssh 以根据存储库访问不同的帐户
  • 不允许为 VPC 创建 EC2 实例

    是否可以将 EC2 实例模板的 VPCId 定义为属性 我想做的是 Resources Ec2Instance Type AWS EC2 Instance Properties SecurityGroups Ref AWSSecurityG
  • 导入错误:无法导入名称 md5

    真的不知道这里发生了什么 我需要在弹性beanstalk上部署我的flask应用程序 但不知何故改变了路径并且无法再运行python application py dotnet info NET Core SDK reflecting an
  • Redshift Serverless 上的关系 stl_load_errors 权限被拒绝

    我使用 Amazon Redshift Serverless 和查询编辑器 v2 但在用户权限方面遇到问题 在S3中导入数据 csv 时出现以下错误 ERROR Load into table x failed Check sys load
  • 我可以通过 Amazon API 网关异步启动长时间运行的 AWS Lambda 进程吗?

    我需要启动一个长时间运行的 AWS Lambda 作业 几分钟 将其输出写入 S3 它将用 Java 编写 实际上是 Kotlin 但这并不重要 我正在研究 Amazon API Gateway 作为此作业和其他 AWS Lambda 作业
  • CognitoIdentityCredentials 无权对资源执行:lambda:InvokeFunction

    我正在尝试从 iOS 客户端调用 lambda 函数 我的代码如下所示 要获取凭据 请在 appDelegate 中 func application application UIApplication didFinishLaunching
  • 迭代亚马逊S3上文件夹中的对象

    我们有一个应用程序 用户可以创建自己的网页并托管它们 我们使用 S3 来存储静态页面 在这里 由于我们每个用户有 100 个存储桶的限制 我们决定为每个用户使用文件夹桶内的用户 现在 如果用户想在他的域上托管他的网站 我们会向他询问域名 当
  • 如何在 AWS CDK 堆栈中压缩 Node Lambda 依赖项?

    我正在使用 CDK 通过 API Gateway Lambda 和 DynamoDB 创建一个简单的无服务器项目 到目前为止看起来很酷 但是当我向 Lambda 添加外部依赖项时出现以下错误 Runtime ImportModuleErro
  • Terraform - 如果在 for_each 内。我可以过滤 for_each 吗?

    通过以下内容 我可以循环遍历资源块 轻松地将路由表关联添加到 所有 子网 但是 我只需要为我的公共子网创建关联 我怎样才能使这个 if 语句起作用 或者任何其他方式来过滤each value class pub 对于这个问题 resourc
  • 无法打开“storage/logs/laravel-2019-11-22.log”:无法打开流:权限被拒绝

    在生产服务器上输入我的网站时出现以下错误 无法打开流或文件 var app current storage logs laravel 2019 11 22 log 无法打开流 权限被拒绝 我尝试运行以下命令 但 git 权限在终端中被拒绝
  • 无法将 Laravel 应用程序部署到 EC2

    我的 Laravel 项目全部在我的本地主机上运行 我将其部署到 EC2 但没有任何反应 我在开发控制台中看到的只是内部错误 500 我缺少什么 在部署到 AWS 之前我需要更改哪些内容 这是网址 http ec2 52 88 99 75
  • 开始使用 Python 进行安全 AWS CloudFront 流式传输

    我已经创建了一个 S3 存储桶 上传了一个视频 并在 CloudFront 中创建了一个流分配 用静态 HTML 播放器对其进行了测试 它可以工作 我已经通过帐户设置创建了密钥对 目前我的桌面上有私钥文件 这就是我所在的地方 我的目标是让我
  • 来自 Step Function 的跨账户 Lambda 调用

    我在帐户 A 中有 Step Function 并且在帐户 B 中有 lambda 但是在运行 step 函数时 它给出 An error occurred while executing the state lambdaB entered
  • 如何在 AWS Elastic Beanstalk 上配置 WSGI 应用程序的名称?

    我的 Python Web 应用程序称为app example py import flask app flask Flask name split 0 当我尝试使用 AWS EB 启动它时 run py set correctly wit
  • AWS ios SDK - 弹性转码器作业的 http post 请求

    查看AWS弹性转码器 有几个问题 对于我的用例来说 首先使用转码器是否具有重要价值 我正在制作一个允许用户选择视频的 ios 应用程序 当他们这样做时 我会将其上传到 S3 存储桶 据我了解 我应该使用弹性转码器对这些视频进行转码 并将它们
  • AWS lambda只读文件系统错误,使用docker镜像存储ML模型

    我在 lambda 上使用 docker 容器映像来运行我的 ML 模型 我的 lambda 函数有一个 S3 触发器来获取图像 我正在尝试运行 lambda 函数 但收到此错误 有人可以帮帮我吗 PS 现在我知道 tmp 是 lambda
  • Amazon S3 适合提供视频吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在开发一个网站 其主要功能是播放视频 通常是一个接一个地播放视频 将 MP4 和 WebM 文件存储在 Amazon S3 上 然后使用 HTML
  • 更新AWS S3过期时间

    我想知道如何延长密钥的有效期 我指的不是访问对象的签名 URL 而是密钥本身 我将 AWS 设置为存储桶中的所有对象应在 90 天后过期的规则 在大多数情况下 这就是我希望发生的事情 有时我需要将单个密钥的使用寿命最多再延长 90 天 事实
  • 将文件从 CodeCommit 部署到 S3

    我想将推送到 CodeCommit 存储库中的某些文件部署到 S3 存储桶中 我正在尝试使用存储库上的 Lambda 触发器来执行此操作 但是 我无法获取提交中更改的文件列表 也无法使用 AWS CodeCommit API 从 CodeC

随机推荐

  • 哪种 NoSQL 数据库最适合仅附加审计日志记录用例?

    我的用例是资源的审核日志记录 为了进行讨论 考虑一个非常简单的模式 资源名称 访问时间戳和访问用户名 有了所有 NoSQL 选项 我想知道哪种解决方案最适合我的用例 资源名称保存在图形数据库 Neo4j 中 虽然我们可以将顶点和边添加到连接
  • 如何获取所有正在运行的活动android?

    我想知道有没有办法获得所有跑步活动的列表 据我了解 一次只会运行一个活动 该活动将是屏幕上的活动活动 其他活动将处于暂停或停止状态 如果有
  • Rails Mailer:将电子邮件发送到本地文件

    有什么方法可以将 Rails 3 中的电子邮件发送到本地文件等 而不是使用 SMTP 服务器吗 我想在不使用任何类型的 SMTP 的情况下测试电子邮件的内容 最好仅在 DEV 环境中测试 最好的是本地 SMTP 或允许我检查电子邮件 检查电
  • 如何使用 Passport.js 访问 OAuth 的状态参数?

    我正在使用 Passport js 进行身份验证 并且每个Google 的 OAuth2 文档 https developers google com accounts docs OAuth2Login formingtheurl 我传递一
  • Python:使用 pyOpenSSL.crypto 读取 pkcs12 证书

    我有西班牙权威机构 FNMT 颁发的有效证书 我想用它来了解更多信息 该文件的扩展名是 p12 我想阅读其中的信息 名字和姓氏 并检查证书是否有效 可以用 pyOpenSSL 做到这一点吗 我想我必须使用 OpenSSL 中的加密模块 有任
  • 如何在 StringBuilder 上检查 null?

    我想在我的代码中专门检查 null 或空 空和空是否相同StringBuilder在Java中 例如 StringBuilder state new StringBuilder StringBuilder err new StringBui
  • 如何使用反射获得泛型类型的正确文本定义?

    我正在研究代码生成 并遇到了泛型的障碍 这是导致我出现问题的 简化 版本 Dictionary
  • 在网络浏览器中打开 R Shiny 应用程序时,传单多边形会失去颜色

    我正在使用 R 中的传单构建地图 将其部署为 Shiny 应用程序 Shiny 应用程序在 RStudio 中运行良好 但是当我在网络浏览器中打开它时 多边形失去了颜色 其他一切都很好 底图在那里 多边形都在那里 您可以将鼠标悬停在多边形上
  • Ipython笔记本缓存问题

    在 ipython 笔记本中 我调用从我自己的模块导入的函数并运行一些代码 我注意到 如果我更改函数中的代码 在笔记本之外 并执行笔记本 则旧版本的函数将运行 当我记得时 ipython笔记本或firefox似乎正在缓存我可以用ctrl F
  • Python Byte 不打印二进制

    当我在 Python 中打印这样的程序时 x b francis 输出是b francis 如果字节在0 s and 1为什么它不打印出来 你似乎从根本上感到困惑 以一种非常常见的方式 数据本身是一个不同的概念表示 即当您尝试时所看到的pr
  • 页面滚动结束时的 jQuery 回调

    我有一个 div 标签 在 css 中设置为 overflow scroll 我有一个回调 应该在使用它找到的元素的滚动末尾调用 details scroll function if this height this get 0 scrol
  • 未找到 Android 方面,使用 Android Studio 0.2 进行编译时出现问题

    因此 遵循这篇 SO 帖子的建议 抱歉 我会在那里发表评论 希望我没有足够的声誉 Gradle 失败 无法确定要执行哪些任务 https stackoverflow com questions 17614477 gradle failure
  • vc++编译错误RC:致命错误RC1107:无效用法;使用RC /?为了

    我在构建 vc 项目时遇到以下错误 使用 Visual Studio 2010 RC 致命错误 RC1107 无效使用 使用RC 为了 我知道构建资源时存在一些问题 但如何获得确切的问题区域 Thanks 解决方案 在最后一个包含路径中添加
  • 简单的旋转悬停效果不起作用

    我正在尝试创建一个简单的效果 以便当我将鼠标悬停在最内圈时 两个外环旋转以创建很酷的效果 我认为这将是一项简单的任务 但我似乎无法弄清楚我做错了什么 当我将鼠标悬停在内圈上时 所有变化都是两个内圈向屏幕右下角移动 根本不旋转 我在这里缺少什
  • yii2 作曲家更新错误:版本字符串“2.*”无效

    我正在使用作曲家更新Yii2项目 但它正在退出但有异常 我已经将composer更新到最新版本 c6cc6dd6070871f4b198ed39f76dd8047c116b02 但它仍然不起作用 Importing tag v2 0 2 2
  • 何时在 C++ 中使用指针

    我刚刚开始学习C 中的指针 我不太确定何时使用指针 何时使用实际对象 例如 在我的一项作业中 我们必须构造一个 gPolyline 类 其中每个点都由一个 gVector 定义 现在 我的 gPolyline 类变量如下所示 private
  • 如何在索引列的查询中使用限制而不扫描所有行?

    这是我的桌子 在我的桌子上 Clustering key 主键和自增量 ID 索引栏 Data 文本数据类型列 Position 索引栏 维持顺序Data 我的表有 90 000 行 内容相同ID等于 5 我想要前 3 行ID等于 5 我的
  • 如何使用 Twitter Bootstrap 2 获得 16 列响应式布局?

    我从各种论坛帖子中收到混合信号 它是否通过更改而本地存在 Default 940px grid gridColumns 12 gridColumnWidth 60px gridGutterWidth 20px gridRowWidth gr
  • 如何向 cats-effect 的资源添加正确的错误处理

    我正在尝试使用纯功能性方式获取一些基本文件 IO 写 读 猫效应 https typelevel org cats effect 关注后this https typelevel org cats effect tutorial tutori
  • SNS 到 Lambda 与 SNS 到 SQS 到 Lambda

    如果有人可以帮助解释 我想了解我的工作流程中是否需要 SQS 在我的应用程序中 当采取操作时 它会将信息提交到 SNS 主题 该主题调用 Lambda 进行一些处理 这效果很好 当我在线研究时 似乎人们也在这个堆栈中使用 SQS 其中 SN