如何使用 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))
原来这段代码工作正常我只是忘了部署它。感谢大家的帮助!
使用 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))
原来这段代码工作正常我只是忘了部署它。感谢大家的帮助!