无法通过 lambda 将记录放入运动中

Failed to put record in kinesis by lambda

由于我是 lambda 和 kinesis 的新手,所以提前致歉。

我有一个 SQS 订阅了 SNS。 lambda 轮询来自 SQS 的消息,并在 XYZ 处理后将其发布到 kinesis。

我想知道如果通过lambda 将记录写入kinesis 失败,它的重试机制是什么?

假设它重试乘以代码重试策略并再次失败。由于 lambda 在多次重试后仍无法将其放入运动中,我们是否有任何机制来获得有关将记录放入运动中失败的通知?会不会认为lambda不能处理记录,放到SQS DLQ?

失败的频率如何(例如,将记录推送到订阅 SNS 的 SQS 的失败几乎可以忽略不计)?

假设:aws lambda 函数正在尝试在 aws 运动流中添加记录。

import boto3


kinesis_client = boto3.resource
attempt = 0

while attempt < 5:
  attempt += 1
  try:
    # trying to add a record in a kniesis stream
    response = kinesis_client.put_record(
        StreamName='some_stream_1',
        Data=data,
        PartitionKey='sone_key_123',
    )
  except Exception as err:
    if attempt < 5:
      pass
    else:
      # TODO send an email notification using aws SES
      ses_client.send_email()