Comprendre l'opération DynamoDB GetItem

Comprendre l'opération DynamoDB GetItem
L'appel API GetItem aide à récupérer les éléments qui sont les principaux blocs de construction dans DynamoDB. Fait intéressant, cet appel API prend en charge tous les langages de programmation pris en charge par DynamoDB. Ainsi, vous pouvez récupérer les éléments lorsque vous utilisez une langue de votre choix.

Vous pouvez utiliser JavaScript, Python, PHP, Kotlin, Java, Go ou C++. Vous pouvez également utiliser la console GNU au lieu de n'importe quel outil de programmation. Cet article explique comment fonctionne l'opération GetItem et comment vous pouvez l'utiliser pour récupérer les éléments.

Comment fonctionne l'opération GetItem

L'utilisation de l'appel de l'API GetItem dépend avec succès de la façon dont vous encadrez votre appel. Assurez-vous de spécifier le nom de la table correct et la clé principale de l'élément que vous avez l'intention de récupérer. Incluez toutes les sections de la clé primaire qui le rend complète.

Le comportement GetItem dépend de trois valeurs par défaut. Il s'exécute comme une lecture cohérente, les résultats ont tous les attributs, et il ne fournit pas sa consommation unitaire de capacité. Sur la base de ces paramètres, vous pouvez remplacer le comportement par défaut de cette API.

Notamment, DynamoDB maintient la fiabilité de haut niveau en maintenant plusieurs copies sur divers serveurs. Bien qu'une rédaction réussie crée ces copies, les exécuter peut prendre un temps considérable pour répondre au paramètre par défaut de cohérence éventuelle.

L'implication est que tenter une lecture immédiatement après la rédaction d'un article est une mission futile. L'interface renvoie toujours une valeur clé pour les clés existantes. Cependant, il ramène une réponse nul pour les clés indisponibles.

Syntaxe GetItem:

Ce qui suit est la syntaxe GetItem:

getItem (keyname)

Dans la syntaxe donnée, le nom de clés est le paramètre principal et devrait contenir un nom complet de l'élément ou de la clé dont la valeur est ce que vous avez l'intention de récupérer. La réponse doit être une chaîne avec la valeur de la clé demandée. Mais les clés qui n'existent pas renvoient une réponse nul.


"AttributeStoGet": ["string_value"],
"Cohérente": booléen,
"ExpressionAttributeNames":
"string_value": "string_value"
,
"Clé":
"valeur de chaîne" :
"B": blob,
"Bool": booléen,
"BS": [blob],
"L": [
"AttributValue"
]],
"M":
"String": "attributValue"
,
"N": "chaîne",
"Ns": ["string_value"],
"Null": booléen,
"S": "string_value",
"Ss": ["string_value"]

,
"ProjectionExpression": "string_value",
"ReturnConsumedCapacity": "string_value",
"TableName": "String_value"

Options / paramètres de demande:

En utilisant le format JSON, la demande GetItem accepte les données suivantes:

  • Clé - Il s'agit d'un nom d'attribut pour les objets AttributeValue et une représentation de la clé principale due à la récupération. Toutes les demandes doivent contenir la chaîne de clé.
  • Nom de la table - Il s'agit d'une chaîne qui décrit le nom de la table qui contient la clé ou l'élément demandé. Il doit également être là dans chaque demande.
  • Attributestoget - Il s'agit d'un paramètre hérité qui contient un tableau de chaînes avec au moins 1 élément.
  • Cosistentread - Ce paramètre détermine vos demandes de cohérence de lecture. L'opération GetItem utilise le modèle de cohérence éventuel par défaut. Cependant, la définition de ce paramètre sur True garantit que le processus utilise les lectures cohérentes les plus décisives.
  • Returnconsumedcapacity - Ce paramètre détermine le niveau de détail sur la consommation de débit que la réponse reviendra. Ils viennent dans trois catégories différentes-indexes, total et aucun.
  • ExpressionAtTrributenames - Dans certains cas, il est conseillé d'utiliser les noms d'expressionAtTributen. Par exemple, vous pouvez accéder aux attributs dont les noms ne sont pas en tandem avec des mots réservés DynamoDB ou créer un espace réservé en cas de répétition d'occurrences. En outre, vous pouvez utiliser l'expressionAttributeNames pour empêcher l'interprétation erronée de caractères spéciaux dans une expression.
  • Expression de projection - Cette chaîne identifie les attributs de récupération de la table. Ces attributs peuvent inclure les ensembles, les éléments ou les scalaires. Assurez-vous de séparer chaque attribut à l'aide de virgules. Cependant, la commande getItem renvoie tous les attributs si vous ne spécifiez aucun attribut.

Guide étape par étape sur l'utilisation de l'opération GetItem

Les étapes suivantes illustrent comment vous pouvez obtenir les clés d'une table DynamoDB à l'aide de getItem. Nous utilisons le javascript pour cette illustration:

Étape 1: Créez un client DynamoDB

Vous avez besoin d'un client DynamoDB pour cette opération. Ainsi, la première étape consiste à créer un client DynamoDB.

Étape 2: Créez un document DynamoDB

Une fois que vous avez un côté client, vous devez créer un exemple de document ou de table client DynamoDB à partir duquel vous récupérez les éléments.

Étape 3: Demandez un article de votre table

Échantillon 1: Obtenez un seul élément d'un tableau

La ligne de commande suivante devrait vous aider à obtenir un élément du tableau:

import useGetCommand depuis "@ aws-sdk / dynamodb_lib";
import dynamoDBDocClient depuis "… / libs / ddbdocclient.js ";
// définir les paramètres.
Paramètres de const des exportations =
TableName: "table_name",
Clé:
primaireKey: "string_1",
sortkey: "string_2",
,
;
export const getitem = async () =>
essayer
const data = attendre dynamodbdocclient.send (new GetCommand (paramètres));
console.journal ("Succès:", données.Article);
catch (err)
console.log ("erreur");

;
obtenir l'article();

Échantillon 2: Obtenez un lot d'articles à partir d'une table

La commande suivante vous aide à obtenir un lot d'éléments:

import batchExEcuteStatementCommand
import ddbdocclient
const TableName = processus.Argv [2];
const Songyear1 = processus.Argv [3];
const songTitle1 = processus.Argv [4];
const Songyear2 = processus.Argv [5];
const songTitle2 = processus.Argv [6];
export const run = async (
nom de la table,
Songyear1,
Songtitle1,
Songyear2,
Songtitle2
) =>
const Paramètres =
Instructions: [

Instruction: "SELECT _ FROM" + TableName + "où le titre =? et année =?",
Paramètres: [S: MovieTitle1, n: Movieyear1],
,

Instruction: "SELECT * FROM" + TableName + "où le titre =? et année =?",
Paramètres: [S: Songtitle2, n: Songyear2],
,
]],
;
essayer
const data = attendre dynamodbdocclient.envoyer(
Nouveau BatchExEcuteStationmentCommand (Paramètres)
));
pour (soit i = 0; i < data.Responses.length; i++)
console.journal (données.Réponses [i].Article.année);
console.journal (données.Réponses [i].Article.titre);

Renvoyez "Run succès";
catch (err)
console.error (err);

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

Conclusion

Vous pouvez utiliser les méthodes fournies pour trouver les éléments qui correspondent correctement aux paramètres spécifiés dans une table DynamoGB. L'appel de l'API GetItem récupère les valeurs de la boutique persistante interne d'une application. Notamment, toutes les valeurs stockées dans DynamoGB sont partagées entre toutes les sessions et les profils et sont disponibles aussi longtemps que l'application reste installée.