簡體   English   中英

Node.js aws Lambda SQS 功能未觸發

[英]Node.js aws Lambda SQS functions are not firing

我有一個 lambda function 試圖從 aws-sdk 調用 SQS 函數,但它們不會觸發。 對於我的 function,我有兩個權限策略 AmazonSQSFullAccess 和 AWSLambdaFullAccess。 function 能夠被 SQS 消息調用,但是當我調用 sqs.listQueues、sqs.createQueue 或 sqs.sendMessage 時,它什么也沒做。

const AWS = require('aws-sdk')
const sqs = new AWS.SQS();

exports.handler = async (event) => {
  console.log(event);
  
  sqs.listQueues({}, function(err, data) {
    if (err) {
      console.log("Error", err);
    } else {
      console.log("Success", data.QueueUrls);
    }
  });
  
  var params = {
    QueueName: 'Test Queue',
    Attributes: {
      'DelaySeconds': '60',
      'MessageRetentionPeriod': '86400'
    }
  };

  sqs.createQueue(params, function(err, data) {
    if (err) {
      console.log("Error", err);
    } else {
      console.log("Success", data.QueueUrl);
    }
  });
};

這是日志 output:

START RequestId: 0e345c02-b5f2-4816-8e58-c9a8cfbc4069 Version: $LATEST<br/>
2020-06-24T21:26:40.697Z    0e345c02-b5f2-4816-8e58-c9a8cfbc4069    INFO    { key1: 'value1', key2: 'value2', key3: 'value3' }<br/>
END RequestId: 0e345c02-b5f2-4816-8e58-c9a8cfbc4069<br/>
REPORT RequestId: 0e345c02-b5f2-4816-8e58-c9a8cfbc4069  Duration: 521.92 ms Billed Duration: 600 ms Memory Size: 128 MB Max Memory Used: 83 MB  Init Duration: 370.65 ms

我已經創建了兩個未記錄的隊列,並且沒有出現新的“測試隊列”。 這是權限問題還是配置問題或完全是其他問題?

以下代碼有效(針對列出和創建進行了測試)。 也檢查了在 SQS 頁面上創建的一個。 我將awaitpromise一起使用。

還要注意隊列名稱,檢查限制

隊列名稱最多可包含 80 個字符。 可接受以下字符:字母數字字符、連字符 (-) 和下划線 (_)。

const AWS = require('aws-sdk')
const sqs = new AWS.SQS();

exports.handler = async (event) => {
  console.log(event);
  
  let queues = await sqs.listQueues().promise();
  
  // return queues
  
  var params = {
    QueueName: 'TestQueue', // name doesnt contain space
    Attributes: {
      'DelaySeconds': '60',
      'MessageRetentionPeriod': '86400'
    }
  };

  await sqs.createQueue(params).promise();
};

暫無
暫無

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

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