簡體   English   中英

無法從 aws lambda function 觸發 aws sqs

[英]Unable to trigger aws sqs from aws lambda function

我有一個需要觸發 aws sqs 的 aws lambda function 但我總是收到以下消息:

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

這是我的 lambda:

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的好資源嗎? 我需要傳遞憑據嗎?如何在 aws.sqs 中設置隊列 url?

您是否為您的 Lambda function 分配了執行角色,允許它向 SQS 隊列發送消息? 本文詳細介紹了如何執行此操作,特別是設置 IAM 角色部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM