前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[ 后端篇 ] 07 - AWS DynamoDB操作错误

[ 后端篇 ] 07 - AWS DynamoDB操作错误

作者头像
程序手艺人
发布2019-03-29 15:34:40
6920
发布2019-03-29 15:34:40
举报
文章被收录于专栏:程序手艺人程序手艺人
  • 使用数据库的batchWrite() API 返回的错误
代码语言:javascript
复制
BatchWriteErr -> { ValidationException: The provided key element does not match the schema
    at Request.extractError (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/protocol/json.js:51:27)
    at Request.callListeners (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/sequential_executor.js:106:20)
    at Request.emit (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/sequential_executor.js:78:10)
    at Request.emit (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/request.js:683:14)
    at Request.transition (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/state_machine.js:14:12)
    at /home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/request.js:685:12)
    at Request.callListeners (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/sequential_executor.js:116:18)
    at Request.emit (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/sequential_executor.js:78:10)
    at Request.emit (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/request.js:683:14)
    at Request.transition (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/request.js:22:10)
    at AcceptorStateMachine.runTo (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/state_machine.js:14:12)
    at /home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/state_machine.js:26:10
    at Request.<anonymous> (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/request.js:38:9)
    at Request.<anonymous> (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/request.js:685:12)
    at Request.callListeners (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/sequential_executor.js:116:18)
    at callNextListener (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/sequential_executor.js:96:12)
    at IncomingMessage.onEnd (/home/mike/Work/Lambda-JoyAgent/node_modules/_aws-sdk@2.418.0@aws-sdk/lib/event_listeners.js:299:13)
    at emitNone (events.js:111:20)
    at IncomingMessage.emit (events.js:208:7)
  message: 'The provided key element does not match the schema',
  code: 'ValidationException',
  time: 2019-03-24T08:02:19.474Z,
  requestId: '45KGH3M6THVP80IPUOURNVOT9JVV4KQNSO5AEMVJF66Q9ASUAAJG',
  statusCode: 400,
  retryable: false,
  retryDelay: 32.06653715996766 }
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
    BatchWrite = {
        RequestItems: {
            "TestDemo": [{
                PutRequest: {
                    Item: {
                        userID: "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"

                    }
                }
            }]
        }
    };
    doc.batchWrite( BatchWrite,
    (err, data) => {
        if (err) {
            callback(null, { status: "503" });
            return;
        }
    });

操作过程中一直返回 The provided key element does not match the schema,意思为 提供的关键元素与schema不匹配.

仔细的可以发现BatchWrite参数中 userID: “xxxxxxxxxxxxxxxxxxxxxxxxxxxx” 和数据库中参数userld 不一致导致的,跟改为userId: “xxxxxxxxxxxxxxxxxxxxxxxxxxxx”,问题解决。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年03月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档