node.js - 我正在尝试从 DynamoDB 表获取各个属性,并在回调之前将它们转换为变量

标签 node.js amazon-web-services aws-lambda amazon-dynamodb

我试图从 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/

相关文章:

node.js - heroku 中的字体差异

amazon-web-services - 如何授予Lambda访问AWS中的ElasticSearch的权限?

node.js - 上传的文件必须是非空的 zip(服务 : AWSLambdaInternal; Status Code: 400; Error Code: InvalidParameterValueException;

amazon-web-services - 访问作为 CloudFormation 模板参数传递的子网的 IPv4 CIDR

node.js - 我收到 "error message: Process exited before completing request"

aws-lambda - 将 Swagger API 验证与无服务器框架结合使用

javascript - AJAX 调用并在 Node 中获取返回数据

javascript - 将 node.js 文件观察器与 JetBrains WebStorm 结合使用

node.js - 带有 Node 模块/ react 的图像编辑器

amazon-web-services - 模板错误:Fn::GetAtt 的实例引用未定义的资源 EventHandlerLambdaFunction