【发布时间】:2023-01-23 11:08:27
【问题描述】:
我正在尝试开发一个 Lambda API 来与 DynamoDB 交互,但我的本地测试设置有问题。
我正在使用 AWS SAM 进行开发,但出于某种原因,我的本地 API 服务器(使用 sam local start-api)无法连接到在 Docker 中运行的 DynamoDB Local 实例。我已经能够使用 AWS CLI 调用 DynamoDB 本地端点 http://localhost:8000,但是据我所知,由于网桥,我需要使用端点的容器名称。
这是我得到的错误:
"errorMessage":"Inaccessible host: `ddb-local' at port `undefined'. This service may not be available in the `localhost' region.
这是我正在使用的配置:
docClient = new dynamodb.DocumentClient({
accessKeyId: "0600k",
secretAccessKey: "k3hwkb",
region: "localhost",
endpoint: "http://ddb-local/:8000",
});
这是 docker-compose.yml:
version: '3.8'
services:
dynamodb-local:
command: "-jar DynamoDBLocal.jar -sharedDb -optimizeDbBeforeStartup -dbPath ./data"
image: "amazon/dynamodb-local:latest"
container_name: ddb-local
ports:
- "8000:8000"
volumes:
- "./docker/dynamodb:/home/dynamodblocal/data"
working_dir: /home/dynamodblocal
如何成功连接这两个服务?
【问题讨论】:
标签: amazon-web-services docker amazon-dynamodb local