Lambda 重试正确处理的运动事件

问题描述 投票:0回答:2

我有一个 lambda 处理运动事件。

Kinesis 在失败时可以重试 3 次。

lambda 正确处理事件,但被调用了 4 次。

我一直在寻找可能的原因,我发现了这个:

[cloudshell-user@ip-10-130-89-49 ~]$  aws lambda list-event-source-mappings --event-source-arn arn:aws:kinesis:us-east-1:xxxx:stream/xxxx

{
"EventSourceMappings": [
    {
        "UUID": "xxx-xx-xx-xx-xxxx",
        "StartingPosition": "LATEST",
        "BatchSize": 100,
        "MaximumBatchingWindowInSeconds": 3,
        "ParallelizationFactor": 1,
        "EventSourceArn": "arn:aws:kinesis:us-east-1:xxxxxx:stream/xxxxx-ingestion-kinesis",
        "FunctionArn": "arn:aws:lambda:us-east-1:xxxxx:function:yyyyyy:PROD",
        "LastModified": "2024-03-26T12:46:00+00:00",
        "LastProcessingResult": "PROBLEM: Function response syntax is invalid. Please check function implementation.",
        "State": "Enabled",
        "StateTransitionReason": "User action",
        "DestinationConfig": {
            "OnFailure": {}
        },
        "MaximumRecordAgeInSeconds": 3600,
        "BisectBatchOnFunctionError": true,
        "MaximumRetryAttempts": 3,
        "TumblingWindowInSeconds": 60,
        "FunctionResponseTypes": []
    }
]

}

我一直在寻找

“问题:函数响应语法无效。请检查函数实现。”

但我没有找到任何相关信息。

有什么想法吗?

node.js amazon-web-services aws-lambda amazon-kinesis
2个回答
1
投票

由于您的设置,您的 lambda 代码会产生错误,或者至少响应是错误的

   "MaximumRetryAttempts": 3,

它在初始调用后调用该函数 3 次,因为它将其解释为错误。

您可以阅读这里以获取详细说明。


0
投票

就我而言,问题出在 template.yml 中

我尝试使用 lambda 的 Events 字段部署 template.yml 以便与 kinesis 连接,但它不起作用。 一旦我将其移动到自己的

EventSourceMapping
实体,它就解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.