[英]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.