gpt4 book ai didi

node.js - 无法调用我的 lambda 函数

转载 作者:太空宇宙 更新时间:2023-11-04 03:07:07 25 4
gpt4 key购买 nike

我试图了解 aws lambda 是如何工作的,但我必须承认我还没有完全理解这个 aws 模块的实用性。那么,据我所知,lambda 允许在预先指定的事件之后启动脚本吗?好的,几天后我一直在尝试构建一个简单的案例。

当我从 S3 上传或删除某些内容时,我希望我的 lambda 函数通过使用 SNS 向我发送推送通知。不幸的是,我无法完成这项工作。我不知道如何继续。我按照 lambda 形式的 AWS 入门教程进行操作,配置了角色和所有这些内容,然后创建了一个 node.js 函数(部署函数),安装了依赖项并压缩了所有这些内容,然后将其上传到 Aws lambda。

我还在 aws S3 中配置了该事件,但是当我从 S3 上传或删除文件时,我从未收到任何推送通知。我只想知道测试 AWS Lambda 的最简单方法,因为即使是亚马逊示例测试 lambda 函数(S3 上传图像、调整大小并复制到另一个存储桶)在我测试时也不起作用。

这是我试图让它工作的代码

var async = require('async');
var AWS = require('aws-sdk');


// get reference to S3 client
var s3 = new AWS.S3();
var sns = new AWS.SNS();

exports.handler = function(event, context, callback) {
var params = {
Message: 'STRING_VALUE', /* required */
MessageAttributes: {
someKey: {
DataType: 'raw', /* required */
BinaryValue: new Buffer('...') || 'STRING_VALUE',
StringValue: 'STRING_VALUE'
},
/* anotherKey: ... */
},
MessageStructure: 'Hello from lambda',
Subject: 'STRING_VALUE',
TargetArn: 'XXXXXXX', //my target arn
TopicArn: 'XXXXX' //my topic arn
};
async.waterfall([
sns.publish(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else console.log(data); // successful response
})
],function(error){
if (error) throw err;
})

};

任何帮助将不胜感激。谢谢

最佳答案

需要检查的几件事:

关于node.js - 无法调用我的 lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36791836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com