amazon-web-services - 在 AWS CDK 中设置状态机时,如何删除 Lambda 调用的默认重试策略?

标签 amazon-web-services aws-cdk aws-step-functions retrypolicy

我正在使用 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
    }
  ]

有人知道如何摆脱默认政策吗?

最佳答案

我在 documentation 中找到了答案 您可以在创建 LambdaInvoke 任务时设置一个名为 retryOnServiceExceptions 的标志。将其设置为 false 将删除默认重试策略。

var submitOrder = new sfnt.LambdaInvoke(this, "SubmitOrder", {
  lambdaFunction: submitOrderLambda,
  comment: "Call the orders api to submit the order update",
  retryOnServiceExceptions: false   
});

关于amazon-web-services - 在 AWS CDK 中设置状态机时,如何删除 Lambda 调用的默认重试策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65153474/

相关文章:

amazon-web-services - 我们可以触发使用 AWS Step 函数构建的状态机的特定执行的特定事件吗?

amazon-web-services - 如何在 X-Ray 服务映射中链接 lambda 函数调用

mysql - AWS RDS只读机器--如何添加新用户

aws-cloudformation - 从 CFN 模板在本地动态创建 Step Function 状态机

amazon-web-services - 当我将此 BucketDeployment 添加到我的 CDK CodePipeline 时,cdk synth 永远不会完成

amazon-web-services - Terraform 不会将步骤函数部署到 API 网关

amazon-web-services - 为什么 Dynamodb.put 在 Lambda 函数中不起作用?返回空值。如何调试?

python - AWSCLI 和 AWSEBCLI 有什么区别?

amazon-web-services - Cloudformation 将参数发送到启动配置启动脚本

amazon-web-services - 使用 AWS CDK 创建 VPC 时如何排除路由表及其路由的默认创建