CDK Stepfunction Fargate шаг, который занимает все json ключ - PullRequest
1 голос
/ 29 января 2020

Я хотел создать задачу ECS, которая принимает все json в качестве входных данных среды. Но мой код cdk не будет развернут из-за следующего сообщения об ошибке, сообщение об ошибке настолько расплывчато, и мне трудно понять, почему мой код неправильный.

Failed to call Step Functions for request: 'com.amazonaws.services.stepfunctions.model.CreateStateMachineRequest'. (Service: null; Status Code: 500; Error Code: null; Request ID: null)
        new StateMachine (/local/home/miae/Explanation/src/ForecastingDeepLearningExplanationInfrastructure/node_modules/@aws-cdk/aws-stepfunctions/lib/state-machine.ts:101:26)

Мой код CDK

...
const ecsFargateTask = new sfn.Task(this, 'myEcs', {
            inputPath: "$",
            resultPath: "$.ecs",
            task: new class implements sfn.IStepFunctionsTask {
                bind(): sfn.StepFunctionsTaskConfig {
                    return {
                        resourceArn: "arn:aws:states:::ecs:runTask.sync",
                        parameters: {
                            "LaunchType": "FARGATE",
                            "Cluster": props.cluster.clusterArn,
                            "TaskDefinition": taskDefinition.taskDefinitionArn,
                            "Overrides": {
                                "ContainerOverrides": [{
                                    "Name": "myContainer",
                                    "Environment.$": "$.envs"
                                }]
                            }
                        }
                    };
                }
            }
        });
    }
const chain = sfn.Chain.start(ecsFargateTask);
new sfn.StateMachine(this, `StateMachineCopy${props.stage}`, {
            definition: chain,
            timeout: cdk.Duration.seconds(3000)
});


Мне нужна эта функция Step, и я мог бы создать ее вручную без проблем.

{
    "StartAt": "ExplanationEcs",
    "States": {
        "ExplanationEcs": {
            "End": true,
            "InputPath": "$",
            "Parameters": {
                "LaunchType": "FARGATE",
                "Cluster": "arn:aws:ecs:us-west-2:123456789:cluster/myCluster482E02CC-1VWQ5XRG4II88",
                "TaskDefinition": "arn:aws:ecs:us-west-2:123456789:task-definition/myTaskDefinitionE3E6548C:3",
                "Overrides": {
                    "ContainerOverrides": [
                        {
                            "Name": "myContainer",
                            "Environment.$": "$.envs"
                        }
                    ]
                }
            },
            "Type": "Task",
            "Resource": "arn:aws:states:::ecs:runTask.sync",
            "ResultPath": "$.ecs"
        }
    },
    "TimeoutSeconds": 3000
}
...