AWSlocal 错误:通过 localstack 调用 aws sqs 队列时出现 500 -(达到最大重试次数:4)

问题描述 投票:0回答:1

我是 Docker 和 AWS 的新手,但正在尝试做一个小项目。

目的是通过localstack从AWS SQS队列获取数据,在本地机器中进行一些转换并将其存储在Postgres数据库中。我陷入了从 AWS SQS 队列接收数据的第一步。

我设置了我的docker,通过 docker-compose.yml 文件提取了 localstack 和 postgres 的镜像。

从技术上讲,我应该能够访问我的 aws 队列并从中接收消息。但是,我相信我缺少一些非常简单的配置步骤或设置。救命!

版本: aws-cli/1.33.13 Python/3.10.11 Windows/10 botocore/1.34.131 docker --版本 Docker 版本 26.1.4,内部版本 5650f9b docker-compose --版本 Docker Compose 版本 v2.27.1-desktop.1

我通过“docker-compose up -d”启动了docker,并通过“docker-compose ps”检查了状态。

名称和图像, localstack-1、docker/localstack 和 postgres-1,docker/postgres

所以,从技术上来说,这意味着docker已经拉取了localstack镜像,其中有我的队列(或者我是这么理解的)。

awslocal sqs 列表队列

调用 ListQueues 操作时发生错误 (500)(达到最大重试次数:4):

我迷失了,我确信答案是一个显而易见的结果,但脑细胞已经离开了我。

I tried to create a new queue, 
**awslocal sqs create-queue --queue-name localstack-queue**

An error occurred (500) when calling the CreateQueue operation (reached max retries: 4):

**aws configure list**

      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None
access_key     ****************test shared-credentials-file
secret_key     ****************test shared-credentials-file
    region                us-east-1      config-file    ~/.aws/config

~~~~
I tried to check the logs of localstack, by 
**docker-compose logs localstack**  (Can't understand the issues in the logs )

docker-compose.yml: `version` is obsolete"
localstack-1  | Waiting for all LocalStack services to be ready
localstack-1  | 2024-06-22 16:32:31,754 CRIT Supervisor is running as root.  Privileges were not dropped because no user is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.
localstack-1  | 2024-06-22 16:32:31,764 INFO supervisord started with pid 15
localstack-1  | 2024-06-22 16:32:32,768 INFO spawned: 'infra' with pid 20
localstack-1  | 2024-06-22 16:32:33,771 INFO success: infra entered RUNNING state, process localstack-1  | 2024-06-22T16:32:36.098:INFO:hypercorn.error: Running on localstack-1  |
localstack-1  | 2024-06-22T16:33:54.059:WARNING:localstack.utils.server.http2_server: Error in proxy handler for request POST http://localhost:4566/: Operation detection failed. Missing Action in request for query-protocol service ServiceModel(sqs). 
.
.
.
localstack-1  |     raise ProtocolParserError(
localstack-1  | localstack.aws.protocol.parser.ProtocolParserError: Operation detection failed. Missing Action in request for query-protocol service ServiceModel(sqs).

The logs of my postgres is stable and ready for connections. 

Docker-compose.yml file: 
version: "3.9"
services:
  localstack:
    image: docker/localstack
    ports:
      - "4566:4566"
  postgres:
    image: docker/postgres
    ports:
      - 5432:5432
    environment:
      POSTGRES_PASSWORD: postgres
      POSTGRES_USER: postgres

docker docker-compose aws-cli amazon-sqs localstack
1个回答
0
投票

我也遇到同样的问题,请问你有解决办法了吗?

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.