有没有办法自定义状态机执行名称?

Is there a way to customized a state machine execution name?

默认情况下,每个 AWS Step Function 执行名称都是随机生成的。我想为每个随机生成的名称添加一个前缀。我在文档中的任何地方都找不到执行此操作的方法。我设想这样做的方式是在定义 EventBridge 规则的 CloudFormation 模板中,但如果有我目前不知道的方式,我愿意接受建议。

有没有其他人能够做到这一点,还是我运气不好?

如果您正在调用 startExecution,那么我在下面提到了一种方法。但似乎您的问题与从其他服务(可能是 EventBridge)调用 Step Functions 有关,我的回答并未涵盖它。为此,如果没有直接的方法,您可以调用 Lambda 函数并从 Lambda 调用 Step Function startExecution。

StartExecution 接受这个:

{
   "input": "string",
   "name": "string",
   "stateMachineArn": "string",
   "traceHeader": "string"
}

name 就是您要查找的内容:

The name of the execution. This name must be unique for your AWS account, region, and state machine for 90 days. For more information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide.

A name must not contain:

white space

brackets < > { } [ ]

wildcard characters ? *

special characters " # % \ ^ | ~ ` $ & , ; : /

control characters (U+0000-001F, U+007F-009F)

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

Link: https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html

从 AWS CLI、控制台启动执行时,您有类似的选项...