

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.

# Verwendung von Amazon States Language zur Definition von Step Functions Functions-Workflows
<a name="concepts-amazon-states-language"></a>

Die Amazon States Language ist eine JSON-basierte, strukturierte Sprache, die verwendet wird, um Ihre Zustandsmaschine zu definieren, eine Sammlung von [Zuständen](workflow-states.md), die funktionieren können (`Task`Status), bestimmen, zu welchen Status Sie als Nächstes übergehen sollen (`Choice`Status), eine Ausführung mit einem Fehler beenden können (`Fail`Status) und so weiter. 

Weitere Informationen finden Sie in der [Amazon States Language Specification](https://states-language.net/spec.html) und in [Statelint](https://github.com/awslabs/statelint), einem Tool, das Amazon States Language-Code validiert.

Informationen zum Erstellen eines Zustandsmaschinen in der [Step Functions Functions-Konsole](https://console.aws.amazon.com/states/home?region=us-east-1#/) mithilfe der Amazon States Language finden Sie unter [Erste Schritte](getting-started.md).

**Anmerkung**  
*Wenn Sie Ihre Zustandsmaschinen außerhalb der Step Functions Functions-Konsole definieren, z. B. in einem Editor Ihrer Wahl, müssen Sie Ihre Zustandsmaschinendefinitionen mit der Erweiterung .asl.json speichern.*

## Beispiel für eine Amazon States-Sprachspezifikation (JSONata)
<a name="example-amazon-states-language-specification"></a>

```
{
  "Comment": "An example of the Amazon States Language using a choice state.",
  "QueryLanguage": "JSONata",
  "StartAt": "FirstState",
  "States": {
    "FirstState": {
      "Type": "Task",
      "Assign": {
        "foo" : "{% $states.input.foo_input %}" 
        },
      "Resource": "arn:aws:lambda:{{region}}:123456789012:function:{{FUNCTION_NAME}}",
      "Next": "ChoiceState"
    },
    "ChoiceState": {
      "Type": "Choice",
      "Default": "DefaultState",
      "Choices": [
        {
          "Next": "FirstMatchState",
          "Condition": "{% $foo = 1 %}"
        },
        {
          "Next": "SecondMatchState",
          "Condition": "{% $foo = 2 %}"
        }
      ]
    },
    "FirstMatchState": {
      "Type" : "Task",
      "Resource": "arn:aws:lambda:{{region}}:123456789012:function:{{OnFirstMatch}}",
      "Next": "NextState"
    },

    "SecondMatchState": {
      "Type" : "Task",
      "Resource": "arn:aws:lambda:{{region}}:123456789012:function:{{OnSecondMatch}}",
      "Next": "NextState"
    },

    "DefaultState": {
      "Type": "Fail",
      "Error": "DefaultStateError",
      "Cause": "No Matches!"
    },

    "NextState": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:{{region}}:123456789012:function:{{FUNCTION_NAME}}",
      "End": true
    }
  }
}
```