Amazon dynamodb 什么是cli的有效dynamodb键条件表达式
谁能告诉我有效的键条件表达式是什么。我试图在一个名为MyKeyTable的简单表上运行查询。它有两个“列”,即Id和另一个numberToStaticAreabout,其类型为Long 我希望看到我输入的所有值。所以我试着:Amazon dynamodb 什么是cli的有效dynamodb键条件表达式,amazon-dynamodb,aws-cli,dynamo-local,Amazon Dynamodb,Aws Cli,Dynamo Local,谁能告诉我有效的键条件表达式是什么。我试图在一个名为MyKeyTable的简单表上运行查询。它有两个“列”,即Id和另一个numberToStaticAreabout,其类型为Long 我希望看到我输入的所有值。所以我试着: aws dynamodb query --select ALL_ATTRIBUTES --table-name MyKeyTable --endpoint http://localhost:8000 --key-condition-expression "WHAT DO
aws dynamodb query --select ALL_ATTRIBUTES --table-name MyKeyTable
--endpoint http://localhost:8000
--key-condition-expression "WHAT DO I PUT IN HERE?"
我需要放什么馅饼?文件在这个问题上有点站不住脚。感谢您的帮助,即使只是一个指向好文档的链接。创建一个包含您的密钥的文件:test.json
{
"yourHashKeyName": {"S": "abc"},
"YourRangeKey": {"S": "xyz"} //optional
}
跑
参考:
用于扫描表格
aws dynamodb scan --table-name "you table name"
扫描整个表时无需传递任何键(注意:它将获得最大1MB的数据)
请参阅:这里有一种只使用命令行的方法,您可以在不使用中间文件的情况下使用 首先,使用值占位符构造关键条件表达式,例如
--key-condition-expression "Id = :idValue"
(不要忘记占位符的冒号前缀!)
接下来,构造一个表达式属性值参数。请注意,它需要JSON格式。我总是试图忘记的一点是,你不能只为数字插入42,或为字符串插入“foo”。您必须告诉DynamoDb类型和值。关于如何设置值规范格式的完整细分,请参阅,如果需要,这可能非常复杂
对于Windows,您可以通过将引号加倍来转义其中的引号,例如
--expression-attribute-values "{"":idValue"":{""N"":""42""}}"
对于MacOS/Linux,JSON周围需要单引号:
--expression-attribute-values '{":idValue":{"N":"42"}}'
MyHashKey-将是你的散列键值,这里我作为字符串作为参考,“abc”将是散列键的值在你的问题中,你已经接受了查询,为什么我使用它,我将更新我的问题以进行扫描,因为你可以使用扫描,我已经更新了答案谢谢,扫描确实给我一些数据,但是为了得到一个绿色的勾号,我想知道如何使查询正常工作;-)@MarkDickinson我已经指定在我的示例中只替换get项进行查询,我已经更新了答案:)谢谢!在JSON周围使用单引号可能会使阅读更容易一些:
--表达式属性值“{”:idValue:{“N”:“42”}”
Hmm。。当然,我同意这一点更具可读性,只是在准备更新这个答案时尝试了一下,至少在Windows上它不喜欢它——在它遇到第一个双引号错误后,它就崩溃了,这是在OS X和Linux上。单引号救了我。
--expression-attribute-values '{":idValue":{"N":"42"}}'