【发布时间】:2020-04-09 19:42:11
【问题描述】:
AWS 新手,使用 Node.JS 开发 Lambda
我有以下代码在我的本地工作,但是一旦我上传到 Lambda(通过具有成功状态的 CLI).. 但是我意识到它抱怨 index.hanlder 问题。因此,在谷歌搜索之后,我将代码更新到了第二个版本,它在 Status 200 下运行良好,但返回一个 NULL。
我已经测试了本地代码,它会从 DynamoDB 返回我的数据。这里似乎有什么错误?
提供额外信息:
- 我的 .zip 包含以下内容(index.js、node_modules、package-lock.json、package.json)
本地代码
const express = require('express');
const router = new express.Router();
const awsSDK = require('aws-sdk');
const dynamodb = new awsSDK.DynamoDB({region:'maskedData', apiVersion:'maskedData'});
router.get('/get', (req,res) => {
const params = {
TableName: "maskedData"
};
dynamodb.scan(params, function(err, data){
if(err){
console.log(err);
// callback(err);
res.send(err);
} else {
console.log(data);
// callback(null, data);
res.send(data);
}
})
})
module.exports = router;
第二版
const express = require('express');
const router = new express.Router();
const awsSDK = require('aws-sdk');
const dynamodb = new awsSDK.DynamoDB({region:'maskedData', apiVersion:'maskedData'});
exports.handler = router.get('/get', (req,res) => {
// router.get('/get', (req,res) => {
const params = {
TableName: "maskedData"
};
dynamodb.scan(params, function(err, data){
if(err){
console.log(err);
// callback(err);
res.send(err);
} else {
console.log(data);
// callback(null, data);
res.send(data);
}
})
})
// module.exports = router
// exports.handler = router;
【问题讨论】:
标签: node.js amazon-web-services express aws-lambda amazon-dynamodb