amazon-web-services - 在 AWS CDK 中设置状态机时,如何删除 Lambda 调用的默认重试策略?
问题描述
我正在使用 AWS CDK 创建一个状态机。而不是默认的重试策略,如下所示:
"Retry": [
{
"ErrorEquals": [
"Lambda.ServiceException",
"Lambda.AWSLambdaException",
"Lambda.SdkClientException"
],
"IntervalSeconds": 2,
"MaxAttempts": 6,
"BackoffRate": 2
}
]
我只想拥有一个看起来像这样的包罗万象的政策:
"Retry": [
{
"ErrorEquals": [
"States.ALL"
],
"IntervalSeconds": 10,
"MaxAttempts": 3,
"BackoffRate": 1.5
}
]
不幸的是,我在部署堆栈时找不到删除默认策略的方法。我的包罗万象只是被添加到重试策略数组的末尾。
"Retry": [
{
"ErrorEquals": [
"Lambda.ServiceException",
"Lambda.AWSLambdaException",
"Lambda.SdkClientException"
],
"IntervalSeconds": 2,
"MaxAttempts": 6,
"BackoffRate": 2
},
{
"ErrorEquals": [
"States.ALL"
],
"IntervalSeconds": 10,
"MaxAttempts": 3,
"BackoffRate": 1.5
}
]
任何人都知道如何摆脱默认策略?
解决方案
我在文档中找到了答案
当您创建名为 的 LambdaInvoke 任务时,您可以设置一个标志retryOnServiceExceptions
。将其设置为 false 会删除默认的重试策略。
var submitOrder = new sfnt.LambdaInvoke(this, "SubmitOrder", {
lambdaFunction: submitOrderLambda,
comment: "Call the orders api to submit the order update",
retryOnServiceExceptions: false
});
推荐阅读
- google-apps-script - 谷歌图表 - 隐藏系列标签太宽
- delphi - 如何在 Delphi/Firemonkey 中破坏 ITask
- environment-variables - 属性类型“Int”与其包装器类型“EnvironmentObject”的“wrappedValue”属性不匹配
- java - 我可以将文件放入没有字符串类型的数组列表中吗?
- python - 我正在使用 QSqlDatabase 和 QTableView 来显示一个表,但是 GUI 以某种方式显示一个空表(甚至没有标题)
- c++ - vulkan验证层问题
- amazon-web-services - 使用 PutRecords 将多条记录加载到 Kinesis - 如何在失败的情况下仅重新发送失败的记录?
- javascript - 得到像 Too many re-renders 这样的错误。React 限制渲染次数以防止无限循环
- javascript - 获取 ES6 循环的前一项
- javascript - 如何解析数据类型函数 Array() { [native code] }