Yerel ve Canlı DynamoDB için bir dynamodb-admin Alternatifi

dynamodb-admin, çoğu geliştiricinin DynamoDB Local ya da LocalStack başlattığında uzandığı ücretsiz, MIT lisanslı web GUI'sidir. Onu küçük bir Node sunucusu olarak çalıştırırsınız (npm install -g dynamodb-admin), bir uç noktaya yöneltirsiniz ve yerel tablolarınıza göz atarsınız. O tek işte mükemmeldir. Bu sayfa, onun dışına çıktığınız — ve yerel ve canlı AWS tablolarını filtreleme, satır içi düzenleme ve bir SQL Workbench ile işleyen bir istemci istediğiniz an içindir. DynoTable, o Workbench etrafında inşa edilmiş çapraz platform bir masaüstü DynamoDB istemcisidir.

dynamodb-admin'in iyi olduğu şey

dynamodb-admin'in README'si onu açıkça tanımlar: "DynamoDB Local, dynalite, localstack vb. için bir GUI" (README). Yerel bir uç noktaya karşı çalışırken doğru araçtır:

  • Ücretsiz ve açık kaynak (MIT), bu yüzden satın alınacak bir şey ve lisanslanacak bir şey yoktur (lisans).
  • Sıfır kurulum sürtünmesinpm install -g dynamodb-admin ve localhost:8001 (varsayılan --port) üzerinde, varsayılan olarak http://localhost:8000'e yöneltilmiş bir web arayüzünüz olur (README).
  • Bir Docker imajı — resmi aaronshaf/dynamodb-admin Docker Hub'daki imaj, amazon/dynamodb-local'in yanında bir docker-compose'a doğrudan düşer. HOST, PORT, BASE_PATH ve DYNAMO_ENDPOINT ortam değişkenlerini okur (README), böylece konteynerleştirilmiş bir geliştirme yığınına temizce bağlanır.
  • Tabloları oluşturun, göz atın ve düzenleyin — geliştirirken AWS Konsoluna dokunmadan basit bir web arayüzü aracılığıyla.

Varsayılan olarak accessKeyId / secretAccessKey'i key ve secret sahte değerlerine ve bölgeyi us-east-1'e ayarlar (README) — ki bu size tam olarak ne için inşa edildiğini söyler: yerel geliştirmenin iç döngüsü.

dynamodb-admin canlı AWS DynamoDB'ye bağlanabilir mi?

Teknik olarak evet — ve yerele özel bir admin arayüzü yetmediğinde insanların denediği en yaygın şey budur. Uç noktayı geçersiz kılar ve gerçek kimlik bilgileri sağlarsınız:

# dynamodb-admin'i localhost yerine gerçek bir bölgeye yönelt
AWS_REGION=eu-west-1 \
AWS_ACCESS_KEY_ID=AKIA... \
AWS_SECRET_ACCESS_KEY=... \
dynamodb-admin --dynamo-endpoint=https://dynamodb.eu-west-1.amazonaws.com

Ya da sahte key/secret enjekte etmeyi bırakıp bunun yerine standart AWS SDK kimlik bilgisi çözümlemesine geri dönmesi için --skip-default-credentials geçirin (README).

Bu işe yarar, ama mutlu yolun dışındadır. dynamodb-admin'in belgelenmiş seçenekleri uç nokta, ana bilgisayar, port, taban yol ve bir kimlik bilgisi anahtarıdır (README) — bağlantı yöneticisi, profil seçici, SSO yoktur. Hesap ya da bölge değiştirmek, Node sürecini durdurmak ve farklı ortam değişkenleriyle yeniden başlatmak demektir. Bir prod tablosuna ara sıra göz atmak için iyidir; birkaç hesap genelinde günlük bir sürücü olarak sürtünmedir.

dynamodb-admin nerede durur

