Specifying Execution Name for Nested Step Functions

0

Hi. I'm using nested Step Function executions using the Run Job (sync) integration. The default child Execution Name generated by AWS is a generic UUID. I'd like to specify my own (more meaningful) execution name, by passing it as an input attribute to the parent Step Function.

I tried to use a "Name": "$.executionName" parameter in the integration task, but I got an Invalid Name error when starting the child Step Function execution. I passed an alphanumeric/underscore input value for "executionName", which should be legal as a Step Function execution name.

I suspect Step Functions treats the "Name" parameter as a literal value and doesn't expand the reference, and tries to create an execution with the literal name "$.executionName". This raises the question, how else can I specify dynamic execution names for nested Step Functions? If the parameter is a literal string, it'll only work once for a single execution, which doesn't make much sense.

PS. I'm using AWS CDK and the StepFunctionsStartExecution construct.

Clouden
질문됨 3년 전2537회 조회
2개 답변
0

I got the answer from https://twitter.com/notadamwong/status/1327475962540298241

You can use "Name.$" instead of "Name" to expand the reference to another input field.

I was confused by the AWS CDK StepFunctionsStartExecution construct's name property, which expands to "Name" behind the scenes. You have to create a custom construct in order to add a "Name.$" field.

Clouden
답변함 3년 전
0

Another tip from https://twitter.com/notadamwong/status/1327665864288583682

In AWS CDK you can use JsonPath.stringAt('$.executionName') as the name property, to automatically add the ".$" suffix to Name.

Clouden
답변함 3년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