

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Starten Sie eine neue AWS Step Functions Zustandsmaschine aus einer laufenden Ausführung
<a name="connect-stepfunctions"></a>

Step Functions lässt sich in seine eigene API als Serviceintegration integrieren. Erfahren Sie, wie Sie Step Functions verwenden, um eine neue Ausführung einer Zustandsmaschine direkt aus dem Aufgabenstatus einer laufenden Ausführung heraus zu starten. Verwenden Sie beim Erstellen neuer Workflows [verschachtelte Workflow-Ausführungen](concepts-nested-workflows.md), um die Komplexität Ihrer Haupt-Workflows zu reduzieren und gängige Prozesse wiederzuverwenden.

**Hauptmerkmale der Integration von Optimized Step Functions**  
Das [Ausführen einer Aufgabe (.sync)](connect-to-resource.md#connect-sync) Integrationsmuster ist verfügbar.

Weitere Informationen finden Sie hier:
+ [Beginnen Sie mit einer Aufgabe](concepts-nested-workflows.md)
+ [Integrieren von -Services](integrate-services.md)
+ [Übergeben von Parametern an eine Service-API in Step Functions](connect-parameters.md)

## Optimierte Step Functions APIs
<a name="connect-stepfunctions-api"></a>
+ [https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)

## Workflow-Beispiele
<a name="connect-stepfunctions-api-examples"></a>

Das folgende Beispiel enthält einen `Task`-Status, der die Ausführung eines anderen Zustandsautomaten startet und wartet, bis sie abgeschlossen ist.

```
{  
   "Type":"Task",
   "Resource":"arn:aws:states:::states:startExecution.sync:2",
   "Arguments":{  
      "Input":{
        "Comment": "Hello world!"
       },
      "StateMachineArn":"arn:aws:states:region:account-id:stateMachine:HelloWorld",
      "Name":"ExecutionName"
   },
   "End":true
}
```

Das folgende Beispiel enthält einen `Task`-Status, der die Ausführung eines anderen Zustandsautomaten startet.

```
{  
   "Type":"Task",
   "Resource":"arn:aws:states:::states:startExecution",
   "Arguments":{  
      "Input":{
        "Comment": "Hello world!"
       },
      "StateMachineArn":"arn:aws:states:region:account-id:stateMachine:HelloWorld",
      "Name":"ExecutionName"
   },
   "End":true
}
```

Das Folgende enthält einen `Task`-Zustand zur Implementierung des [Callback-](connect-to-resource.md#connect-wait-token) Service-Integrationsmusters.

```
{ 
   "Type":"Task",
   "Resource":"arn:aws:states:::states:startExecution.waitForTaskToken",
   "Arguments":{ 
      "Input":{
        "Comment": "Hello world!",
        "token": "{% $states.context.Task.Token %}"
       },
      "StateMachineArn":"arn:aws:states:region:account-id:stateMachine:HelloWorld",
      "Name":"ExecutionName"
   },
   "End":true
}
```

Um eine verschachtelte Workflow-Ausführung der übergeordneten Ausführung zuzuordnen, mit der sie gestartet wurde, übergeben Sie einen speziell benannten Parameter, der die Ausführungs-ID enthält, die aus dem [Context-Objekt](input-output-contextobject.md) abgerufen wurde. Wenn Sie eine verschachtelte Ausführung starten, verwenden Sie einen Parameter namens `AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID`. Übergeben Sie die Ausführungs-ID und den Verweis auf die ID im Context-Objekt mit. `$states.context.Execution.Id` Weitere Informationen finden Sie unter [Zugreifen auf das Context-Objekt](input-output-contextobject.md#contextobject-access).

```
{  
   "Type":"Task",
   "Resource":"arn:aws:states:::states:startExecution.sync",
   "Arguments":{  
      "Input":{
        "Comment": "Hello world!",
        "AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID": "{% $states.context.Execution.Id %}"
       },
      "StateMachineArn":"arn:aws:states:region:account-id:stateMachine:HelloWorld",
      "Name":"ExecutionName"
   },
   "End":true
}
```

 Verschachtelte Zustandsautomaten geben Folgendes zurück: 


| Ressource | Ausgabe | 
| --- | --- | 
| Startexecution.sync | Zeichenfolge | 
| Startexecution.sync:2 | JSON | 

Beide warten, bis der verschachtelte Zustandsautomat fertig ist, aber sie geben verschiedene `Output`-Formate zurück. Wenn Sie beispielsweise eine Lambda-Funktion erstellen, die das Objekt zurückgibt`{ "MyKey": "MyValue" }`, würden Sie die folgenden Antworten erhalten:

Für startExecution.sync:

```
{
   <other fields>
   "Output": "{ \"MyKey\": \"MyValue\" }" 
}
```

Für startExecution.sync:2:

```
{
   <other fields> 
   "Output": {
      "MyKey": "MyValue"
   }
}
```

### Konfiguration von IAM-Berechtigungen für verschachtelte Zustandsmaschinen
<a name="nested-stepfunctions-iam-permissions"></a>

Ein übergeordneter Zustandsmaschine bestimmt anhand von Abfragen und Ereignissen, ob ein untergeordneter Zustandsmaschine die Ausführung abgeschlossen hat. Für Abfragen ist eine Genehmigung erforderlich, `states:DescribeExecution` während für Ereignisse, die EventBridge an Step Functions gesendet werden, Berechtigungen für `events:PutTargets``events:PutRule`, und `events:DescribeRule` erforderlich sind. Wenn diese Berechtigungen in Ihrer IAM-Rolle fehlen, kann es zu einer Verzögerung kommen, bis ein übergeordneter Zustandsmaschine erfährt, dass die Ausführung des untergeordneten Zustandsmaschinen abgeschlossen ist.

Verwenden Sie für einen Zustandsmaschine, der die Ausführung eines einzelnen verschachtelten Workflows erfordert`StartExecution`, eine IAM-Richtlinie, die die Berechtigungen auf diesen Zustandsmaschine beschränkt. 

## IAM-Richtlinien für den Aufruf verschachtelter Step Functions Functions-Workflows
<a name="stepfunctions-iam"></a>

Verwenden Sie für eine Zustandsmaschine, die die Ausführung eines einzelnen verschachtelten Workflows erfordert`StartExecution`, eine IAM-Richtlinie, die die Berechtigungen auf diese Zustandsmaschine beschränkt. 

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "states:StartExecution"
            ],
            "Resource": [
                "arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachineName"
            ]
        }
    ]
}
```

Weitere Informationen finden Sie hier:
+ [Integration von Diensten mit Step Functions](integrate-services.md)
+ [Übergeben von Parametern an eine Service-API in Step Functions](connect-parameters.md)
+ [Starten Sie eine neue AWS Step Functions Zustandsmaschine aus einer laufenden Ausführung](#connect-stepfunctions)

------
#### [ Synchronous ]<a name="sync-async-iam-policies"></a>

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "states:StartExecution"
            ],
            "Resource": [
                "arn:aws:states:us-east-1:123456789012:stateMachine:stateMachineName"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "states:DescribeExecution",
                "states:StopExecution"
            ],
            "Resource": [
               "arn:aws:states:us-east-1:123456789012:execution:myStateMachineName:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
               "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForStepFunctionsExecutionRule"
            ]
        }
    ]
}
```

------
#### [ Asynchronous ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "states:StartExecution"
            ],
            "Resource": [
                "arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachineName"
            ]
        }
    ]
}
```

------

**Erforderliche ARN-Typen**  
Beachten Sie in der Richtlinie für **Synchronous**, dass ein State-Machine-ARN `states:StartExecution` erforderlich ist, wohingegen `states:DescribeExecution` und ein Ausführungs-ARN `states:StopExecution` erforderlich ist.  
Wenn Sie irrtümlicherweise alle drei Aktionen kombinieren, ist der JSON-Code gültig, die IAM-Richtlinie jedoch falsch. Eine falsche Richtlinie kann zu Problemen beim and/or Zugriff auf Workflows während der Workflow-Ausführung führen.

Weitere Informationen zu verschachtelten Workflow-Ausführungen finden Sie unter [Starten Sie Workflow-Ausführungen von einem Aufgabenstatus aus in Step Functions](concepts-nested-workflows.md).