当前位置: 首页 > 知识库问答 >
问题:

尝试使用CLI命令上载DynamoDB表中的大容量200K记录

丰岳
2023-03-14

CLI命令:$aws dynamodb批写入项--请求项file://db_mobile_block_1.json

获取错误:调用BatchWriteItem操作时发生错误(ValidationException):检测到1个验证错误:值{uns prod blocked mobile NUMBERES=[WriteRequest(putRequest=putRequest)(item={mobile=com.amazonaws.dynamodb.v20120810)。AttributeValue@bbfde161},workloadProfileName=null),deleteRequest=null),WriteRequest(putRequest=putRequest(item={mobile=com.amazonaws.dynamodb.v20120810。AttributeValue@2e6bc812},workloadProfileName=null),deleteRequest=null),

WriteRequest(putRequest=PutRequest(项目={移动=com.amazonaws.dynamodb.v20120810.AttributeValue@850aefcc},workloadProfileName=null),deleteRequest=null),WriteRequest(putRequest=PutRequest(项目={移动=com.amazonaws.dynamodb.v20120810.AttributeValue@63c269ec},workloadProfileName=null),deleteRequest=null) ] }' 在“请求项”未能满足约束:映射值必须满足约束:[成员长度必须小于或等于25,成员长度必须大于或等于1]

共有1个答案

师腾
2023-03-14

您在这个请求中所做的不是上传200K记录,而是使用BatchWriteItem请求上传许多(200,000?)不同的记录。您不能这样做-BatchWriteItem有25项的硬限制。你只需要将你的项目分成最多25个项目的批次,并按顺序或并行发送单独的请求。

或者,如果您真的想插入一条200KB大小的记录,那么您就错了。您应该使用PutItem,而不是BatchWriteItem,并插入一条记录。

 类似资料:
  • CLI 命令 Docusaurus提供了一组脚本来帮助您生成,运行和部署您的网站。 当使用 Yarn 或 npm 时,可以用 run 命令调用这些脚本。 一些常见的命令是: yarn run start: 从本地服务器构建和运行网站 yarn run examples: 创建示例配置文件 从命令行运行 脚本可以使用 Yarn 或 npm 运行。 如果您已经阅读了入门指南,您可能已经熟悉 start

  • 问题内容: 我在Flask中创建了一个自定义CLI命令,可以在终端中通过它运行。我想使用PyCharm的调试器运行此命令。 我创建了一个“ Flask服务器”配置,并使用PyCharm调试器运行它,并在我在视图函数内部设置的断点处停止运行。但是,如果我尝试从PyCharm的终端运行CLI命令,它不会在命令的断点处停止。 是否需要自定义配置来调试自定义CLI命令?我发现了有关Django命令的问题,

  • 我正在检查系统中的一个生产dynamodb表,其中一个表的写配置容量设置为800个单元。但是看到表中的数据,似乎每个月只向该表写入/更新一次数据,并且该表中始终有10到15个项目,最大项目大小约为10 KB。 我的疑问是,如果我们将读或写容量单位设置为非常高,但从未或很少使用那么多容量,AWS将为配置的容量或实际使用的容量收费。不确定,但我认为AWS将对提供的容量收取费用,而不是实际使用的容量。我

  • 这是我写在路由文件中的代码 我想获得table_name列值作为响应。我使用json进行响应。

  • 问题内容: 我有一个需要使用redis命令行界面执行的redis命令的长文本文件: 例如 等等 我似乎找不到一种比一次输入命令更快的方法。有数十万行,所以我不想只将它们全部堆叠到一个DEL命令中,它们也不需要一次全部运行。 问题答案: 以下代码对我在Mac上的Redis 2.4.7有用 满足您的要求吗?或者,您是否正在寻找是否有办法以编程方式更快地做到这一点?

  • 虽然我们可以使用 fdisk命令对硬盘进行快速的分区,但对高于 2TB 的硬盘分区,此命令却无能为力,此时就需要使用 parted 命令。 parted 命令是可以在命令行直接分区和格式化的,不过 parted 交互模式才是更加常用的命令方式,进入交互模式的方法如下: [root@localhost ~]# parted 硬盘设备文件名 #进入交互模式 例如: [root@localhost ~]