Lambda上的AWS DynamoDB不返回插入的数据

Igo*_*pov 5 javascript amazon-web-services amazon-dynamodb aws-lambda

const AWS = require('aws-sdk')
const docClient = new AWS.DynamoDB.DocumentClient({ region: 'eu-central-1' })

const createDocument = (text, callback) => {
  const createParams = {
    Item: {
      text: text
    },
    TableName: 'ToDoItems'
  }

  docClient.put(createParams, (err, data) => {
    if(err) {
      callback(err, null)
    } else {
      callback(null, data)
    }
  })
}

exports.handle = (event, context, callback) => {
  createDocument(event.text, (err, data) => {
    if(err) {
      callback(err, null)
    } else {
      callback(null, data)
    }
  })
}
Run Code Online (Sandbox Code Playgroud)

那是我的AWS Lambda函数,问题是当我得到一个回调时,data对象是空的,即使文档被插入到DynamoDB中.这可能是什么问题?

use*_*092 7

你不能.你必须单独查询.在put,如果你设置ReturnValues: 'ALL_NEW',那么你会得到"ReturnValues can only be ALL_OLD or NONE"

请注意AWS文档中的" 可能 ":

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB/DocumentClient.html#put-property

ReturnValues - (字符串)可能的值包括:

  • "没有"
  • "ALL_OLD"
  • "UPDATED_OLD"
  • "全新"
  • "UPDATED_NEW"

此外,您还可以使用params值,而不是单独查询.如果它已保存,那么你在createParams.Item中所拥有的基本上就是你要单独查询时返回的内容.