4 votes

Comment utiliser le caractère joker * dans une opération de requête dynamodb ?

J'utilise aws-ruby-sdk pour accéder à dynamodb. Je veux utiliser l'opération de requête et obtenir tous les éléments. J'utilise donc le caractère générique * dans les valeurs de l'expression_attribut_. Mais cela ne fonctionne pas. Cependant, si je spécifie une valeur spécifique, cela fonctionne.

Comment utiliser * ? Voici mon code pour interroger dynamodb :

db_client.query({
        table_name: "my_table_name",
        key_condition_expression: "#idtype = :idType",
        expression_attribute_names: {
             "#idtype" => "IdType"
         },
        expression_attribute_values: {
             ":idType" => "*",
        },
    })

De plus, je spécifie * parce que je veux toutes les valeurs. Le résultat final que je veux est seulement des valeurs uniques dans la clé primaire IdType mais il semble qu'il n'y ait aucun moyen d'avoir une contrainte unique dans dynamodb (pas que je sache) donc je vais chercher toutes les valeurs et j'aurai des valeurs uniques à partir du résultat en utilisant mon propre code.

Toute aide serait appréciée.

PS : Primary Partition Key - IdType is a String (Clé de partition primaire - Type d'identification)

2voto

alexYuusuke Points 21

Vous pouvez utiliser le Scan API pour obtenir tous les éléments d'une table DynamoDB. Si vous n'avez besoin que des clés primaires, vous pouvez utiliser une méthode de type ProjectionExpression="IdType" pour limiter la quantité de données que vous renvoyez.

db_client.scan({table_name: "my_table_name"})

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X