Could not connect to the endpoint URL (DynamoDB)

TL;DR — botocore, çözdüğü DynamoDB uç noktasına bir bağlantı açamadı. Neredeyse her zaman yanlış bir --endpoint-url, çalışmayan DynamoDB Local, var olmayan bir ana bilgisayar adı üreten hatalı/yanlış yazılmış bir bölge ya da ağ yolu olmaması (çevrimdışı, VPC, güvenlik grubu). Ulaşılabilir bir uç noktayı gösterin ve bir şeyin dinlediğini doğrulayın.

Ne anlama gelir

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:9

boto3/botocore, DynamoDB uç nokta URL'sini bölgeden (veya açık endpoint_url'nizden) oluşturur ve sonra ona bir TCP/HTTP bağlantısı kurmayı başaramaz. Bir kimlik doğrulama veya doğrulama hatasının aksine, istek asla çalışan bir hizmete ulaşmadı. Hem DynamoDB Local'e (emülatör kapalı / yanlış port) hem de gerçek AWS'ye (hatalı bölge ana bilgisayar adı veya engellenmiş ağ) karşı belirir.

Neden olur

  • DynamoDB Local çalışmıyor--endpoint-url http://localhost:8000 ilettiniz ama emülatör o portta çalışmıyor (bağlantı reddedildiye bakın).
  • Yanlış uç nokta URL'si — bir yazım hatası, yanlış port ya da yerel emülatör http sunarken https.
  • Hatalı bölge — yanlış yazılmış bir bölge (us-east-11) var olmayan bir ana bilgisayar adına çözümlenir, bu yüzden bağlantı kurulamaz.
  • Ağ yolu yok — çevrimdışı ya da DynamoDB trafiği bir VPC uç noktası, güvenlik grubu veya ağ ACL'si tarafından engelleniyor.
  • Kapsayıcılar arası / ana bilgisayarlar arası — Docker içinden localhost, ana bilgisayar ya da DynamoDB Local hizmeti değil, kapsayıcının kendisidir.

Nasıl düzeltilir

  1. Uç noktada neyin dinlediğini doğrulayın:
    curl http://localhost:8000    # DynamoDB Local answers with a small response
  2. Uç nokta URL'sini düzeltin — doğru ana bilgisayar, port (varsayılan 8000) ve şema (Local için http).
  3. Gerçek AWS için bölge yazımını kontrol edin ve bir ağ yolunuz olduğundan emin olun (VPC uç noktası / güvenlik grubu kuralları DynamoDB'ye izin verir).
  4. Docker'da, localhost yerine compose hizmet adını veya host.docker.internal'ı kullanın (host.docker.internal Docker Desktop'ta otomatik çözümlenir; Linux Docker Engine'de --add-host host.docker.internal:host-gateway ekleyin).
  5. Gerçek AWS ile mi konuşuyorsunuz? --endpoint-url geçersiz kılmasını tamamen bırakın ve botocore'un doğru bölgesel uç noktayı oluşturmasına izin verin.

DynoTable’ı Local’e yönelt

DynoTable her profildeki Bağlantıyı Test Et ile bağlantıyı doğrular. Ayarlar → Profiller (Connect an AWS account). için DynamoDB Yerel, uç noktayı http://localhost:8000 (veya LocalStack için :4566) ayarlayın yer tutucu kimlik bilgileriyle - CLI'nin ihtiyaç duyduğu değerlerle aynı. ⌘P tuşuna basın Uygulamanız DynoTable'dan farklı bir bağlantı noktası kullandığında profilleri değiştirmek için. Kılavuz: DynamoDB Local ve LocalStack'e bağlanma.

Gerçek AWS'ye karşı, bölge dizesindeki bir yazım hatası, geçerli olmayan bir ana bilgisayar adı üretir. çözümleme — erişilemeyen bir Yerel bağlantı noktasıyla aynı EndpointConnectionError şekli. Hata ayıklamadan önce profilde aws sts get-caller-identity ile onaylayın DynamoDB-özel ayarlar.

İlgili hatalar

Kaynaklar

En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.

Console olmadan DynamoDB ile çalış

DynamoDB’nin çalıştıramadığı gerçek SQL’i çalıştıran hızlı bir DynamoDB masaüstü istemcisi — JOINs, GROUP BY, toplamalar — görsel düzenleme ve kendi Bedrock anahtarların üzerinde bir yapay zekâ aracısıyla.

30 günlük ücretsiz deneme, kredi kartı yok — ardından süre sınırı olmayan Ücretsiz plan.