AWSMSK触发器-Lambda(消费者)无限运行
创始人
2024-09-26 15:01:38
0

这个问题的出现是因为Lambda函数没有正确处理Kafka的消息。其结果是函数不断地尝试重新处理相同的消息,导致无限循环。

以下是一种可能的解决方法,通过使用“记录”功能,将Lambda函数的状态存储在DynamoDB表中,这样每条消息只会被消费一次:

import boto3
import json
import logging
import time

logger = logging.getLogger()
logger.setLevel(logging.INFO)
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('lambda_state')

def lambda_handler(event, context):
    logger.info('Received event: ' + json.dumps(event))

    # Check if message has already been processed
    msg_id = event['Records'][0]['SNS']['MessageId']
    response = table.get_item(Key={'id': msg_id})

    if 'Item' not in response:
        # Process message
        logger.info('Processing message: ' + json.dumps(event))

        # Save state
        table.put_item(Item={'id': msg_id, 'timestamp': int(time.time())})

    else:
        logger.info('Message already processed: ' + json.dumps(event))

    return

此解决方案使用DynamoDB表来存储已处理的消息列表,并检查新的Kafka消息是否在此列表中。如果不在,则处理消息,并将其添加到DynamoDB表中。如果在,则跳过处理。

请注意,此方法仅使用了一个DynamoDB表。但是,在实际生产中,您可能需要使用多个表,具体取决于应用程序的要求和设计。

相关内容

热门资讯

透视中牌率!wepoker辅助... 透视中牌率!wepoker辅助透视软件,甘肃白银麻将辅助软件,系统教程(有挂攻略)1、许多玩家不知道...
查到实测!gg扑克有赢的吗,w... 查到实测!gg扑克有赢的吗,wepoke模拟器,软件教程(最初存在有挂)1、不需要AI权限,帮助你快...
透视总结!aapoker透视插... 透视总结!aapoker透视插件下载,唯思竞技修改器,AI教程(有挂神器);唯思竞技修改器软件透明挂...
推荐一款!wpk微扑克系统发牌... 推荐一款!wpk微扑克系统发牌规律,德扑之星有猫腻,攻略教程(起初是真的有挂);致您一封信;亲爱微扑...
透视计算!wpk辅助ai,越乡... 透视计算!wpk辅助ai,越乡游义乌辅助,教你攻略(有挂软件)是一款可以让一直输的玩家,快速成为一个...
发现一款!wepower插件,... 一、WePoKe透视挂简介了解软件请加微:136704302WePoKe透视挂是一款在线扑克游戏平台...
透视透视!wpk透视辅助软件,... 透视透视!wpk透视辅助软件,赣牌圈辅助器视频,必赢教程(有挂软件);实战中需综合运用上述技巧,并根...
玩家攻略!微扑克小程序辅助器,... 您好,wepoke的确有挂这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩...
透视好友!hhpoker辅助软... 透视好友!hhpoker辅助软件下载,川娱竞技有挂透视脚本,规律教程(有挂技巧);人气非常高,ai更...
2024教程!智星德州辅助,w... 2024教程!智星德州辅助,wepoke真的有挂,新2025版(原来真的有挂)是一款可以让一直输的玩...