Таблица Dyanmoddb правильно создана (видно в Web LocalStack + Awslocal Dynamodb List Tables в контейнере Localstack-main) < /p>
В Localstack-main (в Eu-West-3) < /p>
Код: Выделить всё
{
"TableNames": [
"leads",
"dealers"
]
}
< /code>
В моей Lambda я пытаюсь: < /p>
import os,boto3
url = os.getenv("LOCALSTACK_HOSTNAME") #=some ip
port = os.getenv("EDGE_PORT") #verified = 4566
localstack_endpoint =f"http://{url}:{port}"
dynamodb = boto3.resource("dynamodb", region_name="eu-west-3",endpoint_url=localstack_endpoint)
table = dynamodb.Table("dealers")
< /code>
Я получаю невозможные операции в несуществующей таблице. Я то же самое, заменив URL на localhost.localstack.cloud.replacing с Localhost Я просто не получаю подключения < /p>
dynamodb = boto3.resource("dynamodb", region_name="eu-west-3", endpoint_url=localstack_endpoint)
tables = list(dynamodb.tables.all())
print(tables)
< /code>
\ >>> [] < /p>
Вот мой Docker-Compose < /p>
version: "3.8"
services:
localstack:
container_name: "${LOCALSTACK_DOCKER_NAME:-localstack-main}"
image: localstack/localstack:4.0.3
ports:
- "4566:4566" # LocalStack Gateway
- "4510-4559:4510-4559" # external services port range
environment:
# LocalStack configuration: https://docs.localstack.cloud/references/configuration/
- DEBUG=${DEBUG:-0}
- AWS_DEFAULT_REGION=eu-west-3
volumes:
- "${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"
Подробнее здесь: https://stackoverflow.com/questions/794 ... localstack