AWS SQS FIFO - 如何一次获取超过 10 条消息?

2023-11-21

目前我们想要拉下一个整个 FIFO 队列,并处理内容,如果有任何问题,将消息释放回队列中。

问题是,目前 AWS 只给我们 10 条消息,并且不会再给我们 10 条消息(这是在 SQS 中获取批量消息的方式,多个 10 条最大消息请求),直到我们删除或释放前 10 条消息。

但我们需要获得 10 个以上。这不可能吗?我们知道我们可以将 group_id 设置为随机字符串,这样就可以处理更多内容,但顺序无法保证,这违背了 FIFO 的目的。


我设法重现了您的结果——我可以检索 10 条消息,但再次运行相同的命令不会返回另一组消息。

相关文档似乎是:

虽然消息带有特定MessageGroupId是不可见的,不再有属于同一个的消息MessageGroupId返回,直到可见性超时到期。您仍然可以接收其他人的消息MessageGroupId只要它也是可见的。

我怀疑(只是一个理论!)这是为了保留消息的顺序...如果客户端请求一组消息并且它们仍在处理中,则消息有可能返回到队列。因此,在删除原始消息或超过其可见性超时之前,不会提供更多消息。

这只是 FIFO 队列的一种行为。

看来你需要接收并删除所有消息以便能够访问所有这些内容。我会建议:

  • 接收一条(或多条)消息。
  • 处理它。如果一切正常,请删除该消息。
  • 如果出现问题,将消息推送至新队列.
  • 一旦队列为空,您需要从新队列中读取并将它们发送回原始队列(这应该保留顺序)。

如果您经常需要 Amazon SQS 提供的更多功能,您可以考虑使用Amazon MQ – ActiveMQ 的托管消息代理服务。它具有更多功能(但相应地不那么“简单”)。

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

