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

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