Could not connect to the endpoint URL (DynamoDB)
En bref — botocore n'a pas pu ouvrir de connexion vers l'endpoint DynamoDB qu'il a résolu. Presque toujours un mauvais --endpoint-url, DynamoDB Local non démarré, une région erronée/mal saisie produisant un nom d'hôte inexistant, ou aucun chemin réseau (hors ligne, VPC, groupe de sécurité). Pointe vers un endpoint joignable et confirme que quelque chose écoute.
Ce que ça signifie
botocore.exceptions.EndpointConnectionError: Could not connect to the
endpoint URL: "http://localhost:8000/"
# what the engine actually returns, reproduced against Amazon DynamoDB (live service, us-east-1):
connect ECONNREFUSED 127.0.0.1:9boto3/botocore construit l'URL de l'endpoint DynamoDB à partir de la région (ou de ton endpoint_url explicite), puis échoue à établir une connexion TCP/HTTP vers celle-ci. Contrairement à une erreur d'authentification ou de validation, la requête n'a jamais atteint un service en cours d'exécution. Cela apparaît à la fois face à DynamoDB Local (émulateur arrêté / mauvais port) et au vrai AWS (mauvais nom d'hôte de région ou réseau bloqué).
Pourquoi ça arrive
- DynamoDB Local n'est pas démarré — tu as passé
--endpoint-url http://localhost:8000mais l'émulateur n'est pas actif sur ce port (voir connexion refusée). - Mauvaise URL d'endpoint — une faute de frappe, un mauvais port, ou
httpslà où l'émulateur local serthttp. - Mauvaise région — une région mal orthographiée (
us-east-11) se résout en un nom d'hôte qui n'existe pas, donc la connexion ne peut être établie. - Aucun chemin réseau — hors ligne, ou trafic DynamoDB bloqué par un endpoint VPC, un groupe de sécurité ou une ACL réseau.
- Cross-conteneur / cross-hôte — depuis l'intérieur de Docker,
localhostest le conteneur lui-même, pas l'hôte ni le service DynamoDB Local.
Comment le corriger
- Confirme ce qui écoute à l'endpoint :
curl http://localhost:8000 # DynamoDB Local answers with a small response - Corrige l'URL de l'endpoint — hôte, port (
8000par défaut) et schéma (httppour Local) corrects. - Vérifie l'orthographe de la région pour le vrai AWS, et assure-toi d'avoir une route réseau (l'endpoint VPC / les règles du groupe de sécurité autorisent DynamoDB).
- Dans Docker, utilise le nom du service compose ou
host.docker.internalau lieu delocalhost(host.docker.internalse résout automatiquement dans Docker Desktop ; sur Linux Docker Engine, ajoute--add-host host.docker.internal:host-gateway). - Tu parles au vrai AWS ? Retire entièrement l'override
--endpoint-urlet laisse botocore construire l'endpoint régional correct.
Pointe DynoTable vers Local
DynoTable valide la connectivité avec Test Connection sur chaque profil dans
Settings → Profiles (Connecter un compte AWS). Pour
DynamoDB Local, mets l'endpoint http://localhost:8000 (ou :4566 pour LocalStack)
avec des identifiants factices — les mêmes valeurs que celles dont la CLI a besoin.
Appuie sur ⌘P pour changer de profil quand ton app utilise un autre port
que DynoTable. Guide :
Se connecter à DynamoDB Local et LocalStack.
Face au vrai AWS, une faute de frappe dans la chaîne de région produit un nom d'hôte
qui ne se résout pas — exactement la même forme d'EndpointConnectionError qu'un
port Local injoignable. Confirme avec aws sts get-caller-identity sur le profil
avant de déboguer des réglages propres à DynamoDB.
Erreurs liées
- Could not connect to DynamoDB Local (ECONNREFUSED) — l'équivalent Node/JS d'une connexion locale refusée.
- Missing region in config — aucune région, donc le SDK ne peut même pas construire d'endpoint.
- Apprends : Running DynamoDB Local · Connecting to DynamoDB Local / LocalStack
Sources
- Deploying DynamoDB locally on your computer — AWS DynamoDB Developer Guide (default port 8000, dummy credentials,
--endpoint-url) - DynamoDB local usage notes — AWS DynamoDB Developer Guide (setting the local endpoint;
--endpoint-urlrequired on every CLI command) - Error handling — Boto3 Developer Guide (
EndpointConnectionErroras a client-side botocore exception) docker run --add-host— Docker CLI reference (host.docker.internal/host-gatewayfor container-to-host connections)
Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.