Sınır, işiniz tek bir yerel tablonun ötesine geçtikçe ortaya çıkar:

  • Canlı AWS tabloları mutlu yolun dışındadır. Yukarıdaki gibi — onu gerçek bir bölgeye yöneltebilirsiniz, ama belgelenmiş ve varsayılan olarak DynamoDB Local etrafındadır, kaydedilmiş bağlantılar ya da profil değiştirme olmadan.
  • İlişkisel sorgu yok. Herhangi bir görsel tarayıcı gibi, bir tabloda öğeleri listeler ve düzenler. İki tabloyu birleştiremez, GROUP BY yapamaz ya da bir COUNT / SUM hesaplayamaz, çünkü DynamoDB'nin altta ilişkisel bir sorgu motoru yoktur. dynamodb-admin bir tane eklemez — ve PartiQL de eklemez: SELECT grameri JOIN, GROUP BY ya da toplama işlevleri olmadan tek bir FROM tablosu alır (AWS PartiQL SELECT referansı) (bkz. PartiQL vs SQL).
  • Çalıştırdığınız bir sunucudaki bir tarayıcı sekmesidir. Yerel masaüstü uygulaması yok, projeler genelinde kaydedilmiş bağlantı yok, entegre kimlik bilgisi zinciri yok — bir Node sürecini (ya da konteyneri) çalışır tutar ve localhost'a yer imi koyarsınız.

Bunların hiçbiri hata değildir. Bilinçli olarak küçük bir yerel geliştirme aracının kenarıdır. Soru, iş akışınızın onu geçip geçmediğidir.

Tam bir DynamoDB istemcisine geçerek ne kazanırsınız

Bir masaüstü DynamoDB istemcisi boşluğu iki yoldan kapatır. İlki, yerel ve canlı için tek uygulama: aynı arayüz DynamoDB Local'a, LocalStack'e ve gerçek AWS hesaplarınıza bağlanır, ortam başına bir sunucu yeniden başlatmak yerine standart AWS kimlik bilgisi zincirinizi (profiller, SSO, ortam değişkenleri) okur. İkincisi, göz atmanın üstünde gerçek bir sorgu yüzeyi — anahtar ve filtre koşulları, satır içi düzenleme, PartiQL ve SQL.

DynoTable, zaten sahip olduğunuz AWS profillerini ve erişim anahtarlarını kullanarak yerel ve canlı DynamoDB'ye tek bir masaüstü uygulamasından bağlanır. Verileriniz DynamoDB'de kalır, bu yüzden taşınacak bir şey yoktur. Göz atmanın ve satır içi düzenlemenin üstünde, ana özelliği SQL Workbench'tir.

DynamoDB'nin erişim deseni kuralları içinde SQL

Düz bir görsel istemci — dynamodb-admin dahil — tek bir tabloyu tarar ve filtreler. İki tabloyu birleştiremez, satırları gruplayamaz ya da toplayamaz, çünkü DynamoDB ilişkisel bir motor açığa çıkarmaz — PartiQL'in SELECT'i bile JOIN, GROUP BY ya da toplamalar olmadan tek-FROM'dur (AWS PartiQL SELECT referansı). DynoTable'ın SQL Workbench'i SQL'i — INNER/LEFT JOIN, GROUP BY, COUNT, SUM ve arkadaşlar — istemcide DynamoDB'nin gerçek Query / Scan işlemlerine derler. İlişkisel biçimli SQL yazarsınız; DynoTable onu anahtarlarınıza ve GSI'larınıza karşı planlar, böylece tabloyu ilişkiselmiş gibi göstermek yerine DynamoDB'nin erişim deseni kuralları içinde kalır. PartiQL'in bile durduğu duvara çarptıysanız, DynamoDB için SQL ve PartiQL vs SQL kılavuzu neyin eksik olduğunu ve Workbench'in onu nasıl doldurduğunu açıklar.

-- Tek tablolu bir tarayıcının ifade edemeyeceği türden bir sorgu:
SELECT u.email, COUNT(o.id) AS orders, SUM(o.total) AS revenue
FROM Users u
JOIN Orders o ON o.userId = u.id
GROUP BY u.email;

O anahtar ve filtre koşullarını elle oluşturmak zahmetlidir; ücretsiz DynamoDB İfade Oluşturucu sizin için KeyConditionExpression / FilterExpression'ı ve öznitelik-ad/değer haritalarını üretir — kurulum gerekmez.

DynoTable, dynamodb-admin gibi DynamoDB Local ile çalışır mı?

Evet — DynoTable, istediğinizde yerel uç noktalarınıza karşı çalışır, bu yüzden "yalnızca canlı" bir yedek değildir. Uç nokta ve sahte kimlik bilgisi kurulumu için bkz. DynamoDB Local ve LocalStack'e bağlanma. dynamodb-admin'in yaptığı aynı yerel iç döngüyü, artı yapamadığı canlı tabloları ve sorguları kapsar.

