
instructure/kinesis2sqsKinesis2Sqs是一个基于Ruby的Docker应用镜像,核心功能是从Kinesis流拉取消息并将其推送到SQS队列。该镜像主要用于开发环境,帮助模拟依赖Kinesis和SQS的Live Events消息系统,便于开发和测试相关应用功能。
适用于需要在本地开发或测试环境中模拟Kinesis到SQS消息流转的场景,帮助开发人员在不依赖AWS云服务的情况下,验证消息处理逻辑。
| 环境变量 | 说明 |
|---|---|
SLEEP_LENGTH | 消息拉取和推送的轮询间隔时间(秒),默认值未指定,需根据需求配置 |
AWS_REGION | AWS区域,如us-east-1 |
AWS_ACCESS_KEY | AWS访问密钥(开发环境可使用模拟密钥) |
AWS_SECRET_ACCESS_KEY | AWS密钥(开发环境可使用模拟密钥) |
AWS_KINESIS_ENDPOINT | Kinesis服务端点,对接本地模拟服务时填写如[***] |
AWS_KINESIS_STREAM_NAME | 要拉取消息的Kinesis流名称,如quiz-live-events |
AWS_SQS_ENDPOINT | SQS服务端点,对接本地模拟服务时填写如[***] |
AWS_SQS_QUEUE_NAME | 要推送消息的SQS队列名称,如queue1 |
以下是完整的docker-compose.yml配置示例,包含Kinesis2Sqs服务及依赖的Kinesis、SQS模拟服务:
yamlversion: '3' # 根据实际需求调整compose版本 services: # Kinesis2Sqs服务:拉取Kinesis消息并推送到SQS kinesis2sqs: image: instructure/kinesis2sqs environment: SLEEP_LENGTH: 5 # 每5秒轮询一次 AWS_REGION: us-east-1 AWS_ACCESS_KEY: x # 开发环境模拟密钥,无需真实密钥 AWS_SECRET_ACCESS_KEY: x # 开发环境模拟密钥,无需真实密钥 AWS_KINESIS_ENDPOINT: [***] # 对接本地Kinesis模拟服务 AWS_KINESIS_STREAM_NAME: quiz-live-events # 目标Kinesis流名称 AWS_SQS_ENDPOINT: [***] # 对接本地SQS模拟服务 AWS_SQS_QUEUE_NAME: queue1 # 目标SQS队列名称 depends_on: # 依赖kinesis和elasticmq服务启动后再启动 - kinesis - elasticmq # Kinesis模拟服务:使用kinesalite提供本地Kinesis服务 kinesis: image: instructure/kinesalite ports: - "4567:4567" # 暴露4567端口供本地访问 # SQS模拟服务:使用elasticmq提供本地SQS服务 elasticmq: image: instructure/elasticmq ports: - "9324:9324" # 暴露9324端口供本地访问
kinesis服务:基于kinesalite镜像,提供本地Kinesis模拟服务,端口4567elasticmq服务:基于elasticmq镜像,提供本地SQS模拟服务,端口9324kinesis2sqs服务:通过环境变量配置连接信息,依赖前两个服务,实现消息从Kinesis到SQS的转发





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务