AWS Batch:激活标记为非活动的先前修订

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

要求:考虑到对能够处理持续超过 15 分钟的任务的计算资源的要求,我们确定 AWS Batch 是最佳解决方案。

问题:我们支持应用程序的版本控制。但是,AWS Batch 不支持 AWS Lambda 等版本控制。不过,它会在每次部署后创建一个新的

JobDefinition
以及新的增量
revision

示例:

enter image description here

这里,

revision = 58

但是,它会将

revision
中的前一个
JobDefinition
标记为
inactive
,并且可以自动删除。

喜欢:

enter image description here

当我们尝试使用 aws sdk 提交

Job
到任何之前的
revision
时。

喜欢:

SubmitJobRequest submitJobRequest =
    SubmitJobRequest.builder()
        .jobName("sample")
        .jobQueue("sample")
        .jobDefinition("sample:"+ revision)
        .containerOverrides(
            ContainerOverrides.builder()
                .command(
                    "java",
                    "-cp",
                    "app.jar",
                    "-Dspring.main.web-application-type=none",
                    "-Dloader.main=com.BatchJob",
                    "org.springframework.boot.loader.PropertiesLauncher")
                .build())
        .build();

SubmitJobResponse submitJobResponse = batchClient.submitJob(submitJobRequest);

例外:

JobDefinition arn:aws:batch:eu-west-1:123456789123:job-definition/sample:57 is not in ACTIVE status. (Service: Batch, Status Code: 400, Request ID: bd6199a1-3978-458c-a84e-19de4c1acb62)

答案已读:

我已阅读 Stack Overflow 上的以下答案,但没有一个答案回答了我的问题:

  1. aws Batch Jobdefinition Cloudfromation 错误

  2. aws lambda 无法在 eu-west-1 中启动步骤函数

  3. AWS 批处理作业提交错误-Batch.ClientException

任何帮助将不胜感激!

amazon-web-services aws-cloudformation aws-batch
1个回答
0
投票

研究总结:如果您检查CloudTrail中的事件,您可以轻松找到被触发的

deregister-job-definition
事件。这会导致
job-definition
的最新修订版进入
inactive
状态,并且可以在 90 天后删除。

此外,CloudTrail Event 可以帮助您追踪来自 terraform 的问题。

如何解决这个问题?

修复方法是在 terraform 的

deregister_on_new_revision
资源块中显式添加
aws_batch_job_definition
,如下所示:

resource "aws_batch_job_definition" "test" {
  name = "tf_test_batch_job_definition"
  type = "container"

  .. 
  deregister_on_new_revision = false
}

描述:

deregister_on_new_revision
-(可选)更新作业定义时,会创建新的修订版本。该参数决定之前的版本是注销(
INACTIVE
)还是离开
ACTIVE
。默认为 true。

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