【发布时间】:2019-10-09 22:13:53
【问题描述】:
我有一个烧瓶应用程序,它需要在命中端点时与 SQS 服务进行交互。
我在本地使用 docker image sukumarporeddy/sqs:fp 模拟 SQS 服务,其基本镜像是 https://github.com/vsouza/docker-SQS-local,并在配置中添加了两个队列。
我需要从另一个作为 app_service 运行的 app 访问此服务。这两个服务使用 docker-compose.yml 文件运行,其中我提到了两个服务。
app_service
sqs_service
在构建 app 映像时,我将环境变量设置为以 QUEUE_ENDPOINT=http://sqs_service:9324 访问 sqs_service。但是当我尝试访问 sqs_service 应用程序时,它说队列端点无效。
我正在使用 boto3 连接到本地 sqs_service。
boto3.client('sqs', endpoint_url=os.getenv("QUEUE_ENDPOINT"), region_name='default')
这是 docker-compose.yml 文件。
app_service:
container_name: app_container
restart: always
image: app
build:
context: ./dsdp
dockerfile: Dockerfile.app.local
ports:
- "5000:5000"
env_file:
- ./local_secrets.env
command: flask run --host=0.0.0.0 --port 5000
sqs_service:
container_name: sqs_container
image: sukumarporeddy/sqs:fp
ports:
- "9324:9324"
local_secrets.env:
QUEUE_ENDPOINT=https://sqs_service:9324
FEEDER_QUEUE_URL=https://sqs_service:9324/queue/feeder
PREDICTION_QUEUE_URL=https://sqs_service:9324/queue/prediction
AWS_ACCESS_KEY_ID=''
AWS_SECRET_ACCESS_KEY=''
我在尝试向本地运行的 SQS 服务发送消息时遇到错误。
值错误
ValueError:无效端点:https://sqs_service:9324
我在哪里犯错了?
【问题讨论】:
标签: docker flask docker-compose boto3 amazon-sqs