微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

步骤功能:批处理总是在异常抛出时返回 State.TaskFailed 错误

如何解决步骤功能:批处理总是在异常抛出时返回 State.TaskFailed 错误

我有以下批处理配置:

python 脚本(图像)和作业定义通过 gitlab 部署到 AWS ECR 并用作 step 函数中的任务。整个脚本被 try except 包含自定义错误类的块包围。

错误类别的例子

class CustomException(Exception):

       def __init__(self,message):

             self.message = message

函数示例

try: 

... 

except Exception as ex

raise CustomException(f"An exception occurred. Exception {str(ex)}")

此任务的步骤函数定义为:

"Batch": {

    "Type": "Task","Resource": "arn:aws:states:::batch:submitJob.sync","Parameters": {

    "JobDeFinition": "...","JobName": ".....","JobQueue": ".....","Parameters": {

        "parameters.$": "States.JsonToString($)"

    },"ContainerOverrides": {

        "Command": [

            "Ref::parameters"

        ]

    }

},"Retry": [

{

    "ErrorEquals": [

        "CustomException"

    ],"IntervalSeconds": 60,"MaxAttempts": 3

}

],"Catch": [

{

    "ErrorEquals": [

        "CustomException"

    ],"ResultPath": "$.errorMessage","Next": "Failed or Success?"

},{

    "ErrorEquals": [

        "States.ALL"

    ],"Next": "Failed or Success?"

 }

],"ResultPath": null,"Next": "...."

}

错误处理的主要原因当然是发送到自定义位置的适当消息,以及自定义异常的重试策略。

这个问题是,无论我如何尝试引发异常,步骤函数标记为:

"errorMessage": {

"Error": "States.TaskFailed","Cause": "{\"Attempts\":[{\"Container\":{\"ContainerInstanceArn\":\".....\",\"ExitCode\":1,\"LogStreamName ........}

为什么使用以下错误覆盖异常。这种行为是预期的还是有办法处理的?

如何克服这个 States.TaskFailed

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。