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ünmesi —
npm install -g dynamodb-adminvelocalhost:8001(varsayılan--port) üzerinde, varsayılan olarakhttp://localhost:8000'e yöneltilmiş bir web arayüzünüz olur (README). - Bir Docker imajı — resmi
aaronshaf/dynamodb-adminDocker Hub'daki imaj,amazon/dynamodb-local'in yanında birdocker-compose'a doğrudan düşer.HOST,PORT,BASE_PATHveDYNAMO_ENDPOINTortam 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.comYa 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 BYyapamaz ya da birCOUNT/SUMhesaplayamaz, çünkü DynamoDB'nin altta ilişkisel bir sorgu motoru yoktur. dynamodb-admin bir tane eklemez — ve PartiQL de eklemez:SELECTgrameriJOIN,GROUP BYya da toplama işlevleri olmadan tek birFROMtablosu alır (AWS PartiQLSELECTreferansı) (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
- Her DynoTable alternatifi için tam karşılaştırma merkezine göz atın.
- Ayrıca bkz. bir DynamoDB GUI olarak DynoTable.
- Yerel DynamoDB'de yeni misiniz? DynamoDB Local ve DynamoDB Local & LocalStack'e bağlanma okuyun.
- İlişkisel sorgulara mı ihtiyacınız var? Bkz. DynamoDB için SQL, DynamoDB JOIN ve DynamoDB GROUP BY.
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.