Comprensione dell'operazione di GetItem DynamoDB

Comprensione dell'operazione di GetItem DynamoDB
La chiamata API GetItem aiuta a recuperare gli articoli che sono i blocchi di costruzione chiave in DynamoDB. È interessante notare che questa chiamata API supporta tutti i linguaggi di programmazione supportati da DynamoDB. Pertanto, puoi recuperare gli elementi quando si utilizza una lingua di tua scelta.

Puoi usare JavaScript, Python, PHP, Kotlin, Java, Go o C++. Puoi anche utilizzare la console GNU anziché qualsiasi strumento di programmazione. Questo articolo spiega come funziona l'operazione getItem e come puoi usarla per recuperare gli elementi.

Come funziona l'operazione getItem

L'uso della chiamata API GetItem dipende correttamente da come inquadra la tua chiamata. Assicurati di specificare il nome della tabella corretto e la chiave primaria dell'elemento che si intende recuperare. Includere tutte le sezioni della chiave primaria che la rende completa.

Il comportamento di GetItem dipende da tre impostazioni predefinite. Esegui come una lettura coerente, i risultati hanno tutti gli attributi e non fornisce il consumo unitario di capacità. Sulla base di questi parametri, è possibile sovrascrivere il comportamento predefinito di questa API.

In particolare, DynamoDB mantiene l'affidabilità di prim'ordine mantenendo le diverse copie su vari server. Mentre una scrittura di successo crea queste copie, l'esecuzione delle loro può richiedere molto tempo per soddisfare l'eventuale parametro predefinito di coerenza.

L'implicazione è che tentare una lettura immediatamente dopo aver scritto un oggetto è una missione inutile. L'interfaccia restituisce sempre un valore chiave per le chiavi esistenti. Tuttavia, riporta una risposta nulla per chiavi non disponibili.

Sintassi di getItem:

Di seguito è la sintassi di GetItem:

getItem (KeyName)

Nella sintassi data, il Keyname è il parametro principale e dovrebbe contenere un nome completo dell'elemento o della chiave il cui valore è ciò che si intende recuperare. La risposta dovrebbe essere una stringa con il valore della chiave richiesta. Ma le chiavi che non esistono restituiscono una risposta nulla.


"AttributeSoget": ["String_Value"],
"Copentread": booleano,
"ExpressionAttributeNames":
"String_Value": "String_Value"
,
"Chiave":
"valore stringa" :
"B": Blob,
"Bool": booleano,
"BS": [BLOB],
"L": [
"AttributeValue"
",
"M":
"String": "AttributeValue"
,
"N": "String",
"NS": ["String_Value"],
"NULL": booleano,
"S": "String_Value",
"SS": ["String_Value"]

,
"ProieciectionExpression": "String_Value",
"ReturnConsumedCapacity": "String_Value",
"TableName": "String_Value"

Opzioni/parametri di richiesta:

Utilizzando il formato JSON, la richiesta GetItem accetta i seguenti dati:

  • Chiave - È un nome di attributo per gli oggetti di attributo e una rappresentazione della chiave primaria dovuta per il recupero. Tutte le richieste devono contenere la stringa chiave.
  • TableName - Questa è una stringa che delinea il nome della tabella che contiene la chiave o l'elemento richiesto. Deve anche essere lì in ogni richiesta.
  • AttributeSoget - È un parametro legacy che contiene una serie di stringhe con almeno 1 elemento.
  • Cosistoread - Questo parametro determina il modello di coerenza lettura delle richieste. L'operazione GetItem utilizza l'eventuale modello di coerenza per impostazione predefinita. Tuttavia, l'impostazione di questo parametro su True garantisce che il processo utilizzi le letture coerenti più decisive.
  • Returnconsumingcapacity - Questo parametro determina il livello di dettaglio sul consumo di throughput che la risposta tornerà. Sono disponibili in tre diverse categorie-indici, totale e nessuna.
  • Espressionittributenames - In alcuni casi, è consigliabile utilizzare espressioni. Ad esempio, è possibile accedere agli attributi i cui nomi non sono in tandem con le parole riservate di DynamoDB o creare un segnaposto in caso di ripetizione. Inoltre, puoi usare gli espressioni attributenames per impedire l'interpretazione errata di caratteri speciali in un'espressione.
  • Proiezione espressione - Questa stringa identifica gli attributi per il recupero dalla tabella. Tali attributi possono includere set, elementi o scalari. Assicurati di separare ogni attributo usando le virgole. Tuttavia, il comando getItem restituisce tutti gli attributi se non si specifica alcun attributo.

Guida passo-passo sull'uso dell'operazione GetItem

I seguenti passaggi illustrano come è possibile ottenere le chiavi da una tabella DynamoDB usando getItem. Usiamo JavaScript per questa illustrazione:

Passaggio 1: crea un client DynamoDB

È necessario un client DynamoDB per questa operazione. Pertanto, il primo passo è creare un client DynamoDB.

Passaggio 2: crea un documento DynamoDB

Una volta che hai un lato client, è necessario creare un documento o una tabella del client DynamoDB di esempio da cui si recano gli elementi.

Passaggio 3: richiedi un elemento dalla tua tabella

Esempio 1: ottenere un singolo elemento da una tabella

La seguente riga di comando dovrebbe aiutarti a ottenere un elemento dalla tabella:

import useGetCommand da "@AWS-SDK/DynamoDB_Lib";
Importa DynamoDBDOCClient da "... /libs /ddbdocliclient.js ";
// Imposta i parametri.
Export const parametri =
TableName: "Table_name",
Chiave:
PrimaryKey: "String_1",
Sortkey: "String_2",
,
;
Export const getItem = async () =>
Tentativo
const data = Aspetta DynamoDBDocclient.inviare (nuovo getCommand (parametri));
console.Log ("Success:", Data.Articolo);
catch (err)
console.log ("errore");

;
getItem ();

Esempio 2: ottieni un lotto di articoli da una tabella

Il seguente comando ti aiuta a ottenere un lotto di elementi:

Import batchexEcuteStatementCommand
import ddbdoccient
const tablename = processo.argv [2];
const cantoyear1 = processo.argv [3];
const songtitle1 = processo.argv [4];
const cantoyear2 = processo.argv [5];
const songtitle2 = processo.argv [6];
esportazione const run = async (
TableName,
Songyear1,
SongTitle1,
Songyear2,
SongTitle2
) =>
const parametri =
Dichiarazioni: [

Dichiarazione: "Seleziona _ da" + tablename + "dove title =? e anno =?",
Parametri: [s: movietle1, n: filmyear1],
,

Dichiarazione: "Seleziona * da" + tableName + "dove title =? e anno =?",
Parametri: [S: SongTitle2, n: Songyear2],
,
",
;
Tentativo
const data = Aspetta DynamoDBDocclient.Inviare(
NUOVO BATCHExEcuteStatementCommand (parametri)
);
per (let i = 0; i < data.Responses.length; i++)
console.registro (dati.Risposte [i].Articolo.anno);
console.registro (dati.Risposte [i].Articolo.titolo);

restituire "esegui correttamente";
catch (err)
console.errore (err);

;
RUN (TableName, Songyear1, SongTitle1, Songyear2, SongTitle2);

Conclusione

È possibile utilizzare i metodi forniti per trovare gli elementi che corrispondono correttamente ai parametri specificati in una tabella DynamogB. La chiamata API GetItem ripara i valori dal negozio persistente interno di un'applicazione di un'applicazione. In particolare, tutti i valori memorizzati in DynamogB sono condivisi tra tutte le sessioni e i profili e sono disponibili fintanto che l'applicazione rimane installata.