我试图从 DynamoDB 表中获取各个属性,并在回调之前将其转换为变量。我想回调一个 Html,其属性作为 Html 文档中的变量,但我只能回调整个 Item,或者使用“ProjectionExpression”回调一些特定属性。 如何在回调之前获取项目并将表中的项目转化为变量?
const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({region: 'us-east-1'});
AWS.config.region = 'us-east-1';
exports.handler = function(evt, context, callback) {
var params = {
TableName: 'Item_Get',
Key: {
'Item': evt.value,
},
"ProjectionExpression": "Price, Description, ItemName"
};
docClient.get(params, function(err, data) {
if (err) {
callback.error(err, null);
} else {
callback(null, data);
}
});
};
回应:
{
“元素”: {
"ItemName": "蛋白粉",
“价格”:“59.99”,
“描述”:“巧克力味乳清蛋白粉”
}
}
最佳答案
您似乎想要构建一个 html 文档并将其作为 Lambda 函数回调中的响应返回?这是正确的吗?
您应该首先访问返回给您的数据
中的各个数据片段,例如itemName = data.Item.ItemName;
然后使用这些数据构建 html 文档,并在响应中返回它。
如果我正确理解你想要做什么,我认为这个例子会对你有所帮助:https://github.com/serverless/examples/blob/master/aws-node-serve-dynamic-html-via-http-endpoint/handler.js .
const response = {
statusCode: 200,
headers: {
'Content-Type': 'text/html',
},
body: html,
};
callback(null, response);
关于node.js - 我正在尝试从 DynamoDB 表获取各个属性,并在回调之前将它们转换为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55821013/