Zum Inhalt springen

TablePro täglich nutzen? Eine Lizenz ergänzt Bezahlfunktionen und finanziert die nächste Version. Lizenz kaufenLizenz kaufen, TablePro fördern

Grafische Oberfläche für Amazon DynamoDB auf Mac

Durchsuche Tabellen über ihre Schlüssel und Indizes, sieh die verbrauchte Lesekapazität, bearbeite Elemente ohne Typverlust und führe PartiQL oder DynamoDB-API-Anfragen im Editor aus.

Funktioniert auf MacDer Treiber wird heruntergeladen, wenn du Amazon DynamoDB erstmals auswählst

Gefilterter DynamoDB-Lesezugriff mit Statusleiste: Query auf dem Index byStatus, 44 zurückgegebene Elemente und 1 verbrauchte Lesekapazitätseinheit.

Auf einen Blick

Abfragesprache
PartiQL
Treiber
Download bei der ersten Nutzung
Verbinden über
Die API des Dienstes
iPhone und iPad
Lässt sich nicht öffnen

Verbinden

Wähle eine Authentifizierungsmethode und eine AWS-Region; die Seitenleiste zeigt deren Tabellen. Möglich sind ein Zugriffsschlüssel mit optionalem Sitzungstoken, ein Profil aus ~/.aws/config und ~/.aws/credentials, das wie von der AWS-CLI gelesen wird, oder ein AWS-IAM-Identity-Center-Profil, das nach Ablauf seiner Sitzung die Anmeldung öffnet.

Profile lösen credential_process-Hilfsprogramme und role_arn-Ketten auf. Abgelaufene temporäre Zugangsdaten werden erneut abgerufen und die Anfrage einmal wiederholt. Jede Anfrage läuft über HTTPS, signiert mit Signature Version 4; es gibt daher keine SSL-Einstellung und keinen SSH-Tunnel. Eine Region in einer anderen AWS-Partition wie China oder European Sovereign Cloud erreicht ihren eigenen Endpunkt ohne benutzerdefinierten Endpunkt.

Für DynamoDB Local führe docker run -p 8000:8000 amazon/dynamodb-local aus und wähle DynamoDB Local (ohne Zugangsdaten). Lasse Benutzerdefinierter Endpunkt für Port 8000 leer. Ein benutzerdefinierter Endpunkt darf unverschlüsseltes HTTP nur auf diesem Mac verwenden. Die Anleitung listet die IAM-Aktionen für jede Aufgabe (Englisch) auf.

Elemente lesen, filtern und bearbeiten

Öffnen, Filtern und Blättern einer Tabelle laufen durch denselben Planer. Lege den Partitionsschlüssel mit = fest, und er führt Query auf einer Partition aus. Filter, die zu den Schlüsseln eines Index passen, führen Query auf diesem Index aus; alles andere führt Scan aus, liest die gesamte Tabelle und wird für jedes gelesene Element berechnet. Die Statusleiste nennt die gewählte Leseart, zurückgegebene Elemente, zum Finden gelesene Elemente und verbrauchte Lesekapazitätseinheiten.

Ein Filter auf dem Sortierschlüssel gehört zur Schlüsselbedingung, wenn er =, <, <=, >, >=, BETWEEN oder STARTS WITH nutzt. Andere Filter werden zu einer FilterExpression, die DynamoDB nach dem Lesen anwendet: Sie reduzieren Zeilen, nicht die Rechnung. Filtere verschachtelte Attribute über Pfade wie address.city oder items[0].sku.

Ein Klick auf den Sortierschlüsselkopf bei Query einer Partition lässt DynamoDB die Elemente in dieser Reihenfolge liefern. Jede andere Sortierung erfolgt im Raster, wenn die Leseoperation alle passenden Elemente enthält; die Statusleiste zeigt an, wenn das nicht der Fall ist. Die nächste Seite setzt am Ende der vorherigen fort. Die Gesamtzahl unter dem Raster stammt von DynamoDB; Exakt zählen liest jedes Element, das zu deinen Filtern passt, und wird vollständig berechnet.

Eine Tabelle deklariert nur ihre Schlüssel; Spalten stammen daher aus den Elementen: Schlüsselattribute, Attribute aus einer Stichprobe der ersten Elemente und jene auf der sichtbaren Seite. Maps, Listen und Mengen erscheinen als JSON und öffnen im JSON-Editor; Zahlen behalten jede Ziffer.

