使用AWS CLI的DynamoDB放置项目

时间:2019-02-03 05:02:17

标签: amazon-web-services amazon-dynamodb

我正在尝试使用本地DynamoDB的AWS CLI。

我在工作时发现了一些问题。

Inserting & Retrieving Items | DynamoDB, explained.显示了如何使用JSON格式创建表。但这对我没有用。因此,我不得不使用Basic Operations for Tables - Amazon DynamoDB。无论如何,它奏效了。

但是麻烦是放东西时。

我试图像这样将项目添加到本地数据库:

aws dynamodb put-item \
    --table-name UsersTable \
    --item '{
      "Username": {"S": "alexdebrie"}
    }' \
    --endpoint-url http://localhost:8000

但是出现了这样的错误:

  

未知选项:{S :, alexdebrie},}',用户名:

我该如何处理?

PS:我使用的是Windows,所以我使用的是\,而不是^

5 个答案:

答案 0 :(得分:0)

尝试使用git bash解决了我的问题。我在Windows上使用cmd,并且在格式化时也遇到了同样的问题。相同的命令在git bash中有效。

答案 1 :(得分:0)

代替@RestController"

这样使用

\"

答案 2 :(得分:0)

这是在Windows上运行的单行示例:

aws dynamodb put-item --table-name test --item "{\"id\":{\"S\":\"mars\"},\"miles\":{\"N\":\"999\"}}"

所以,就您而言:

aws dynamodb put-item --table-name UsersTable --item "{\"Username\":{\"S\":\"alexdebrie\"}}" --endpoint-url http://localhost:8000

一些注意事项:

  • 尝试避免命令中出现多行
  • 将整个项目用双引号引起来
  • 在项目中的每个双引号前带有反斜杠,例如\"id\"
  • 如果您的属性值为数字,则仍必须引用其值,例如\"N\":\"999\"

我感到你很痛苦。太可怕了。

您可能还想考虑使用--cli-input-json

在JSON文件中提供参数。

答案 3 :(得分:0)

我认为该问题仅在Windows上才是特定的,而不是在Mac或Linux上。但我同意@Jnana Palai。但是请确保JSON也包含在“ not'

类似: aws dynamodb放置项
--table-name UsersTable
-项目“ { “用户名”:{“ S”:“ alexdebrie”} }“ \

答案 4 :(得分:0)

如果您使用的是Windows 10,则永久解决此(反复出现的)问题的最佳方法是使用Ubuntu系统安装Linux的Windows子系统(WSL),然后按此处安装适用于Linux的AWS CLI (AWS CLI Ubuntu)。完成此操作后,您可以在线使用Linux系统中约95%的AWS CLI片段,并且所有可怕的引用/转义废话都将消失! (而且,您还将在Windows系统中拥有Linux而获得了巨大的好处)