AWS Step Function 如何模仿 StringStartsWith 条件?

AWS Step Function how to imitate StringStartsWith condition?

我需要根据负载字段的首字母调用不同的 lambda。没有合适的Choice Rule。有什么解决方法吗?

Step Functions 不支持字符串模式匹配比较运算符。解决方法是使用 Lambda 函数执行此比较,并使用 Choice 状态检查比较结果。

如果您要匹配字段的值,可以使用 StringMatches 运算符。

例如,这应该检查 $.some_field 值并移动到状态 Goto_AGoto_BGoto_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