Verständnis des DynamoDB -GetItem -Betriebs

Verständnis des DynamoDB -GetItem -Betriebs
Der GetItem -API -Aufruf hilft beim Abrufen der Elemente, die die wichtigsten Bausteine ​​in DynamoDB sind. Interessanterweise unterstützt dieser API -Aufruf alle Programmiersprachen, die von DynamoDB unterstützt werden. So können Sie die Elemente abrufen, wenn Sie eine Sprache Ihrer Wahl verwenden.

Sie können JavaScript, Python, Php, Kotlin, Java, Go oder C verwenden++. Sie können auch die GNU -Konsole anstelle eines Programmierwerkzeugs verwenden. In diesem Artikel wird erläutert, wie der GetItem-Betrieb funktioniert und wie Sie sie verwenden können, um die Elemente abzurufen.

Wie der GetItem -Betrieb funktioniert

Die Verwendung des GetItem -API -Anrufs hängt erfolgreich davon ab, wie Sie Ihren Anruf rahmen. Stellen Sie sicher, dass Sie den richtigen Tabellennamen und den Primärschlüssel des Elements angeben, den Sie abrufen möchten. Fügen Sie alle Abschnitte des Primärschlüssels hinzu, der es vollständig macht.

Das Verhalten von GetItem hängt von drei Standardeinstellungen ab. Es wird als konsequente Lektüre ausgeführt, die Ergebnisse haben alle Attribute und liefert nicht den Verbrauch der Kapazitätseinheiten. Basierend auf diesen Parametern können Sie das Standardverhalten dieser API überschreiben.

Bemerkenswerterweise behält DynamoDB eine erstklassige Zuverlässigkeit bei, indem es die verschiedenen Kopien über verschiedene Server hinweg aufrechterhält. Während eine erfolgreiche Beschreibung diese Kopien erstellt, kann die Ausführung viel Zeit in Anspruch nehmen, um den eventuellen Beständigkeits-Standardparameter zu erfüllen.

Die Implikation ist, dass der Versuch, eine Lektüre unmittelbar nach dem Schreiben eines Gegenstands zu versuchen, eine vergebliche Mission ist. Die Schnittstelle gibt immer einen Schlüsselwert für vorhandene Schlüssel zurück. Es bringt jedoch eine Nullantwort für nicht verfügbare Schlüssel zurück.

GetItem -Syntax:

Das Folgende ist die GetItem -Syntax:

GetItem (Keyname)

In der gegebenen Syntax die Keyname ist der Hauptparameter und sollte einen vollständigen Namen des Elements oder der Schlüssel enthalten, deren Wert das ist, was Sie abrufen möchten. Die Antwort sollte eine Zeichenfolge mit dem Wert des angeforderten Schlüssels sein. Aber die Schlüssel, die nicht existieren.


"Attributestoget": ["String_Value"],
"Konsistenz": boolescher,
"ExpressionAttributenNames":
"String_Value": "String_Value"
,
"Taste":
"String_Value":
"B": Blob,
"Bool": boolean,
"BS": [Blob],
"L": [
"Attributwert"
],
"M":
"String": "AttributeValue"
,
"N": "String",
"NS": ["String_Value"],
"Null": boolean,
"S": "String_Value",
"SS": ["String_Value"]

,
"Projektionsexpression": "String_Value",
"Return ConsumedCapacity": "String_value",
"TableName": "String_Value"

Anforderungsoptionen/Parameter:

Mit dem JSON -Format akzeptiert die GetItem -Anfrage die folgenden Daten:

  • Taste - Es ist ein Attributname für AttributeValue -Objekte und eine Darstellung des zum Abrufen fälligen Primärschlüssels. Alle Anfragen müssen die Schlüsselzeichenfolge enthalten.
  • Tabellenname - Dies ist eine Zeichenfolge, die den Namen der Tabelle beschreibt, der den angeforderten Schlüssel oder Element enthält. Es muss auch in jeder Anfrage vorhanden sein.
  • Attributestoget - Es ist ein Legacy -Parameter, der eine Reihe von Zeichenfolgen mit mindestens 1 Element enthält.
  • Cosistentread - Dieser Parameter bestimmt Ihre Anfragen, das Konsistenzmodell gelesen hat. Die GetItem -Operation verwendet das eventuelle Konsistenzmodell standardmäßig. Wenn Sie diesen Parameter auf True setzen.
  • Return summeedCapacity - Dieser Parameter bestimmt die Detaillierungsstufe über den Durchsatzverbrauch, den die Antwort zurückgibt. Sie kommen in drei verschiedenen Kategorien-Indexen, insgesamt und keine.
  • ExpressionAttributenamen - In bestimmten Fällen ist es ratsam, die ExpressionAttributenamen zu verwenden. Sie können beispielsweise auf die Attribute zugreifen, deren Namen nicht mit dynamodb reservierten Wörtern zusammen sind oder in Fällen von Wiederholungsvorkommen einen Platzhalter erstellen. Außerdem können Sie die ExpressionAttributenamen verwenden, um die Fehlinterpretation von Sonderzeichen in einem Ausdruck zu verhindern.
  • Projektionsexpression - Diese Zeichenfolge identifiziert die Attribute für das Abrufen aus der Tabelle. Solche Attribute können die Sets, Elemente oder Skalare umfassen. Stellen Sie sicher, dass Sie jedes Attribut mit Kommas trennen. Der Befehl getItem gibt jedoch alle Attribute zurück, wenn Sie kein Attribut angeben.

