如何使用 Lambda 函数从 DynamoDB 获取所有数据

How to GET all data from DynamoDB with Lambda Functions

使用 Axios,我尝试从链接到 Lambda 函数的 API 获取数据:

async getData() {
    await axios.get("https://...")
    .then(response => {
        console.log(response)
    })
}

这是我的 Lambda 函数代码:

const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({region: "ap-southeast-1"});

const params = {
  TableName : 'tablename'
}

async function listItems(){
  try {
    const data = await docClient.scan(params).promise()
    return data
  } catch (err) {
    return err
  }
}

exports.handler = async (event, context) => {
  try {
    const data = await listItems()
    return { body: JSON.stringify(data) }
  } catch (err) {
    return { error: err }
  }
}

我有一个 DynamoDB table,我正试图从中获取所有数据点。 EG:我有3组数据,每组有7个属性。

问题:当我在 API 网关上测试 API 时,我显示了所有数据。但是,我无法让数据显示在我的控制台日志中。

我应该如何编辑我的数据以便在我的控制台日志中显示它?

我不确定,但我认为您可能指的是您从中调用 axios 的客户端控制台?

您的回复可能采用 Json 格式。只需执行您已经在 lamba 中执行的操作,然后在记录之前将 JSON 数据转换为字符串。

而不是

console.log(response)

尝试

console.log(JSON.stringify(response))

原来这段代码工作正常我只是忘了部署它。感谢大家的帮助!