AWSLambda函数总是会触发两次
创始人
2024-09-26 05:31:42
0

在AWS Lambda函数代码中添加防止重复触发的措施,例如使用DynamoDB或S3存储上一次触发时间,并检查是否已经达到所需的等待时间。

以下是使用DynamoDB实现防止重复触发的示例代码(Node.js):

const AWS = require('aws-sdk');
const dynamoDB = new AWS.DynamoDB.DocumentClient();

exports.myFunction = async (event) => {
  const now = new Date().getTime();
  const lastTriggeredTime = await getLastTriggeredTimeFromDynamoDB();
  
  if (lastTriggeredTime && now - lastTriggeredTime < 60000) { // less than 1 minute since last trigger
    console.log('Already triggered within the past minute, skipping...');
    return;
  }
  
  // Do the actual function logic here...
  
  await saveLastTriggeredTimeToDynamoDB(now);
};

function getLastTriggeredTimeFromDynamoDB() {
  return dynamoDB.get({ TableName: 'MyTable', Key: { id: 'lastTriggeredTime' } }).promise()
    .then(res => res.Item && res.Item.time);
}

function saveLastTriggeredTimeToDynamoDB(time) {
  return dynamoDB.update({
    TableName: 'MyTable',
    Key: { id: 'lastTriggeredTime' },
    UpdateExpression: 'set #t = :time',
    ExpressionAttributeNames: { '#t': 'time' },
    ExpressionAttributeValues: { ':time': time }
  }).promise();
}

在以上示例中,我们创建了一个名为“lastTriggeredTime”的DynamoDB条目,并使用getLastTriggeredTimeFromDynamoDB()函数获取上一次触发的时间戳。我们还使用saveLastTriggeredTimeToDynamoDB()函数将当前时间戳保存到DynamoDB中。

myFunction函数中,我们首先获取当前时间戳,并检查上一次触发距离现在是否还不到1分钟。如果是,则不执行函数逻辑。否则,执行函数逻辑并将当前时间戳保存到DynamoDB中。这样,我们就可以防止AWS Lambda函数重复触发了。

相关内容

热门资讯

关于!微信微乐自建房辅助工具,... 关于!微信微乐自建房辅助工具,微乐家乡麻将自建房辅助app(开挂自建房)方法1)微乐家乡麻将自建房辅...
大家学习交流!微信卡五星辅助器... 大家学习交流!微信卡五星辅助器,微乐小程序免费黑科技(开挂自建房)方法1、很好的工具软件,可以解锁游...
三分钟了解!微乐微信自建房辅助... 三分钟了解!微乐微信自建房辅助工具插件,微乐家乡麻将自建房辅助app(开挂自建房)工具1、三分钟了解...
一分钟教会你!微乐家乡麻将自建... 一分钟教会你!微乐家乡麻将自建房辅助app,微乐自建房脚本免费入口(开挂自建房)方法1、用户打开应用...
分享实测!微信微乐自建房辅助工... 分享实测!微信微乐自建房辅助工具,微乐自建房脚本免费入口(开挂自建房)器1、起透看视 微信微乐自建房...
重大通报!微乐自建房辅助工具脚... 重大通报!微乐自建房辅助工具脚本,微乐小程序免费黑科技(开挂自建房)app微乐自建房辅助工具脚本破解...
如何分辨真伪!微乐微信自建房辅... 如何分辨真伪!微乐微信自建房辅助工具插件,微乐小程序免费黑科技(开挂自建房)技巧1、微乐微信自建房辅...
我来教教你!微乐自建房辅助工具... 我来教教你!微乐自建房辅助工具挂,微乐家乡麻将自建房辅助app(开挂自建房)工具1、玩家可以在微乐家...
重大来袭!微乐自建房辅助工具神... 重大来袭!微乐自建房辅助工具神器,微乐小程序免费黑科技(开挂自建房)器1、游戏颠覆性的策略玩法,独创...
带你了解!微信卡五星辅助器,微... 带你了解!微信卡五星辅助器,微乐自建房脚本免费入口(开挂自建房)方法1、带你了解!微信卡五星辅助器,...