问题描述
默认情况下,每个 AWS Step Function 执行名称都是随机生成的。我想为每个随机生成的名称添加一个前缀。我在文档的任何地方都找不到这样做的方法。我设想这样做的方式是在定义 EventBridge 规则的 CloudFormation 模板中,但如果有我目前不知道的方式,我愿意接受建议。
有没有其他人能够做到这一点,还是我不走运?
解决方法
如果您正在调用 startExecution,那么我在下面提到了一种方法。但似乎您的问题与从其他服务(也许是 EventBridge)调用 Step Functions 相关,我的回答没有涵盖它。为此,如果没有直接的方法,您可以调用 Lambda 函数并从 Lambda 调用 Step Function startExecution。
StartExecution 接受这个:
{
"input": "string","name": "string","stateMachineArn": "string","traceHeader": "string"
}
而 name
正是您要找的:
执行的名称。此名称对于您的 AWS 必须是唯一的 帐户、区域和状态机 90 天。了解更多信息, 请参阅与 AWS 步骤中的状态机执行相关的限制 函数开发者指南。
名称不得包含:
空白区域
括号 { } [ ]
通配符? *
特殊字符" # % \ ^ | ~ ` $ &,; : /
控制字符(U+0000-001F、U+007F-009F)
要使用 CloudWatch Logs 启用日志记录,名称应仅包含 0-9、A-Z、a-z、- 和 _。
链接:https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html
从 AWS CLI、控制台开始执行时,您有类似的选项...