我无法通过命令行执行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'命令,我面临类似的错误。
答案 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