Dürüst değerlendirme: dynamodb-admin ne zaman yeterli

Geliştirme sırasında yalnızca yerel bir DynamoDB örneğine göz atıyorsanız, ücretsiz ve açık kaynak bir şey istiyorsanız ve asla canlı tablolara dokunmanız ya da bir JOIN çalıştırmanız gerekmiyorsa, dynamodb-admin pragmatik seçimdir — onu tutun. DynoTable ücretli bir masaüstü uygulamasıdır; yerel ve canlı hesaplar genelinde çalıştığınızda, kaydedilmiş bağlantılar ve gerçek AWS kimlik bilgisi zincirinizi istediğinizde ya da tek tablolu bir tarayıcının ifade edemediği bir sorguya çarptığınızda yerini kazanır.

DynoTable'ı indirin (macOS, Windows ya da Linux için), onu bugün kullandığınız aynı profile yöneltin ve daha önce ifade edemediğiniz bir sorgu çalıştırın. Güncel planlar için bkz. fiyatlandırma ve daha geniş resim için bir DynamoDB GUI olarak DynoTable.

SSS

DynoTable bir dynamodb-admin alternatifi mi?

Yalnızca yerel geliştirme için, dynamodb-admin ücretsiz ve mükemmeldir. DynoTable, ayrıca canlı AWS tablolarına, AWS kimlik bilgisi zinciriniz aracılığıyla kaydedilmiş bağlantılara ve JOIN'leri, GROUP BY'ı ve toplamaları çalıştıran bir SQL Workbench'e ihtiyaç duyduğunuzda alternatiftir — ki tek tablolu bir yerel tarayıcı bunların hiçbirini sağlamaz.

dynamodb-admin canlı AWS DynamoDB'ye bağlanabilir mi?

Teknik olarak evet — --dynamo-endpoint'i gerçek bir bölgeye geçersiz kılar ve kimlik bilgileri sağlarsınız (--skip-default-credentials ve standart AWS ortam değişkenleriyle (README)). Ama DynamoDB Local etrafında inşa edilmiş ve varsayılan kılınmıştır, bağlantı yöneticisi ya da profil değiştirme olmadan, bu yüzden canlı kullanım mutlu yolun dışındadır.

Bir dynamodb-admin Docker imajı var mı?

Evet — aaronshaf/dynamodb-admin Docker Hub'da yayınlanmış ve HOST, PORT, BASE_PATH ve DYNAMO_ENDPOINT ortam değişkenleri aracılığıyla yapılandırılmıştır, böylece bir docker-compose'da amazon/dynamodb-local'in yanında oturur (README). DynoTable bir masaüstü uygulamasıdır, bir konteyner değil, bu yüzden çalıştırılacak bir imaj yoktur — yerel uç noktanıza ya da canlı hesabınıza doğrudan bağlanır.

DynoTable, dynamodb-admin gibi DynamoDB Local ile çalışır mı?

Evet. DynoTable yerel uç noktalara — DynamoDB Local ve LocalStack — ve canlı AWS hesaplarına aynı masaüstü uygulamasından bağlanır. Bkz. yerel bağlantı kılavuzu.

dynamodb-admin SQL çalıştırabilir ya da tabloları birleştirebilir mi?

Hayır. dynamodb-admin bir seferde bir tabloya göz atar ve düzenler; bir SQL yüzeyi yoktur ve DynamoDB'nin kendisinin ilişkisel bir motoru yoktur — PartiQL'in SELECT'i bile JOIN, GROUP BY ya da toplamalar olmadan tek-FROM'dur (AWS PartiQL SELECT referansı) — bu yüzden JOIN, GROUP BY ve toplamalar, onları planlayan bir istemci olmadan mümkün değildir. DynoTable'ın SQL Workbench'i bunları DynamoDB'nin gerçek Query / Scan işlemlerine derler.

İlgili

Son doğrulama 2026-06-10. dynamodb-admin, kendi ilgili yazarları tarafından MIT lisanslı açık kaynaklı yazılımdır; burada yalnızca tanımlama amacıyla anılmıştır.

Console olmadan DynamoDB ile çalışın

DynoTable, DynamoDB için hızlı bir masaüstü istemcisidir — tablolara göz atın, SQL tarzı sorgular çalıştırın ve item'ları yerel olarak düzenleyin.