AWS DynamoDB CLI命令无法正常工作

时间:2016-10-16 12:19:02

标签: amazon-web-services command-line-interface

我无法通过命令行执行put-item命令 - 下面的示例。

C:\Users\Ishtiaque>aws dynamodb put-item --table-name weatherstationdata --item '{"stationid":{"S":"000001"},"dateandtime" : {"S": "2015/12/25 00:00"},"temperature": {"N" : "0"}}' --profile LOAdmin


Unknown options: {S:, 2015/12/25 00:00},temperature:, {N, :, 0}}', :

我也试过" \"切换,例如:

C:\Users\Ishtiaque>aws dynamodb put-item --table-name weatherstationdata --item '{\"\stationid":{\"\S":\"\000001"},"dateandtime" : {\"\S": \"\2015/12/25 00:00"},\"\temperature": {\"\N" : \"\0"}}' --profile LOAdmin

但仍然不成功。

我认为这与""有关。签字但不确定如何解决。

我可以从控制台创建项目,并在使用' get-item'命令,我面临类似的错误。

1 个答案:

答案 0 :(得分:0)

你的表达式看起来不错但是如果你有复杂的JSon你可以创建一个新的JSon文件file.json

{
    "dateandtime": {
        "S": "2015/12/25 00:00"
    },
    "stationid": {
        "S": "000001"
    },
    "temperature": {
        "N": "0"
    }
}

然后将其作为表达式传递给您的命令

aws dynamodb put-item --table-name weatherstationdata \
    --item file://item.json --profile LOAdmin

你应该确保不要在Json中的密钥之后包含空格,所以这样的东西可以在CLI中使用

aws dynamodb put-item --table-name weatherstationdata --item '{"stationid": {"S": "000001"},"dateandtime": {"S": "2015/12/25 00:00"},"temperature": {"N": "0"}}' --profile LOAdmin