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.
Parameter an eine Service-API übergeben
Über das Parameters
-Feld in einem Task
-Status können Sie steuern, welche Parameter an eine Service-API übergeben werden.
Innerhalb des Parameters
Felds müssen Sie die Pluralform der Array-Parameter in einer API-Aktion verwenden. Wenn Sie beispielsweise das Feld Filter der DescribeSnapshots
API-Aktion für die Integration mit Amazon EC2 verwenden, müssen Sie das Feld als Filters
definieren. Wenn Sie die Pluralform nicht verwenden, gibt Step Functions den folgenden Fehler zurück:
The field Filter is not supported by Step Functions.
Übergeben Sie statisches JSON als Parameter
Sie können ein JSON-Objekt direkt in die Definition Ihres Zustandsautomaten einschließen, um es als Parameter an eine Ressource zu übergeben.
Um beispielsweise den Parameter RetryStrategy
für die SubmitJob
-API für AWS Batch festzulegen, können Sie Folgendes in Ihre Parameter einschließen.
"RetryStrategy": {
"attempts": 5
}
Sie können auch mehrere Parameter mit statischem JSON übergeben. Als vollständigeres Beispiel finden Sie im Folgenden die Parameters
Felder Resource
und die Spezifikation einer Aufgabe, die zu einem Amazon SNS-Thema mit dem Namen
veröffentlicht wird.myTopic
"Resource": "arn:aws:states:::sns:publish",
"Parameters": {
"TopicArn": "arn:aws:sns:us-east-2:123456789012:myTopic
",
"Message": "test message",
"MessageAttributes": {
"my attribute no 1": {
"DataType": "String",
"StringValue": "value of my attribute no 1"
},
"my attribute no 2": {
"DataType": "String",
"StringValue": "value of my attribute no 2"
}
}
},
Übergeben Sie die Zustandseingabe als Parameter mithilfe von Pfaden
Sie können Teile der Statuseingabe als Parameter übergeben, indem Sie Pfade verwenden. Ein Pfad ist eine Zeichenfolge, die mit beginnt und verwendet wird$
, um Komponenten innerhalb von JSON-Text zu identifizieren. Die Pfade von Step Functions verwenden JsonPath
Um anzugeben, dass ein Parameter einen Pfad verwendet, beenden Sie den Parameternamen mit.$
. Wenn Ihre Statuseingabe beispielsweise Text in einem Knoten mit dem Namen enthältmessage
, können Sie diesen Text als Parameter mithilfe eines Pfads übergeben.
Beachten Sie die folgende Zustandseingabe:
{
"comment": "A message in the state input",
"input": {
"message": "foo",
"otherInfo": "bar"
},
"data": "example"
}
Um den Wert des message
als Parameter benannten Knotens zu übergeben, geben Sie die folgende Syntax an:
"Parameters": {"myMessage.$": "$.input.message"},
Step Functions übergibt dann den Wert foo
als Parameter.
Weitere Informationen zur Verwendung von Parametern in Step Functions finden Sie im Folgenden:
Übergeben von Kontext-Knoten als Parameter
Zusätzlich zu statischem Inhalt und Knoten aus der Zustandseingabe können Sie Knoten aus dem Kontext-Objekt als Parameter übergeben. Das Kontext-Objekt besteht aus dynamischen JSON-Daten, die während der Ausführung eines Zustandsautomaten vorhanden sind. Es enthält unter anderem Informationen über Ihren Zustandsautomaten und die aktuelle Ausführung. Sie können auf das Kontext-Objekt mithilfe eines Pfads im "Parameters"
-Feld der Definition eines Zustands zugreifen.
Weitere Informationen über das Kontext-Objekt sowie den Zugriff auf die Daten aus einem "Parameters"
-Feld finden Sie unter: