Comprender la operación de getitem Dynamodb

Comprender la operación de getitem Dynamodb
La llamada de la API getItem ayuda a recuperar los elementos que son los bloques de construcción clave en Dynamodb. Curiosamente, esta llamada API admite todos los lenguajes de programación compatibles con Dynamodb. Por lo tanto, puede recuperar los elementos cuando use un idioma de su elección.

Puedes usar JavaScript, Python, Php, Kotlin, Java, Go o C++. También puede usar la consola GNU en lugar de cualquier herramienta de programación. Este artículo explica cómo funciona la operación getitem y cómo puede usarla para recuperar los elementos.

Cómo funciona la operación getitem

El uso de la llamada de la API getItem depende con éxito de cómo enmarca su llamada. Asegúrese de especificar el nombre correcto de la tabla y la clave principal del elemento que tiene la intención de recuperar. Incluya todas las secciones de la clave principal que la hace completar.

El comportamiento getitem depende de tres valores predeterminados. Se ejecuta como una lectura consistente, los resultados tienen todos los atributos y no proporciona su consumo de unidad de capacidad. Según estos parámetros, puede anular el comportamiento predeterminado de esta API.

En particular, Dynamodb mantiene la confiabilidad de primer nivel al mantener las varias copias en varios servidores. Si bien una redacción exitosa crea estas copias, ejecutarlas puede tomar una cantidad considerable de tiempo para cumplir con el parámetro predeterminado de consistencia eventual.

La implicación es que intentar leer inmediatamente después de escribir un elemento es una misión inútil. La interfaz siempre devuelve un valor de clave para las claves existentes. Sin embargo, trae una respuesta nula para claves no disponibles.

GetItem Syntax:

La siguiente es la sintaxis getItem:

getItem (nombre clave)

En la sintaxis dada, el Nombre clave es el parámetro principal y debe contener un nombre completo del elemento o clave cuyo valor es lo que pretende recuperar. La respuesta debe ser una cadena con el valor de la clave solicitada. Pero las claves que no existen devuelven una respuesta nula.


"AttributeStoget": ["String_Value"],
"Consistente": booleano,
"ExpressionAttributeNames":
"String_Value": "String_Value"
,
"Llave":
"valor de cadena" :
"B": Blob,
"Bool": booleano,
"BS": [Blob],
"L": [
"Valor de atributo"
],
"M":
"String": "AttributeValue"
,
"N": "cadena",
"Ns": ["string_value"],
"Nulo": booleano,
"S": "String_Value",
"SS": ["String_Value"]

,
"ProjectionExpression": "String_Value",
"ReturnConsumedCapacity": "String_Value",
"TableName": "String_Value"

Opciones de solicitud/parámetros:

Usando el formato JSON, la solicitud GetItem acepta los siguientes datos:

  • Llave - Es un nombre de atributo para los objetos AttributeValue y una representación de la clave principal que se debe a la recuperación. Todas las solicitudes deben contener la cadena clave.
  • Nombre de la tabla - Esta es una cadena que describe el nombre de la tabla que contiene la clave o elemento solicitado. También debe estar allí en cada solicitud.
  • AttributeStoget - Es un parámetro heredado que contiene una matriz de cadenas con al menos 1 elemento.
  • Cosistentread - Este parámetro determina sus solicitudes. Lea el modelo de consistencia. La operación getItem utiliza el modelo de consistencia eventual de forma predeterminada. Sin embargo, establecer este parámetro en verdadero asegura que el proceso use las lecturas consistentes más decisivas.
  • ReturnconsumedCapacity - Este parámetro determina el nivel de detalle sobre el consumo de rendimiento de que la respuesta regresará. Vienen en tres categorías diferentes, índices, total y ninguno.
  • ExpressionAttributeNames - En ciertos casos, es aconsejable utilizar los nombres expressatTributen. Por ejemplo, puede acceder a los atributos cuyos nombres no están en conjunto con las palabras reservadas de DynamodB o crear un marcador de posición en casos de ocurrencias de repetición. Además, puede usar los nombres expressattributeNEN para evitar la interpretación errónea de los caracteres especiales en una expresión.
  • ProjectionExpression - Esta cadena identifica los atributos para la recuperación de la tabla. Dichos atributos pueden incluir los conjuntos, elementos o escalares. Asegúrese de separar cada atributo usando comas. Sin embargo, el comando getItem devuelve todos los atributos si no especifica ningún atributo.

Guía paso a paso sobre el uso de la operación getitem

Los siguientes pasos ilustran cómo puede obtener las teclas de una tabla DynamodB usando GetItem. Usamos el JavaScript para esta ilustración:

Paso 1: crear un cliente Dynamodb

Necesita un cliente DynamoDB para esta operación. Por lo tanto, el primer paso es crear un cliente Dynamodb.

Paso 2: crear un documento Dynamodb

Una vez que tenga un lado del cliente, debe crear un documento o tabla del cliente Dynamodb de muestra desde la cual recupere los elementos.

Paso 3: Solicite un artículo desde su mesa

Muestra 1: Obtenga un solo artículo de una tabla

La siguiente línea de comando debe ayudarlo a obtener un elemento de la tabla:

import UsegetCommand de "@aws-sdk/dynamodb_lib";
import dynamodbdocclient de "... /libs /ddbdocclient.JS ";
// Establecer los parámetros.
Exportar parámetros const =
TableName: "table_name",
Llave:
PrimaryKey: "String_1",
sortkey: "string_2",
,
;
Exportar const getItem = async () =>
intentar
const data = ALEA DYNAMODBDOCCLIENT.enviar (nuevo getCommand (parámetros));
consola.Log ("éxito:", datos.Artículo);
catch (err)
consola.log ("error");

;
obtiene el objeto();

Muestra 2: Obtenga un lote de artículos de una mesa

El siguiente comando lo ayuda a obtener un lote de elementos:

import batchExecuteStatementCommand
import ddbdocclient
const tableName = Process.argv [2];
const Songyear1 = proceso.argv [3];
const Songtitle1 = proceso.argv [4];
const Songyear2 = proceso.argv [5];
const Songtitle2 = proceso.argv [6];
Exportar const run = async (
nombre de la tabla,
Songyear1,
Songtitle1,
Songyear2,
Songtitle2
) =>
parámetros const =
Declaraciones: [

Declaración: "Seleccione _ de" + TableName + "Where Title =? y año =?",
Parámetros: [S: Movietitle1, n: MovieYear1],
,

Declaración: "Seleccione * de" + TableName + "Where Title =? y año =?",
Parámetros: [S: Songtitle2, n: Songyear2],
,
],
;
intentar
const data = ALEA DYNAMODBDOCCLIENT.enviar(
New BatchExecuteStatementCommand (parámetros)
);
para (deja i = 0; yo < data.Responses.length; i++)
consola.Dato de registro.Respuestas [i].Artículo.año);
consola.Dato de registro.Respuestas [i].Artículo.título);

regresar "ejecutar con éxito";
catch (err)
consola.error (err);

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

Conclusión

Puede usar los métodos proporcionados para encontrar los elementos que coincidan correctamente con los parámetros especificados en una tabla Dynamogb. La llamada de la API de getItem reemplaza los valores de la tienda persistente interna de una aplicación. En particular, todos los valores almacenados en DynamogB se comparten entre todas las sesiones y perfiles y están disponibles mientras la aplicación permanezca instalada.