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 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南