【问题标题】:How to get only a list of primary key values in dynamoDB using aws cli?如何使用 aws cli 仅获取 dynamoDB 中的主键值列表?
【发布时间】:2019-12-06 17:27:16
【问题描述】:

我想从 DynamoDB 中获取主键“值”列表,主键如下所示:

{
  "primary_key": "value1",
  "other_elements": "element1"
},
{
  "primary_key": "value2",
  "other_elements": "element2"
},
...
{
  "primary_key": "valueN",
  "other_elements": "elementN"
}

我想要得到的只是“primary_key”值的列表,如下所示:

value1
value2
...
valueN

我尝试了以下方法:

aws dynamodb scan --table-name "table_name" 
--select SPECIFIC_ATTRIBUTES 
--attributes-to-get "primary_key_name"

但它会打印所有表描述,而不仅仅是那些值。 如何使用 cli 仅提取这些值?

非常感谢您的建议。

【问题讨论】:

    标签: amazon-dynamodb aws-cli dynamodb-queries


    【解决方案1】:

    看起来--attributes-to-get 是一个旧参数(如此处所述:https://docs.aws.amazon.com/cli/latest/reference/dynamodb/scan.html#options)。根据该文档,您想改用--projection-expression

    因此,您的命令将如下所示:

    aws dynamodb scan --table-name "table_name" 
    --select SPECIFIC_ATTRIBUTES 
    --projection-expression "primary_key_name"
    

    但是,输出不会按照您想要的方式进行格式化。我建议使用grep 和/或awk 只打印主键的值。以下问题的答案将对此有所帮助:Bash: grep pattern from command output

    【讨论】:

    • 谢谢。尽管您的命令与我在问题中写的命令相同,但我理解您的回答。感谢您的回复!
    • 很高兴这对您有帮助!我意识到我在命令中打错了字,我写了--attributed-to-get 而不是----project-expression。我的错!我编辑了我的答案。您是否尝试运行该版本的命令?如果您需要grepawk 的进一步帮助,请告诉我。如果您分享从 DynamoDB 获得的输出,我可以帮助您挑选出主键。
    • 是的,'----project-expression' 对我有用。欣赏!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多