AWS Lambda函数未写入DynamoDB

乔丹·霍尔

我有一个lambda函数,该函数应该写入数据库。当我在本地计算机上运行它时,它可以工作,但是当我将其上载到lambda并对其进行测试时,它不会在数据库中放置任何内容。我使用的功能具有对DynamoDB的完全访问权限,并且与从笔记本电脑运行DynamoDB时完全一样的代码可以正常工作。知道为什么会这样吗?

这是我的lambda。dao类包含实际访问dynamo的代码。我只是想立即上传一些常量字符串。

const DAO = require('./PostStatusDAO.js');

exports.handler = async (event, context, callback) => {
    var dao = new DAO();
    dao.post("this is a test", "@jordan", "@matt", "none");       
    const response = {
        statusCode: 200,
        body: {
            result: "good"
        }
    };
    return response;
};
const AWS = require('aws-sdk');

const ddb = new AWS.DynamoDB.DocumentClient({region: 'us-west-2'});

class PostStatusDAO {
    post(in_text, in_user, in_author, in_attachment) {
        var params = {
            Item: {
                user: String(in_user),
                timestamp: Date.now(),
                author: String(in_author),
                text: String(in_text),
                attachment: String(in_attachment),
            },

            TableName: 'Feed',
        };

        console.log(params);

        var result = ddb.put(params, (err, data) => {
            console.log("callback");
            if(err) {
                console.log("Error: ", err);
            } else {
                console.log("Data: ", data);
            }
        });

        // console.log(result);
    }
}

module.exports = PostStatusDAO;
豪尔赫·加西亚(Jorge Garcia)

要查看函数失败的原因,您必须同步运行它,或者将promise返回给调用方/运行时,如下所示:

const DAO = require('./PostStatusDAO.js');

exports.handler = async(event, context, callback) => {
    var dao = new DAO();

    // Return new promise 
    return new Promise(function(resolve, reject) {
     // Do async job
        dao.post("this is a test", "@jordan", "@matt", "none", function(err, data) {
            if (err) {
                console.log("Error: ", err);
                reject(err);
            }
            else {
                console.log("Data: ", data);
                resolve(data);
            }
        })
    })
};

const AWS = require('aws-sdk');

const ddb = new AWS.DynamoDB.DocumentClient({region: 'us-west-2'});

class PostStatusDAO {
    async post(in_text, in_user, in_author, in_attachment, callback) {
        var params = {
            Item: {
                user: String(in_user),
                timestamp: Date.now(),
                author: String(in_author),
                text: String(in_text),
                attachment: String(in_attachment),
            },

            TableName: 'Feed',
        };

        console.log(params);

        return ddb.put(params, callback).promise();
    }
}

module.exports = PostStatusDAO;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AWS Lambda函数不显示对DynamoDb的访问

来自分类Dev

AWS DynamoDB提供“写入EPROTO”

来自分类Dev

未安装 Nodejs AWS Lambda 函数依赖项

来自分类Dev

我可以确保AWS Lambda函数不会并行处理AWS DynamoDB触发器吗?

来自分类Dev

AWS DynamoDB写入权限不起作用

来自分类Dev

如何将VPC内的AWS Lambda函数连接到DynamoDB等公共资源?

来自分类Dev

AWS Lambda python函数可从S3解析json并将其存储在DynamoDB中

来自分类Dev

AWS Python Lambda函数-将UTF-8编码的CSV写入S3

来自分类Dev

AWS Cognito,Lambda,DynamoDB中的用户凭证

来自分类Dev

AWS Lambda和DynamoDB空响应

来自分类Dev

Lambda AWS Rekognition 到 DynamoDB - 错误

来自分类Dev

回调到AWS Lambda函数

来自分类Dev

从Lambda函数访问AWS Elasticsearch

来自分类Dev

使用pyaudio的AWS Lambda函数

来自分类Dev

如何重用AWS Lambda函数?

来自分类Dev

Java 中的 AWS Lambda 函数

来自分类Dev

AWS Lambda 上的 Python 函数

来自分类Dev

AWS Lambda 函数无法连接?

来自分类Dev

从 aws lambda 函数与 mongodb 通信

来自分类Dev

SDK AWS 和 Lambda 函数

来自分类Dev

部署多个 AWS Lambda 函数

来自分类Dev

如何在 AWS lambda 函数执行期间在 AWS S3 存储桶中写入文件?

来自分类Dev

使用AWS Lambda(节点)的AWS DynamoDB中的UpdateItem

来自分类Dev

how to put an Item in aws DynamoDb using aws Lambda with python

来自分类Dev

使用AWS NodeJS Lambda读取AWS dynamoDB中的过滤数据

来自分类Dev

AWS Lambda使用s3 getObject函数和putItem函数将其插入DynamoDB,但没有任何反应

来自分类Dev

AWS DynamoDB:如何订购由DynamoDB Stream触发的Lambda?

来自分类Dev

有时,我的AWS lambda函数未使用invoke async运行

来自分类Dev

如何使用ServiceStack.Aws在dynamodb中进行条件写入

Related 相关文章

  1. 1

    AWS Lambda函数不显示对DynamoDb的访问

  2. 2

    AWS DynamoDB提供“写入EPROTO”

  3. 3

    未安装 Nodejs AWS Lambda 函数依赖项

  4. 4

    我可以确保AWS Lambda函数不会并行处理AWS DynamoDB触发器吗?

  5. 5

    AWS DynamoDB写入权限不起作用

  6. 6

    如何将VPC内的AWS Lambda函数连接到DynamoDB等公共资源?

  7. 7

    AWS Lambda python函数可从S3解析json并将其存储在DynamoDB中

  8. 8

    AWS Python Lambda函数-将UTF-8编码的CSV写入S3

  9. 9

    AWS Cognito,Lambda,DynamoDB中的用户凭证

  10. 10

    AWS Lambda和DynamoDB空响应

  11. 11

    Lambda AWS Rekognition 到 DynamoDB - 错误

  12. 12

    回调到AWS Lambda函数

  13. 13

    从Lambda函数访问AWS Elasticsearch

  14. 14

    使用pyaudio的AWS Lambda函数

  15. 15

    如何重用AWS Lambda函数?

  16. 16

    Java 中的 AWS Lambda 函数

  17. 17

    AWS Lambda 上的 Python 函数

  18. 18

    AWS Lambda 函数无法连接?

  19. 19

    从 aws lambda 函数与 mongodb 通信

  20. 20

    SDK AWS 和 Lambda 函数

  21. 21

    部署多个 AWS Lambda 函数

  22. 22

    如何在 AWS lambda 函数执行期间在 AWS S3 存储桶中写入文件?

  23. 23

    使用AWS Lambda(节点)的AWS DynamoDB中的UpdateItem

  24. 24

    how to put an Item in aws DynamoDb using aws Lambda with python

  25. 25

    使用AWS NodeJS Lambda读取AWS dynamoDB中的过滤数据

  26. 26

    AWS Lambda使用s3 getObject函数和putItem函数将其插入DynamoDB,但没有任何反应

  27. 27

    AWS DynamoDB:如何订购由DynamoDB Stream触发的Lambda?

  28. 28

    有时,我的AWS lambda函数未使用invoke async运行

  29. 29

    如何使用ServiceStack.Aws在dynamodb中进行条件写入

热门标签

归档