Amazon Simple Queue Service logo

Amazon Simple Queue Service

Amazon Simple Queue Service

正常免费开源cloudAmazon Web Services62· JavaScript· MIT

Amazon SQS 是 AWS 托管的分布式消息队列,提供"至少一次"投递的标准队列与"恰好一次"的 FIFO 队列。

访问站点 ↗源码 ↗健康巡检 9 小时前
适合什么时候用

无需运维,自动扩展到任意 QPS

先注意什么

Standard 队列只保证至少一次,可能重复

第一步先查

AWS SDK 调 SQS.createQueue 创建队列,sendMessage 发送,receiveMessage 拉取,处理完调 deleteMessage 删除。Lambda trigger 可省去主动 poll。

认证
api_key
CORS
不支持
HTTPS
注册
需要
延迟
11 ms
协议
REST
计费
paid
Stars
62

可用率 · 30 天窗口

巡检: 1可用率: 100%平均延迟: 11ms

GitHub 活跃度

62JavaScriptMIT17 未关闭 issue上次提交 110 天前
01

关于这个 API

SQS 是 AWS 最早的消息队列服务(2006)。它把"应用 A 发消息、应用 B 异步处理"这个老问题用全托管方式解决——不用部署 RabbitMQ / Kafka,也不用关心高可用与扩展。Standard 队列吞吐近乎无限,至少投递一次,消息顺序不保证;FIFO 队列保证有序与精确一次,吞吐量较低。

关键概念是 visibility timeout:消费者收到消息后这条消息暂时对其他消费者不可见。如果消费者按时调 deleteMessage 就成功消费;否则超时后重新可见,由其他消费者重试。这套机制让"失败自动重投"成为内建能力。结合 dead-letter queue 处理屡试不成的毒消息,构成生产级异步处理框架。常和 Lambda 配对:Lambda 自动 poll SQS 并触发函数,是 serverless 异步处理的最常见模式。

02

你可以做什么

  • 1解耦微服务,让生产者与消费者独立扩展
  • 2缓冲突发流量保护后端
  • 3触发 Lambda 异步处理批量事件
  • 4搭建任务分发系统
03

优劣对比

优点

  • 无需运维,自动扩展到任意 QPS
  • visibility timeout 让消费者失败自动重投
  • FIFO 队列保证有序与去重

注意事项

  • Standard 队列只保证至少一次,可能重复
  • 消息大小上限 256KB(更大需走 S3 + 消息引用)
  • FIFO 限速 3000 msg/s(带 batch 可到 30000)
04

示例请求

通用模板 — 实际 endpoint 请查阅文档替换 <endpoint>。
curl https://github.com/mermade/aws2openapi/<endpoint> \
  -H "Authorization: Bearer $API_KEY"
# Some providers use X-Api-Key instead — verify in the docs.
05

快速开始

AWS SDK 调 SQS.createQueue 创建队列,sendMessage 发送,receiveMessage 拉取,处理完调 deleteMessage 删除。Lambda trigger 可省去主动 poll。

06

常见问题

SQS 免费档多少?+

永久每月 100 万次请求免费。超出标准队列约 $0.40/百万次请求。

Standard 和 FIFO 选哪个?+

需要有序或去重选 FIFO;其他情况下 Standard 吞吐更高更便宜。

消息最大多大?+

256KB。更大的需把内容放 S3 再发引用,Extended Library 可自动化此流程。

07

技术细节

CORS: NoHTTPS: Yes注册: Yes开源: Yes
认证方式
api_key
计费
paid
协议
REST
SDK
python, javascript, java, go, ruby, csharp
响应时间
11 ms
上次巡检
2026/5/12 07:36:34
08

接口端点

从 OpenAPI spec 自动解析。显示 12 / 40 个未弃用端点。

GET
/{AccountNumber}/{QueueName}/#Action=AddPermission
Label:query*AWSAccountIds:query*Actions:query*AccountNumber:path*QueueName:path*+2 更多
GET
/{AccountNumber}/{QueueName}/#Action=ChangeMessageVisibility
ReceiptHandle:query*VisibilityTimeout:query*AccountNumber:path*QueueName:path*Action:query*+1 更多
GET
/{AccountNumber}/{QueueName}/#Action=ChangeMessageVisibilityBatch
Entries:query*AccountNumber:path*QueueName:path*Action:query*Version:query*
GET
/{AccountNumber}/{QueueName}/#Action=DeleteMessage
ReceiptHandle:query*AccountNumber:path*QueueName:path*Action:query*Version:query*
GET
/{AccountNumber}/{QueueName}/#Action=DeleteMessageBatch
Entries:query*AccountNumber:path*QueueName:path*Action:query*Version:query*
GET
/{AccountNumber}/{QueueName}/#Action=DeleteQueue
AccountNumber:path*QueueName:path*Action:query*Version:query*
GET
/{AccountNumber}/{QueueName}/#Action=GetQueueAttributes
AttributeNames:queryAccountNumber:path*QueueName:path*Action:query*Version:query*
GET
/{AccountNumber}/{QueueName}/#Action=ListDeadLetterSourceQueues
NextToken:queryMaxResults:queryAccountNumber:path*QueueName:path*Action:query*+1 更多
GET
/{AccountNumber}/{QueueName}/#Action=ListQueueTags
AccountNumber:path*QueueName:path*Action:query*Version:query*
GET
/{AccountNumber}/{QueueName}/#Action=PurgeQueue
AccountNumber:path*QueueName:path*Action:query*Version:query*
GET
/{AccountNumber}/{QueueName}/#Action=ReceiveMessage
AttributeNames:queryMessageAttributeNames:queryMaxNumberOfMessages:queryVisibilityTimeout:queryWaitTimeSeconds:query+5 更多
GET
/{AccountNumber}/{QueueName}/#Action=RemovePermission
Label:query*AccountNumber:path*QueueName:path*Action:query*Version:query*

另有 28 个端点未显示,详见 OpenAPI spec。

09

标签

10

更多来自 Amazon Web Services 的 API