0

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

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

我想知道通过 lambda 将记录放入 kinesis 是否失败了它的重试机制是什么?

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

它多久失败一次(例如,将记录推送到订阅了 SNS 的 SQS 的失败几乎可以忽略不计)?

4

1 回答 1

0

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

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()
于 2018-06-17T12:57:05.010 回答