Tim*_*mbo 6 amazon-web-services aws-lambda aws-step-functions
我正在运行带有并行执行分支的AWS Step函数。
每个分支都单独成功,但是整个功能失败并显示以下错误:
States.DataLimitExceeded-状态/任务返回的结果大小超过了最大字符服务限制数。
然后,我从AWS上找到了一篇描述此问题的文章,并提出了以下解决方法:
https://docs.aws.amazon.com/step-functions/latest/dg/connect-lambda.html
那篇文章说:
Lambda调用API默认情况下在响应中包含日志。工作流中的多个Lambda调用会触发States.DataLimitExceeded错误。为避免这种情况,在调用Lambda函数时,请将“ LogType” =“ None”作为参数包含在内。
我的问题是在哪里正是我把它?我尝试将其放在状态机定义中的各个位置,但是出现以下错误:
步骤功能不支持“ LogType”字段
该错误似乎与支持文章相反,所以也许我做错了!
任何建议表示赞赏,在此先感谢!
干杯
更新1: 显然,这是一个并行函数,具有26个并行分支。每个分支的输出均较小,如下例所示。此数据中最大的项是LogResult,它(在对base64进行解码时)仅是账单信息。我认为此信息乘以26导致了错误,所以我只想关闭此LogResult!
{
"ExecutedVersion": "$LATEST",
"LogResult": "U1RBUlQgUmVxdWVzdElkOiBlODJjZTRkOS0zMjk2LTRlNDctYjcyZC1iYmEwMzI1YmM3MGUgVmVyc2lvbjogJExBVEVTVApFTkQgUmVxdWVzdElkOiBlODJjZTRkOS0zMjk2LTRlNDctYjcyZC1iYmEwMzI1YmM3MGUKUkVQT1JUIFJlcXVlc3RJZDogZTgyY2U0ZDktMzI5Ni00ZTQ3LWI3MmQtYmJhMDMyNWJjNzBlCUR1cmF0aW9uOiA3NzI5Ljc2IG1zCUJpbGxlZCBEdXJhdGlvbjogNzgwMCBtcwlNZW1vcnkgU2l6ZTogMTAyNCBNQglNYXggTWVtb3J5IFVzZWQ6IDEwNCBNQglJbml0IER1cmF0aW9uOiAxMTY0Ljc3IG1zCQo=",
"Payload": {
"statusCode": 200,
"body": {
"signs": 63,
"nil": ""
}
},
"SdkHttpMetadata": {
"HttpHeaders": {
"Connection": "keep-alive",
"Content-Length": "53",
"Content-Type": "application/json",
"Date": "Thu, 21 Nov 2019 04:00:42 GMT",
"X-Amz-Executed-Version": "$LATEST",
"X-Amz-Log-Result": "U1RBUlQgUmVxdWVzdElkOiBlODJjZTRkOS0zMjk2LTRlNDctYjcyZC1iYmEwMzI1YmM3MGUgVmVyc2lvbjogJExBVEVTVApFTkQgUmVxdWVzdElkOiBlODJjZTRkOS0zMjk2LTRlNDctYjcyZC1iYmEwMzI1YmM3MGUKUkVQT1JUIFJlcXVlc3RJZDogZTgyY2U0ZDktMzI5Ni00ZTQ3LWI3MmQtYmJhMDMyNWJjNzBlCUR1cmF0aW9uOiA3NzI5Ljc2IG1zCUJpbGxlZCBEdXJhdGlvbjogNzgwMCBtcwlNZW1vcnkgU2l6ZTogMTAyNCBNQglNYXggTWVtb3J5IFVzZWQ6IDEwNCBNQglJbml0IER1cmF0aW9uOiAxMTY0Ljc3IG1zCQo=",
"x-amzn-Remapped-Content-Length": "0",
"x-amzn-RequestId": "e82ce4d9-3296-4e47-b72d-bba0325bc70e",
"X-Amzn-Trace-Id": "root=1-5dd60be1-47c4669ce54d5208b92b52a4;sampled=0"
},
"HttpStatusCode": 200
},
"SdkResponseMetadata": {
"RequestId": "e82ce4d9-3296-4e47-b72d-bba0325bc70e"
},
"StatusCode": 200
}
Run Code Online (Sandbox Code Playgroud)
小智 4
我最近遇到了和你完全相同的问题。你还没有说你的 lambda 正在做什么或返回什么,但我发现 AWS 指的是任务在执行中的限制https://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service -限制任务执行。
我发现我的特定 lambda 响应非常长,有数十万个字符。对此进行修改,使 lambda 的响应更加合理,从而克服了阶跃函数中的错误。
| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |