DynamoDB Scan Lambda 函数 returns HTTP 请求或我不明白的东西,但不是项目列表
DynamoDB Scan Lambda function returns HTTP request or something that I do not understand, but not list of items
我已经部署了一个 Lambda 函数,它应该使用 scan(params, cb)
函数获取项目列表。在控制台中,我看到了一些不同的东西,不是返回的列表,而是看起来像 http 请求正文或响应的东西?
能否请您解释一下如何正确获取列表以及我得到了什么?
exports.handler = async (event, context, callback) => {
console.log('function started')
let params = {
TableName: "documents"
}
console.log('params get')
let respond = await db.scan(params, (err, data) => {
console.log('scan started')
if (err) console.log(err, err.stack);
else {
console.log('else started')
return data
}
})
console.log('Respons IS: ')
console.log(respond)
};
响应是一个巨大的列表:
您正在混合 callbacks and async/await ES6 功能。
我建议你在这种情况下只使用后者。
这是它的样子:
const aws = require('aws-sdk');
const db = new aws.DynamoDB.DocumentClient();
exports.handler = async (event, context) => {
console.log('function started');
const params = {
TableName: "documents"
};
console.log('params get');
const respond = await db.scan(params).promise();
console.log('Respons IS: ');
console.log(respond);
return ...
};
我已经部署了一个 Lambda 函数,它应该使用 scan(params, cb)
函数获取项目列表。在控制台中,我看到了一些不同的东西,不是返回的列表,而是看起来像 http 请求正文或响应的东西?
能否请您解释一下如何正确获取列表以及我得到了什么?
exports.handler = async (event, context, callback) => {
console.log('function started')
let params = {
TableName: "documents"
}
console.log('params get')
let respond = await db.scan(params, (err, data) => {
console.log('scan started')
if (err) console.log(err, err.stack);
else {
console.log('else started')
return data
}
})
console.log('Respons IS: ')
console.log(respond)
};
响应是一个巨大的列表:
您正在混合 callbacks and async/await ES6 功能。
我建议你在这种情况下只使用后者。
这是它的样子:
const aws = require('aws-sdk');
const db = new aws.DynamoDB.DocumentClient();
exports.handler = async (event, context) => {
console.log('function started');
const params = {
TableName: "documents"
};
console.log('params get');
const respond = await db.scan(params).promise();
console.log('Respons IS: ');
console.log(respond);
return ...
};