内部函数 - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

内部函数

亚马逊国家语言提供了多种内在语言,允许在没有Task状态。内部结构是在编程语言中看起来像函数的构造,可用于帮助有效负载构建器处理进出任务资源的数据。

States.Format

支持基于文字和插值的字符串构造,并接受一个或多个参数。第一个参数的 Value 必须是一个字符串,并且可以包含零个或多个字符序列的实例{}。调用中的剩余参数必须与出现{}。解释器返回第一个参数字符串,其中每个{}替换为内部调用中位置对应参数的值。

示例:给定以下输入:

{ "name": "Arnav", "template": "Hello, my name is {}." }

状态。格式可用于以下方式:

States.Format('Hello, my name is {}.', $.name)

States.Format($.template, $.name)

两者都会导致Hello, my name is Arnav.

States.StringToJson

接受一个参数,一个转义的 JSON 字符串的引用路径。

解释器应用 JSON 解析器返回其解析的 JSON 表单。例如,给定以下输入:

{ "escapedJsonString": "{\"foo\": \"bar\"}" }

你可以使用

States.StringToJson($.escapedJsonString)

将返回{ "foo": "bar" }

States.JsonToString

需要一个参数。此参数必须是路径。解释器返回一个字符串,该字符串是表示路径标识的数据的 JSON 文本。例如,给定以下输入:

{ "unescapedJson": { "foo": "bar" } }

你可以使用

States.JsonToString($.unescapedJson)

将返回{\"foo\": \"bar\"}

States.Array

这内在需要零个或多个参数。解释器按提供的顺序返回一个包含参数值的 JSON 数组。例如,给定以下输入:

{ "Id": 123456 }

你可以使用

"BuildId.$": "States.Array($.Id)"

将返回“BuildId”: [123456]

内部函数中的保留字符

以下字符是为内部函数保留的,如果希望它们出现在值中,则必须使用反斜杠 ('\') 进行转义:'{}, 和\

如果将该字符\需要作为值的一部分出现,而不用作转义字符,则必须首先使用反斜杠进行转义。内部调用的保留字符转义如下:

  • 文本符串\'代表'

  • 文本符串\{代表{

  • 文本符串\}代表}

  • 文本符串\\代表\

在 JSON 中,字符串文本值中包含的反斜杠必须使用另一个反斜杠进行转义。JSON 的等效列表是:

  • 转义字符串\\'代表'

  • 转义字符串\\{代表{

  • 转义字符串\\}代表}

  • 转义字符串\\\\代表\

注意

如果打开转义反斜杠\在内部调用字符串中找到,解释器将抛出运行时错误。

支持内部函数的字段

下表显示了哪些字段支持每个状态的内部函数。

支持内部函数的字段
State
Pass 任务 Choice Wait Succeed Fail Parallel 映射
InputPath
参数
结果选择器
ResultPath
OutputPath
变量
<Comparison Operator>路径
超时秒路径
心跳秒级路径