Beispiele für DynamoDB-Abfragen

Beispiele Fur Dynamodb Abfragen



Eine Datenbank ist eine Sammlung von Daten – DynamoDB ist da keine Ausnahme. Datenbanken enthalten viele Daten, die ohne einen vordefinierten Mechanismus möglicherweise nur schwer abzurufen sind. Hier spielt der Abfragebefehl eine wichtige Rolle.

Wie jedes Datenbankverwaltungssystem bietet DynamoDB verschiedene Abfragemethoden, über die Sie mit dem System interagieren können, um auf Ihre Daten zuzugreifen und diese zu bearbeiten. Abfragen in DynamoDB sind ein sehr leistungsfähiges Tool, mit dem Sie ein Element oder eine Gruppe von Elementen abrufen können, die sich auf den Abfragebefehl beziehen.

Dieser Artikel beschreibt die wichtigsten Beispiele für die DynamoDB-Abfrageoperationen.







Allgemeine Beispiele für DynamoDB-Abfragen

Das Standardverhalten für den Abfragevorgang in DynamoDB besteht darin, alle Elemente zurückzugeben, die den Abfrageelementen zugeordnet sind. Interessanterweise kann der Abfragebefehl in DynamoDB mit Tabellen oder Sekundärindizes verwendet werden.



Stellen Sie in jedem Fall sicher, dass Sie die Gleichheitsbedingung für den Wert Ihres Partitionsschlüssels angeben. Auch hier müssen Sie möglicherweise eine andere Bedingung für den Sortierschlüssel angeben, falls Sie einen im Befehl verwenden.



Zu den weiteren Parametern, auf die Sie beim Abfragen von DynamoDB stoßen, gehören auch KeyConditionExpression und FilterExpression. Der KeyConditionExpression gibt die Schlüsselwerte an, die Sie abfragen möchten. Andererseits entfernt der FilterExpression Elemente aus den Abfrageergebnissen, bevor Sie eine Antwort erhalten. Sie verwenden die ExpressionAttributeValues ​​als Platzhalter für die erwähnten Ausdrucksparameter.





Beispiele für DynamoDB-Abfragen sind:

Suchen eines einzelnen Elements aus einer Tabelle basierend auf Primärschlüsseln

Sie können das Abfragedienstprogramm in DynmoDB verwenden, um ein einzelnes Element zu finden, indem Sie sich auf eine Kombination aus dem Partitionsschlüssel und den Sortierschlüsselwerten des Elements verlassen. Die Syntax für eine solche Operation lautet wie folgt:



aws dynamodb-Abfrage \

--table-name MeinTabellenname \

--key-condition-expression 'PartitionKey = :pk UND SortKey = :sk' \

--Ausdrucksattributwerte '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

Das obige Abfragedienstprogramm zielt darauf ab, ein Element mit einem Partitionsschlüsselwert a1234b und einem Sortierschlüsselwert odef456b aus der MyTableName-Tabelle abzurufen. Beispielsweise können wir das obige Dienstprogramm verwenden, um einen Artikel in unserer Tabelle „Bestellungen“ zu finden. Der Wert des Partitionsschlüssels des Elements kann sein wr546gg die Customer_ID darstellt, während ihr Sortierschlüsselwert sein kann 24536433 die Bestellnummer darstellt.

Das Ergebnis kann wie folgt aussehen:

Das obige Ergebnis bringt Holiday Books als das einzige Element zurück, das einen Partitionsschlüsselwert von wr546gg und einen Sortierschlüsselwert von 24536433 hat. Es bringt Ihnen auch alle anderen zusätzlichen Attribute, die dem Element zugeordnet sind. In unserem Beispiel bringt es die Rechnungsnummer und den gezahlten Betrag zurück.

Insbesondere bringt der Abfragebefehl eine leere Liste zurück, wenn es kein Element gibt, das mit den angegebenen Primärschlüsselwerten übereinstimmt.

Abrufen Alle Elemente aus einer DynamoDB-Tabelle, die mit bestimmten Attributwerten übereinstimmen

Verwenden Sie einen Filterausdruck, um alle Elemente abzurufen, die einen ähnlichen Attributwert in einer bestimmten DynamoDB-Tabelle haben.

Der Befehl für diese Abfrageoperation ist wie unten gezeigt.

aws dynamodb-Abfrage \

--table-name MeinTabellenname \

--filter-ausdruck 'AnderesAttribut1 = :val' \

--Ausdrucksattributwerte '{':val':{'S':'value1'}}'

Zum Beispiel können wir den obigen Abfragebefehl verwenden, um Songs mit mehr abzurufen, die länger als 5 Minuten in unserer Musiktabelle sind. Um dies zu erreichen, setzen wir unseren OtherAttribute1-Wert auf 5,00 und MyTableName auf Music.

Das Ergebnis kann wie folgt aussehen:

Es ist notwendig, die Liste der Kürze halber zu kürzen. Aber aus den Ergebnissen hat unser Abfragebefehl 11 Elemente mit einem filterexpression-Wert von 5,00 aus unserer DynamoDB-Musiktabelle abgerufen.

Abrufen aller Elemente mit einem bestimmten Bereich von Attributwerten

Der folgende Befehl ist praktisch, wenn Sie Elemente in einer bestimmten Tabelle abrufen:

aws dynamodb-Abfrage \

--table-name \

--key-condition-expression 'attribut_name ZWISCHEN :val1 UND :val2' \

--Ausdrucksattributwerte '{':Wert1':{'N':''},':Wert2':{'N':''}}'

Natürlich müssen Sie alle Attribute durch Ihre benutzerdefinierten Anmeldeinformationen ersetzen, wie Sie es bei jeder anderen Befehlszeile tun sollten. Beispielsweise verwenden wir unsere Mitarbeitertabelle mit einem Bereichsschlüsselattribut namens „Alter“. Unser Ziel ist es, Arbeitgeber zwischen 30 und 42 Jahren zu gewinnen.

Unsere neue Befehlszeile wird wie folgt aussehen:

aws dynamodb-Abfrage \

--table-name Benutzer \

--key-condition-expression 'Alter ZWISCHEN :val1 UND :val2' \

--Ausdrucksattributwerte '{':val1':{'N':'30'},':val2':{'N':'42'}}'

Wenn Sie das obige Dienstprogramm ausführen, erhalten Sie eine ähnliche Antwort wie in der folgenden Abbildung.

Die obige Abbildung zeigt, dass die Abfrage 6 Elemente zurückgegeben hat, die den Attributwert für jede Abfrage angeben. ScannedCount ist die Anzahl der in der Tabelle gescannten Elemente, während CapacityUnits die Menge der während des Vorgangs verbrauchten Einheiten ist.

Fazit

Da DynamoDB eine NoSQL-Datenbank ist, verhält sich der Abfragevorgang nicht wie der Ihrer gewöhnlichen AQL-Datenbank. Aber sobald Sie dies tun, werden Sie feststellen, dass die Operation ziemlich leistungsfähig ist und Ihre Interaktion mit der Datenbank zum Kinderspiel macht.