Lambda Coding node.JS正在尝试向SQS发送消息
我一直在努力使这一行动起作用。当我使用内联编辑器时,我能够自己向SQS发送消息。我可以使用我上传的代码和节点mysql来做一个数据库插入,但是我不能让两个一起工作。目前,我在运行代码时没有得到任何输出Lambda Coding node.JS正在尝试向SQS发送消息,node.js,amazon-s3,lambda,Node.js,Amazon S3,Lambda,我一直在努力使这一行动起作用。当我使用内联编辑器时,我能够自己向SQS发送消息。我可以使用我上传的代码和节点mysql来做一个数据库插入,但是我不能让两个一起工作。目前,我在运行代码时没有得到任何输出 console.log('Loading function'); var mysql = require('mysql'); var AWS = require('aws-sdk'); var s3 = new AWS.S3({ apiVersion: '2006-03-01' }); var Q
console.log('Loading function');
var mysql = require('mysql');
var AWS = require('aws-sdk');
var s3 = new AWS.S3({ apiVersion: '2006-03-01' });
var QUEUE_URL = 'https://sqs.us-east-1.amazonaws.com/1234/dev-upload-test';
var sqs = new AWS.SQS({region:'eu-east-1'});
exports.handler = function (event, context) {
var srcBucket = event.Records[0].s3.bucket.name;
var srcKey = decodeURIComponent(event.Records[0].s3.object.key.replace(/\+/g, " "));
var company = 123;
var user = 321;
var connection = mysql.createConnection({
host : '10.0.1.22', //lamdba has access to this VPC
user : 'username',
password : 'password',
database : 'development',
});
connection.connect(function(err) {
if(err){
console.log('Error connecting to Db');
return;
}
console.log('Connection established');
});
var query = connection.query('INSERT INTO messages (created_at, processing) VALUES (now(),1)', function(err,results){
if (err) throw err;
console.log(results.insertId);
console.log('trying to send message');
var msg = { payload: srcBucket,srcKey };
var sqsParams = {
MessageBody: JSON.stringify(msg),
QueueUrl: 'https://sqs.us-east-1.amazonaws.com/1234/dev-upload-test'
};
console.log(sqsParams)
var sqsdata = sqs.sendMessage(sqsParams, function(err, data) {
if (err) {
console.log('ERR', err);
}
console.log(data);
});
console.log('message sent')
});
context.succeed('Exit');
};
您需要放置
context.success('Exit')
在sqs.sendMessage
回调中。现在,Lambda函数正在对一系列异步工作进行排队,但是在处理程序函数结束之前,您将同步退出