【问题标题】:Is there a way to customized a state machine execution name?有没有办法自定义状态机执行名称?
【发布时间】:2021-02-19 05:17:32
【问题描述】:
默认情况下,每个 AWS Step Function 执行名称都是随机生成的。我想为每个随机生成的名称添加一个前缀。我在文档中的任何地方都找不到这样做的方法。我设想这样做的方式是在定义 EventBridge 规则的 CloudFormation 模板中,但如果有我目前不知道的方式,我愿意接受建议。
有没有其他人能够做到这一点,还是我不走运?
【问题讨论】:
标签:
amazon-cloudformation
aws-step-functions
aws-event-bridge
【解决方案1】:
如果您正在调用 startExecution,那么我会在下面提到一种方法。但似乎您的问题与从其他服务(可能是 EventBridge)调用 Step Functions 相关,而我的回答并未涵盖它。为此,如果没有直接的方法,您可以调用 Lambda 函数并从 Lambda 调用 Step Function startExecution。
StartExecution 接受这个:
{
"input": "string",
"name": "string",
"stateMachineArn": "string",
"traceHeader": "string"
}
而name 正是您要找的:
执行的名称。此名称对于您的 AWS 必须是唯一的
帐户、区域和状态机 90 天。了解更多信息,
请参阅 AWS Step 中与状态机执行相关的限制
函数开发者指南。
名称不得包含:
空白
括号 { } [ ]
通配符? *
特殊字符“#%\^|~`$&,;:/
控制字符(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、控制台、...开始执行时,您有类似的选项