AWS Step Function 如何模仿 StringStartsWith 条件?
AWS Step Function how to imitate StringStartsWith condition?
我需要根据负载字段的首字母调用不同的 lambda。没有合适的Choice Rule。有什么解决方法吗?
Step Functions 不支持字符串模式匹配比较运算符。解决方法是使用 Lambda 函数执行此比较,并使用 Choice 状态检查比较结果。
如果您要匹配字段的值,可以使用 StringMatches
运算符。
例如,这应该检查 $.some_field 值并移动到状态 Goto_A
、Goto_B
、Goto_C
或者如果 none 匹配 Goto_Error
.
States:
Choice_FirstLetterOfSomeField:
Type: Choice
Choices:
- Variable: $.some_field
StringMatches: 'a*'
Next: Goto_A
- Variable: $.some_field
StringMatches: 'b*'
Next: Goto_B
- Variable: $.some_field
StringMatches: 'c*'
Next: Goto_C
Default: Goto_Error
我需要根据负载字段的首字母调用不同的 lambda。没有合适的Choice Rule。有什么解决方法吗?
Step Functions 不支持字符串模式匹配比较运算符。解决方法是使用 Lambda 函数执行此比较,并使用 Choice 状态检查比较结果。
如果您要匹配字段的值,可以使用 StringMatches
运算符。
例如,这应该检查 $.some_field 值并移动到状态 Goto_A
、Goto_B
、Goto_C
或者如果 none 匹配 Goto_Error
.
States:
Choice_FirstLetterOfSomeField:
Type: Choice
Choices:
- Variable: $.some_field
StringMatches: 'a*'
Next: Goto_A
- Variable: $.some_field
StringMatches: 'b*'
Next: Goto_B
- Variable: $.some_field
StringMatches: 'c*'
Next: Goto_C
Default: Goto_Error