AWS SQS FIFO - 如何一次获取超过 10 条消息? 的相关文章

  • 无法从 EMR 中运行的 Spark 应用程序删除 AWS SQS 消息

    我正在 AWS EMR 集群中运行 Apache Spark 应用程序 该应用程序从 AWS SQS 检索消息 根据消息数据进行一些计算 然后删除每条消息 我正在具有 NAT 实例的私有子网上的 VPC 中运行 EMR 集群 我面临的问题是
  • 亚马逊 API 安全与 API 密钥?

    我已经在亚马逊 API 网关上部署了我的 REST API 并且我面前有一个存在安全问题的场景 我正在为所有 api 请求使用 api 密钥 我想知道该 api 密钥是否以某种方式公开 并且我们知道已发布的应用程序正在使用相同的 api 密
  • Lambda 是否有必要在处理后从 SQS 队列中删除消息?

    我正在此处查看 AWS SQS 文档 https docs aws amazon com sdk for net v3 developer guide ReceiveMessage html receive sqs message http
  • 如何在部署应用程序 Elastic beanstalk 上修改 NGINX 配置

    我需要向 nginx conf 添加一些位置 以便环境 URL 指向 app php 我已经使用 vi 修改了该文件 重启 NGINX 就可以了 但我需要在使用时自动加载此配置电子部署 我已阅读并尝试过 https docs aws ama
  • AWS Cognito 作为网站的 Django 身份验证后端

    我对 Cognito 的理解是 它可以用来代替本地 Django 管理数据库来对网站的用户进行身份验证 然而 我没有找到任何带有通过 Cognito 登录屏幕的基本 Hello World 应用程序的详细示例 如果有人可以发布一篇文章 逐步
  • QuickSight - 随着时间的推移活动事件的计数[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我在 QuickSight 中有一个事件数据集 其中每条记录都有两个日期字段 开始日期和结束日期 如果 T 介于 startDate
  • 自动提取S3中的.gz文件

    我正在尝试找到一种解决方案 以便在 ALB 日志文件自动从 ALB 上传到 S3 时提取 gz 格式的 ALB 日志文件 我的桶结构是这样的 log bucket alb 1 AWSLogs account number elasticlo
  • AWS ACM 证书管理 删除正在使用的证书

    我想删除 AWS Certificate Manager 中正在使用的 AWS 证书 为此 我使用建议的 AWS CLI 和以下命令 aws iam delete server certificate server certificate
  • 使用 Ruby 获取 AWS 区域名称

    我正在为 AWS 开发 Rails 应用程序 并希望为区域名称创建下拉菜单 例如 us east 1 等 如果有人已经创建了 gem 来获取它们 我想使用它 有人知道这样的 gem 或有用的 API 吗 适用于 Ruby 的 AWS 开发工
  • 如何使用 aws-cli 访问 Google Cloud Storage 存储桶

    我可以访问 aws 和 Google Cloud Platform 是否可以执行以下操作 使用 aws cli 列出 Google Cloud Storage 存储桶 使用 aws cli 将 CSV 文件放入 Google Cloud S
  • 如何使用 PHP SDK 在 AWS SES 发送的电子邮件中实现 List-Unsubscribe 标头

    我尝试使用 AWS PHP SDK 添加自定义标头 以便可以实现 List unsubscribe 标头 问题是我找不到任何地方如何实现它 我已阅读文档但什么也没有 http docs aws amazon com aws sdk php
  • 如何让AWS Lambda停止执行?

    我有一个AWSLambda 函数执行操作Kinesis Firehose 该函数使用退避机制 此时我认为这是浪费我的计算时间 但无论如何 在我的代码中的某个时刻 我希望执行失败 我应该使用什么命令来停止执行 附注 我发现有这样的命令 con
  • 使用 python 写入 aws lambda 中的 /tmp 目录

    Goal 我正在尝试将 zip 文件写入 python aws lambda 中的 tmp 文件夹 因此我可以在压缩之前提取操作 并将其放入 s3 存储桶中 Problem 操作系统 Errno30 只读文件系统 这段代码在我的计算机上进行
  • 如何连接两个 Ec2 实例以便它们可以相互通信[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想将两个 EC2 实例相互连接 以便它们可以相互通信 第一个将安装 Wordpress 第二个将配置数据库 例如 Mysql Mar
  • 为什么从浏览器上传到 S3 时出现 403 错误?

    因此 我尝试查看此处之前的答案 但似乎没有任何效果 我正在使用 Dropzone 它似乎发出 OPTIONS 请求来获取所有允许的 CORS 相关信息 但它似乎没有正确返回 因此 通过查看 Chrome 开发工具 我有以下请求标头 Host
  • AWS SES模板html部分是多行

    我正在使用 AWS SES 按照文档发送电子邮件https docs aws amazon com ses latest DeveloperGuide send personalized email api html https docs
  • S3.getSignedUrl 接受多种内容类型

    我正在使用react s3 uploader节点包 它接受一个signingUrl用于获取用于将对象存储到 S3 中的signedUrl 目前 我已经配置了一个 lambda 函数 带有 API 网关端点 来生成此signedUrl 经过一
  • 在 S3 中迭代对象时出现“ConnectionPoolTimeoutException”

    我已经使用 aws java API 一段时间了 没有遇到太多问题 目前我使用的是库 1 5 2 版本 当我使用以下代码迭代文件夹内的对象时 AmazonS3 s3 new AmazonS3Client new PropertiesCred
  • 亚马逊 SQS 标签

    我们正在尝试在两个 AWS 应用程序之间设置 Amazon SQS 管理层希望跟踪与所有亚马逊资源相关的成本 是否可以标记 Amazon Simple Queue Service 资源 SQS 现在支持此功能 https aws amazo
  • AWS 无法从 START_OBJECT 中反序列化 java.lang.String 实例

    我创建了一个 Lambda 函数 我想在 API 网关的帮助下通过 URL 访问它 我已经把一切都设置好了 我还创建了一个application jsonAPI Gateway 中的正文映射模板如下所示 input input params

随机推荐

  • “找不到 Python 可执行文件...” - npm install 挂起

    我正在使用 npm install 下载并编译我编写的小型 Node js 应用程序的所有依赖项 我正在使用的 package json 文件是正确的并且包含所有需要的信息 要安装的软件包之一具有 node gyp 作为依赖项 因此我之前安
  • Spring Boot webjars:无法通过 webjar 加载 javascript 库

    我有一个 Spring Boot 我使用 Thymeleaf 进行模板化 项目 我想在其中使用一些 jQuery 库 不幸的是 webjar 根本没有加载 我尝试了很多配置 但都失败了 这是我的 HTML 页面的代码片段
  • 如何删除 VSTS 中的共享步骤

    我正在尝试以编程方式删除共享步骤 我正在尝试导出 导入 并且正在生成大量步骤 并且希望能够删除它们 而不是手动删除 一次一个 与所有 隐藏 类别工作项类型一样 无法使用删除工作项 API 删除共享步骤 测试用例 测试计划和测试套件都有特殊的
  • 使用 Docker 驱动程序启动 Minikube 并将其绑定到主机网络

    我想知道是否可以将我的 minikube 网络绑定到我的host网络 I tried minikube start memory 10000 cpus 4 vm driver docker kubernetes version v1 19
  • LinkedIn OAuth2 授权服务器遇到意外情况

    对于一些尝试通过移动设备在 Web 视图中链接的 OAuth2 API 进行身份验证的用户 我们遇到了这个奇怪的错误 https www linkedin com uas oauth2 authorization response type
  • 尝试运行 npm install 或yarn 时出现 Zlib 错误

    我刚刚从 GitHub 上的库中提取了一些内容 我正在使用 Windows 计算机在 VSCode 中进行编码 代码没有问题 尽管当我尝试运行 npm install 或yarn install 来获取node modules 和yarn
  • 从 HTML 中过滤 JavaScript

    我有一个富文本编辑器 可以将 HTML 传递到服务器 然后该 HTML 会显示给其他用户 我想确保该 HTML 中没有 JavaScript 有什么办法可以做到这一点吗 另外 如果有帮助的话 我正在使用 ASP NET 唯一的方法是ensu
  • 将Lua嵌入到C++中

    我想编写一个可以在执行期间交互 调用 Lua 脚本的 C 程序 该程序的一个关键概念是完全的平台独立性 但我似乎无法找到真正提供这种功能的 Lua 构建 到目前为止我发现的 Lua 构建要么基于环境变量 要么基于特定的库 例如 lib dl
  • 在 PHP 的类属性中存储闭包函数

    好的 我有下面的代码 你可以看到它在这里运行http co
  • 子进程在父进程之后启动

    我有一个简单的代码来测试fork 功能 include
  • 如何使用 Java 以编程方式强制停止 Android 应用程序?

    如何使用 Java 强制停止应用程序 我正在尝试构建一个内存清理器 可以帮助清理后台进程 我知道有一种方法可以杀死应用程序的进程 但是当您进入正在运行的列表时 即使您杀死了它 该应用程序仍然存在 我尝试过很多类似的内存清理应用程序 只有其中
  • Python 3.x 的机械化

    有什么方法可以将 Mechanize 与 Python 3 x 一起使用吗 或者有什么可以在 Python 3 x 中工作的替代品吗 我已经搜索了几个小时 但没有找到任何东西 我正在寻找如何使用 Python 登录该网站的方法 但该网站使用
  • 是否可以查看Class文件的字节码? [复制]

    这个问题在这里已经有答案了 可能的重复 有没有java类文件 字节码编辑器来编辑指令 Java源代码被编译成字节码 实际上是在类文件中 是否可以查看已编译类的字节码 如果可以的话可以编辑吗 有没有可用的 eclipse 插件 是的 您可以使
  • 单个函数的两个可变参数模板?

    在 C 11 中 单个函数是否可以有两个可变参数模板 如果没有 有没有一个技巧可以写这样的东西 template
  • 使用 AVX512 生成掩模的 BMI

    我受到这个链接的启发https www sigarch org simd instructions considered harmful 了解 AVX512 的性能 我的想法是可以使用 AVX512 掩码操作删除循环后的清理循环 这是我正在
  • 使用 AspNetSqlMembershipProvider 的站点出现“SQLExpress 数据库文件自动创建错误”,但连接字符串指向 SQL Server 2005

    我有一个ASP NET v2 0网站 不是 Web 应用程序 其根目录是公共的 但 Admin 子目录需要身份验证 有关设置的所有内容都非常通用 我使用了根 web config 中定义的连接字符串和标准AspNetSqlMembershi
  • 递增 Integer 变量不会影响引用同一对象的另一个变量

    我一直理解静态变量在被引用时共享一个实例 我想对此进行测试 但结果与我的预期不同 static Integer counter 0 static Integer test counter public static void main St
  • 算法:优化“平衡括号”

    有人向我提出了以下问题 给定字符串 中的 N 个不同的左大括号和右大括号 检查该字符串是否有匹配的大括号 如果大括号匹配则返回 true 否则返回 false 这是我想出的答案 function braceeql braces var le
  • 如何以编程方式“重新启动”Android应用程序[重复]

    这个问题在这里已经有答案了 我正在尝试在我的应用程序中创建 注销 功能 基本上 通过注销 应用程序数据应该被清除 我想做的是注销后 应用程序应该重新启动 以便可以再次输入凭据等 我遇到的问题是 在用户单击 注销 时 应用程序已经有 3 4
  • AWS SQS FIFO - 如何一次获取超过 10 条消息?

    目前我们想要拉下一个整个 FIFO 队列 并处理内容 如果有任何问题 将消息释放回队列中 问题是 目前 AWS 只给我们 10 条消息 并且不会再给我们 10 条消息 这是在 SQS 中获取批量消息的方式 多个 10 条最大消息请求 直到我