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.
Amazon ECS- oder Fargate-Aufgaben mit Step Functions verwalten
Step Functions kann bestimmte AWS Dienste direkt von Amazon States Language (ASL) aus steuern. Weitere Informationen hierzu finden Sie unter Arbeiten mit anderen -Services und Parameter an eine Service-API übergeben.
Wie sich die optimierte Amazon ECS/Fargate-Integration von der Amazon ECS- oder Fargate SDK-Integration unterscheidet AWS
-
Das Ausführen einer Aufgabe (.sync) Integrationsmuster wird unterstützt.
ecs:runTask
kann eine HTTP 200-Antwort zurückgeben, hat aber ein nicht leeresFailures
Feld wie folgt:Antwort anfordern: Geben Sie die Antwort zurück und scheitern Sie nicht an der Aufgabe. Das ist dasselbe wie keine Optimierung.
Einen Job- oder Task-Token ausführen: Wenn ein nicht leeres
Failures
Feld gefunden wird, schlägt die Aufgabe fehl und es wird einAmazonECS.Unknown
Fehler angezeigt.
Unterstützte Amazon ECS/Fargate-APIs und -Syntax:
Anmerkung
Parameter in Step Functions werden in ausgedrückt PascalCase, auch wenn sich die native Service-API in CamelCase befindet. Sie könnten beispielsweise die Step Functions API-Aktion verwenden startSyncExecution
und ihren Parameter als angeben. StateMachineArn
-
RunTask
startet eine neue Aufgabe mit der angegebenen Aufgabendefinition.
Daten an eine Amazon ECS-Aufgabe übergeben
Step Functions kann bestimmte AWS Dienste direkt von Amazon States Language (ASL) aus steuern. Weitere Informationen hierzu finden Sie unter Arbeiten mit anderen -Services und Parameter an eine Service-API übergeben.
Sie können overrides
damit den Standardbefehl für einen Container überschreiben und Eingaben an Ihre Amazon ECS-Aufgaben übergeben. Siehe ContainerOverride
. In diesem Beispiel haben wir JsonPath Werte Task
von der Eingabe an den Task
Status übergeben.
Im Folgenden wird ein Task
Status beschrieben, der eine Amazon ECS-Aufgabe ausführt und darauf wartet, dass sie abgeschlossen ist.
{
"StartAt": "Run an ECS Task and wait for it to complete",
"States": {
"Run an ECS Task and wait for it to complete": {
"Type": "Task",
"Resource": "arn:aws:states:::ecs:runTask.sync",
"Parameters": {
"Cluster": "cluster-arn
",
"TaskDefinition": "job-id
",
"Overrides": {
"ContainerOverrides": [
{
"Name": "container-name
",
"Command.$": "$.commands"
}
]
}
},
"End": true
}
}
}
Die "Command.$": "$.commands"
-Zeile in ContainerOverrides
gibt die Befehle von der Zustandseingabe an den Container weiter.
Für das vorherige Beispiel wird jeder der Befehle als Container-Überschreibung übergeben, wenn die Eingabe für die Ausführung wie folgt lautet.
{
"commands": [
"test command 1",
"test command 2",
"test command 3"
]
}
Das Folgende beinhaltet einen Task
Status, der eine Amazon ECS-Aufgabe ausführt und dann darauf wartet, dass das Task-Token zurückgegeben wird. Siehe Warten auf einen Callback mit dem Aufgabentoken.
{
"StartAt":"Manage ECS task",
"States":{
"Manage ECS task":{
"Type":"Task",
"Resource":"arn:aws:states:::ecs:runTask.waitForTaskToken",
"Parameters":{
"LaunchType":"FARGATE",
"Cluster":"cluster-arn
",
"TaskDefinition":"job-id
",
"Overrides":{
"ContainerOverrides":[
{
"Name":"container-name
",
"Environment":[
{
"Name":"TASK_TOKEN_ENV_VARIABLE",
"Value.$":"$$.Task.Token"
}
]
}
]
}
},
"End":true
}
}
}
Informationen zur Konfiguration von IAM Berechtigungen bei der Verwendung Step Functions mit anderen AWS Diensten finden Sie unterIAM-Richtlinien für integrierte Dienste.