2016-08-01 3 views
2

Я использую aws-ruby-sdk для доступа к dynamodb. Я хочу использовать операцию запроса и получить все элементы. Поэтому я использую подстановочный знак * в expression_attribute_values. Это не работает. Однако, если я укажу конкретное значение, оно работает.Как использовать символ дикой карты * в операции запроса dynamodb?

Как использовать *? Ниже мой код для запроса dynamodb:

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

Также я указываю *, потому что я хочу все значения. Конечный результат. Я хочу только уникальные значения в IdType первичного ключа, но, похоже, нет никакого способа иметь уникальное ограничение в dynamodb (не то, что я знаю), поэтому я извлекаю все значения и получаю уникальные значения из результата, используя собственные код.

Любая помощь будет оценена по достоинству.

PS: Primary Partition Key - IdType является строка

ответ

0

Вы можете использовать Scan API, чтобы получить все элементы в таблице DynamoDB. Если вам нужны только первичные ключи, вы можете использовать ProjectionExpression="IdType", чтобы ограничить объем данных, которые вы отправляете обратно.

Смежные вопросы