Невозможно вызвать aws sqs из лямбда-функции aws - PullRequest
0 голосов
/ 18 октября 2019

У меня есть лямбда-функция aws, которая должна вызывать sqs aws, но я всегда получаю следующее сообщение:

Fail Send MessageAccessDenied: Access to the resource https://sqs.eu-west-1.amazonaws.com/ is denied

Это моя лямбда-выражение:

var QUEUE_URL = 'https://sqs.eu-west-1.amazonaws.com/*****/*****'
var AWS = require('aws-sdk');
var sqs = new AWS.SQS({region : 'eu-west-1'});


exports.handler = function(event, context) {

  var params = {
    MessageBody: JSON.stringify(event),
    QueueUrl: QUEUE_URL
  };
  sqs.sendMessage(params, function(err,data){
    if(err) {
      console.log('error:',"Fail Send Message" + err);
      context.done('error', "ERROR Put SQS");  // ERROR with message
    } else{
      console.log('data:',data.MessageId);
      context.done(null,'');  // SUCCESS
    }
  });
}

У кого-нибудь есть идеи? в чем проблема или хороший ресурс для aws.sqs? Нужно ли передавать учетные данные и как установить URL-адрес очереди в файле aws.sqs?

1 Ответ

1 голос
/ 18 октября 2019

У вас есть роль исполнения, назначенная вашей лямбда-функции, которая позволяет отправлять сообщения в очередь SQS? В этой статье подробно описано, как это сделать, в частности, в разделе Настройка роли IAM.

...