我将事件发送到AWS Kinesis,这些事件由AWS lambda函数处理。但是,如果lambda抛出一些错误,则不会丢弃记录,并且会一次又一次地进行处理,从而阻止处理新记录。
我宁愿跳过错误的记录,消化新的记录。我不知道该怎么做。
lambda函数捕获任何异常,因此不应给出任何执行错误。
下面是python中的片段。
我知道lambda应该在“保留”期间重试(默认为24小时),但我希望放弃并最终记录任何类型的错误
def ProcessKinesisRecords(event, context):
body = "ok"
response_code = 200
for record in event['Records']:
# Kinesis data is base64 encoded so decode here
try:
payload = base64.b64decode(record["kinesis"]["data"])
#...payload processing
except Exception as e:
body = e
return {"isBase64Encoded": True, "statusCode": response_code, "headers": { "x-custom-header": "headerValue" }, "body": body}
我想我遵循了lambda重试...但我不明白我做错了什么
实际上,我并没有捕捉到所有的异常。在python中
except Exception as e:
没有捕获所有异常:在Python中,除了:和除了异常之间的区别为e:
它不会捕获BaseException或系统退出异常SystemExit、KeyboardInterrupt和GeneratorExit。这就是为什么它不起作用。
错误:getMore命令失败:{“operationtime”:Timestamp(1547144095,335),“ok”:0,“errmsg”:“未能在$convert中解析objectId”,没有onError值:>解析到OID的字符串长度无效,预期为24,但找到0“,”code“:241,”codename“:”conversionfailure“,”$clustertime“:{”clu
除了前一节介绍的权重衰减以外,深度学习模型常常使用丢弃法(dropout)[1] 来应对过拟合问题。丢弃法有一些不同的变体。本节中提到的丢弃法特指倒置丢弃法(inverted dropout)。 方法 回忆一下,“多层感知机”一节的图3.3描述了一个单隐藏层的多层感知机。其中输入个数为4,隐藏单元个数为5,且隐藏单元$h_i$($i=1, \ldots, 5$)的计算表达式为 $$h_i = \p
问题内容: 我有以下代码片段: 当我输入以下内容时: 结果是: 怎么来的?我如何保留评论? 编辑 :我不在乎使用的确切xml库,但是,我应该能够对标记进行粘贴的更改。不幸的是,lxml似乎不允许这样做(而且我无法使用正确的名称空间操作) 问题答案: 您不能使用,因为它的解析器会忽略注释(顺便说一下,这对于xml解析器来说是可以接受的行为)。但是,如果您使用(兼容)lxml库,则可以使用它,它允许您
这个问题只是为了让我理解这个概念。空值怎么能转换成(可丢弃的)?null不是一个类,对吗?这个问题可能很愚蠢。 我知道:
我需要对某个异步方法进行fire-and-forget调用。我意识到VS建议我可以将调用设置为丢弃,IDE警告就会消失。但我不确定当和discard一起使用时,是否仍然没有等待该调用。是吗?
我正在通过、和进行实时视频处理。 我已经在下面添加了核心代码。 驱动此操作的代码如下所示: