

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

# Step Functions
<a name="stepfunctions-rule-action"></a>

Step Functions (`stepFunctions`) 操作启动 AWS Step Functions 状态机。

## 要求
<a name="stepfunctions-rule-action-requirements"></a>

此规则操作具有以下要求：
+  AWS IoT 可以代入执行`states:StartExecution`操作的 IAM 角色。有关更多信息，请参阅 [授予 AWS IoT 规则所需的访问权限](iot-create-role.md)。

  在 AWS IoT 控制台中，您可以选择或创建 AWS IoT 允许执行此规则操作的角色。

## 参数
<a name="stepfunctions-rule-action-parameters"></a>

使用此操作创建 AWS IoT 规则时，必须指定以下信息：

`stateMachineName`  
开始执行 Step Functions 状态机的名称。  
仅支持[替换模板](iot-substitution-templates.md)：API 且 AWS CLI 仅支持

`executionNamePrefix`  
（可选）将为状态机执行操作指定名称，由此前缀后加 UUID 组成。如果未提供名称，Step Functions 会自动为每次状态机执行创建一个唯一的名称。  
支持[替换模板](iot-substitution-templates.md)：是

`roleArn`  
授予启动状态机的 AWS IoT 权限的角色的 ARN。有关更多信息，请参阅 [要求](#stepfunctions-rule-action-requirements)。  
支持[替换模板](iot-substitution-templates.md)：否

## 示例
<a name="stepfunctions-rule-action-examples"></a>

以下 JSON 示例在 AWS IoT 规则中定义了 Step Functions 操作。

```
{
    "topicRulePayload": {
        "sql": "SELECT * FROM 'some/topic'",
        "ruleDisabled": false,
        "awsIotSqlVersion": "2016-03-23",
        "actions": [
            {
                "stepFunctions": {
                    "stateMachineName": "myStateMachine",
                    "executionNamePrefix": "myExecution",
                    "roleArn": "arn:aws:iam::123456789012:role/aws_iot_step_functions"
                }
            }
        ]
    }
}
```

## 另请参阅
<a name="stepfunctions-rule-action-see-also"></a>
+ [什么是 AWS Step Functions？](https://docs.aws.amazon.com/step-functions/latest/dg/) 在《*AWS Step Functions 开发者指南》*中