Jede geänderte Zeile wird als eine PartiQL-Anweisung gespeichert, und jeder Wert behält seinen Typ: Number bleibt Number, ein String wie 02134 bleibt String, und ein als JSON bearbeitetes String Set wird wieder als String Set geschrieben. Eine Änderung prüft jedes betroffene Attribut gegen den geladenen Rasterwert und schlägt fehl, statt fremde Änderungen zu überschreiben. Auf NULL setzen entfernt das Attribut.

Der Editor nimmt PartiQL mit doppelten Anführungszeichen für Namen und einfachen für Strings oder einen DynamoDB-Aktionsnamen mit anschließendem Anfrage-JSON entgegen, etwa Query, BatchWriteItem oder TransactWriteItems. Andere Aktionsnamen werden abgelehnt. Elemente erscheinen im Raster, andere Antworten als JSON. Gedrosselte Anfragen werden mit Backoff wiederholt; ⌘. stoppt eine laufende Anweisung.

Tabellen und Indizes

Neue Tabelle… öffnet ein Formular für Partitions- und Sortierschlüssel, On-Demand- oder bereitgestellte Kapazität, Tabellenklasse, Löschschutz und sekundäre Indizes. Vorschau zeigt die CreateTable-Anfrage vor dem Senden. Ein lokaler sekundärer Index kann nur dort beim Erstellen definiert werden.

Im Struktur-Tab fügst du einen globalen sekundären Index hinzu oder entfernst ihn, eine Änderung pro Speichern, da DynamoDB eine Indexänderung pro UpdateTable-Anfrage akzeptiert. Attribute werden dort nicht bearbeitet: Schreibe eines in ein Element, und es erscheint als Spalte. Der DDL-Tab zeigt die CreateTable-Anfrage zum Neuerstellen samt Time-to-Live- und Point-in-Time-Recovery-Einstellungen.

Tabelleneinstellungen

Klicke eine Tabelle rechts an und wähle Wartung für Point-in-Time-Recovery, Löschschutz, Stream, Tabellenklasse, Wechsel zu On-Demand-Kapazität und Abschalten von Time to Live. Das Löschen sendet DeleteTable und schlägt bei aktivem Löschschutz fehl.

Daten übertragen

Es gibt keinen DynamoDB-Import. Schreibe Elemente im Editor mit einem PartiQL-INSERT oder einer BatchWriteItem-Anfrage, die unverarbeitete Elemente erneut sendet und nicht geschriebene meldet. Exportiere eine Tabelle oder ein Ergebnis über den Exportdialog in eine Datei.

iPhone und iPad

Die App für iPhone und iPad hat keinen Amazon DynamoDB-Treiber. Vom Mac synchronisierte Amazon DynamoDB-Verbindungen erscheinen in ihrer Liste, lassen sich aber nicht öffnen.

Grenzen

  • Jede Verbindung umfasst ein AWS-Konto in einer Region.
  • DAX-Endpunkte werden nicht unterstützt; Leeren wird nicht angeboten.

Fragen zu Amazon DynamoDB

Wie verhindere ich einen Scan der ganzen Tabelle?

Filtere den Partitionsschlüssel mit = oder den Partitionsschlüssel eines globalen Index mit einem Filter auf jedem Sortierschlüssel, und die Leseoperation läuft als Query. Ein globaler Index wird nur zum Durchsuchen genutzt, wenn er jedes Attribut projiziert. Frage einen reinen Schlüsselindex im Editor mit einer Query-Anfrage ab, die seinen IndexName nennt.

Wie ändere ich den Schlüssel eines Elements?

Ein Schlüsselattribut lässt sich nicht direkt bearbeiten. Nutze Zeile duplizieren, das alle Attribute außer den Schlüsseln kopiert, gib der Kopie den neuen Schlüssel, speichere und lösche das Original.

Werden Rasteränderungen in einer Transaktion gespeichert?

Nein. Jede geänderte Zeile wird einzeln geschrieben. Bündele Schreibvorgänge, die gemeinsam erfolgreich sein müssen, in einer ExecuteTransaction- oder TransactWriteItems-Anfrage im Editor.

TablePro herunterladen

Die Mac-App kannst du kostenlos herunterladen und nutzen. Ein Starter- oder Team-Tarif ergänzt optionale Funktionen.
Für Mac herunterladen

Erfordert macOS 13 Ventura oder neuer