【问题标题】:Lambda Coding node.JS trying to send message to SQSLambda Coding node.JS 尝试向 SQS 发送消息
【发布时间】:2016-03-10 14:28:19
【问题描述】:

我一直在尝试使此操作生效。当我使用内联编辑器时,我可以自己向 SQS 发送消息。我可以将我上传的代码与 node-mysql 一起使用来进行数据库插入,但是我无法让两个人一起工作。目前我在运行我的代码时没有得到任何输出,这就是我正在运行的内容

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');
};

【问题讨论】:

    标签: node.js amazon-s3 lambda


    【解决方案1】:

    您需要将context.succeed('Exit'); 放入sqs.sendMessage 回调中。现在,您的 Lambda 函数正在排队一堆异步工作,但随后您在处理程序函数的末尾同步退出,然后任何工作完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-18
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 2019-10-09
      • 1970-01-01
      • 1970-01-01
      • 2010-12-12
      相关资源
      最近更新 更多