Невозможно получить доступ к данным DynamoDb из Cli с не ключевыми атрибутами - PullRequest
0 голосов
/ 01 октября 2019

У меня есть таблица в aws Dynamodb, к которой я пытаюсь получить доступ, используя aws-cli

Мне нужно получить доступ к документам, используя неключевые атрибуты.

Ниже приведены команды, которые у меня естьпопробовал:

aws dynamodb scan --table-name aixm_cycle_info --filter-expression "mapAttr. queriedField = :isLatest" --expression-attribute-values '{ ":isLatest" : { "S": "true" }}'

aws dynamodb query --table-name aixm_cycle_info --key-condition-expression "isLatest=:isLatest" --expression-attribute-values "{ :isLatest : { BOOL: true}}"

Документ в моей базе данных выглядит так:

{
  "bucket": "nm-data",
  "cycleId": "1910.190927",
  "filesGenerated": [
    "abc.BASELINE.gz",
    "cdf.gz",
    "xyz.gz",
  ],
  "generatedDate": "2019-09-27T13:42:52.166Z",
  "id": "f9110c95-39f6-4a8f-b497-0b6382a9bf2f",
  "isLatest": "false",
  "region": "US_EAST_2"
}

1 Ответ

0 голосов
/ 01 октября 2019
aws dynamodb scan --table-name aixm_cycle_info --filter-expression "mapAttr.queriedField = :isLatest" --expression-attribute-values '{ ":isLatest" : { "S": "true" }}'

После mapAttr

есть дополнительный пробел. Также, если вы запрашиваете не ключевые поля, вы можете использовать только сканирование (которое будет читать все элементы построчно).

Если вы хотите, чтобы запрос был эффективным, добавьте индекс и используйте для него «запрос».

...