amazon-web-services - 是否可以在将项目添加到 SQS 队列时触发 AWS Fargate 任务?
问题描述
为了澄清起见,我要做的是在特定队列中有项目时触发 Fargate 任务。我已经使用本教程来了解我所处的位置。这工作正常,但我遇到的问题是每个文件上传(s3 存储桶的结构是 s3_bucket_name/{unknown_name}/known_file_names)导致任务被触发,我只希望/需要每个 {unknown_name} 触发一次. 此后,我更改了配置以在检测到 test_file.txt 文件时将项目添加到队列中。是否可以在这样的队列上触发 Fargate 任务?如果是这样,怎么做?
解决方案
SQS 不会触发或“推送”消息给任何东西。正如评论中提到的,AWS Lambda 有一个 SQS 集成,它可以自动为您轮询 SQS 并触发一个带有新消息的 Lambda 函数,您可以使用它来创建您的 Fargate 任务。
但是,我建议您像这样重构您的 Fargate 任务:
- 重新配置容器中运行的代码以轮询 SQS 队列中的消息。
- 将您的任务作为 ECS 服务运行。
- 配置 ECS 服务自动缩放以根据 SQS 队列的深度启动任务实例。
推荐阅读
- spring-cloud - 更改spring cloud gateway中调用的实际URL
- php - 为什么 PHPMailer 无法连接到我的 SMTP 服务器
- python - FileNotFoundError,但文件确实存在
- node.js - 为什么 nodejs async-await 在与 api 调用配对时会返回随机顺序?
- rust - 如何访问从链下工作人员发送到托盘的信息并将其发送回链 Substrate Pallet V2
- javascript - 如何通过单击将按钮中的值添加到文本框中?
- amazon-rds - Aurora MySQL 1.* 是否即将报废?
- r - 绘制圣安东尼奥城市公园边界
- python - Mac OS 11.4 Big Sur - 修复 /System/Library/Frameworks/Python.framework/Versions/2.7 中的 python 加密包
- javascript - Vue 3 无效的 VNode 类型