Schritt-für-Schritt-Anleitung zur Verwendung des GetItem-Vorgangs

Die folgenden Schritte veranschaulichen, wie Sie die Schlüssel aus einer DynamoDB -Tabelle mit GetItem erhalten können. Wir verwenden das JavaScript für diese Abbildung:

Schritt 1: Erstellen Sie einen DynamoDB -Client

Sie benötigen einen DynamoDB -Client für diesen Vorgang. Der erste Schritt besteht daher darin, einen DynamoDB -Client zu erstellen.

Schritt 2: Erstellen Sie ein DynamoDB -Dokument

Sobald Sie eine Client-Seite haben, sollten Sie ein Beispiel-Dynamodb-Client-Dokument oder -tabelle erstellen, aus dem Sie die Elemente abrufen.

Schritt 3: Fordern Sie einen Artikel aus Ihrer Tabelle an

Beispiel 1: Holen Sie sich ein einzelnes Element aus einer Tabelle

Die folgende Befehlszeile sollte Ihnen helfen, ein Element aus der Tabelle zu erhalten:

Import useGetCommand aus "@aws-sdk/dynamoDB_LIB";
importieren dynamodbdocclient aus "… /libs /ddbdocclient.JS ";
// Setzen Sie die Parameter.
exportieren const parameter =
TableName: "table_name",
Taste:
Primärkey: "String_1",
SortKey: "String_2",
,
;
Export const getemtem = async () =>
versuchen
const data = wartet dynamoDbdocclient.send (neu getCommand (Parameter));
Konsole.Log ("Erfolg:", Daten.Artikel);
catch (err)
Konsole.log ("Fehler");

;
getItem ();

Probe 2: Holen Sie sich eine Menge Elemente aus einer Tabelle

Der folgende Befehl hilft Ihnen, eine Reihe von Elementen zu erhalten:

Importieren batchexecutestatementCommand
importieren ddbdocclient
const tableName = prozess.argv [2];
const songyear1 = Prozess.argv [3];
const SongTitle1 = Prozess.argv [4];
const songyear2 = Prozess.argv [5];
const SongTitle2 = Prozess.argv [6];
Export const run = asynchronisch (
Tabellenname,
Songyear1,
SongTitle1,
Songyear2,
SongTitle2
) =>
const parameter =
Aussagen: [

Anweisung: "Select _ aus" + tableName + "wobei Titel =? und Jahr =?",
Parameter: [s: movietitle1, n: movieyear1],
,

Anweisung: "Select * aus" + tableName + "wobei Titel =? und Jahr =?",
Parameter: [S: SongTitle2, n: Songyear2],
,
],
;
versuchen
const data = wartet dynamoDbdocclient.schicken(
NEU BATCHEXECUTESTATEMENTCOMMAND (Parameter)
);
für (lass i = 0; i < data.Responses.length; i++)
Konsole.Logdaten.Antworten [i].Artikel.Jahr);
Konsole.Logdaten.Antworten [i].Artikel.Titel);

zurück "run erfolgreich";
catch (err)
Konsole.Fehler (err);

;
Run (TableName, Songyear1, Songtitle1, Songyear2, Songtitle2);

Abschluss

Sie können die bereitgestellten Methoden verwenden, um die Elemente zu finden, die den angegebenen Parametern in einer Dynamogb -Tabelle korrekt übereinstimmen. Die GetItem -API -Aufruf wird die Werte aus dem internen persistierenden Speicher einer Anwendung absend. Insbesondere werden alle Werte, die in Dynamogb gespeichert sind.