Rufen Sie Amazon EMR in EKS auf mitAWS Step Functions - AWS Step Functions

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.

Rufen Sie Amazon EMR in EKS auf mitAWS Step Functions

Step Functions können bestimmte steuernAWS-Services direkt aus der Amazon States Language. Weitere Informationen zur Arbeit mit finden Sie unter:AWS Step Functionsund seine Integrationen finden Sie unter:

Wie sich die Integration von Optimized Amazon EMR on EKS von der Amazon EMR in EKS unterscheidetAWSSDK-Integration

So nehmen Sie dieAWS Step FunctionsVerwenden Sie mit Amazon EMR auf EKS die Amazon EMR on EKS Service Integration APIs. Die -Serviceintegrations-APIs sind die gleichen wie die entsprechenden Amazon EMR on EKS-APIs, aber nicht alle APIs unterstützen alle Integrationsmuster, wie in der folgenden Tabelle dargestellt wird:

API Request Request Ausführen einer Aufgabe (.sync)
CreateVirtualCluster
DeleteVirtualCluster
StartJobRun

Unterstützte Amazon EMR in EKS-APIs:

Anmerkung

In Step Functions gibt es ein Kontingent für die maximale Größe von Eingabe- oder Ergebnisdaten für eine Aufgabe. Dies beschränkt Sie auf 262.144 Byte an Daten als UTF-8-codierte Zeichenfolge, wenn Sie Daten an einen anderen Dienst senden oder von einem anderen Dienst empfangen. Siehe Kontingente im Zusammenhang mit State-Machine-Ausführungen.

Das folgende Beispiel enthält eineTask-Status, der einen virtuellen Cluster erstellt.

"Create_Virtual_Cluster": { "Type": "Task", "Resource": "arn:aws:states:::emr-containers:createVirtualCluster", "Parameters": { "Name": "MyVirtualCluster", "ContainerProvider": { "Id": "EKSClusterName", "Type": "EKS", "Info": { "EksInfo": { "Namespace": "Namespace" } } } }, "End": true }

Das folgende Beispiel enthält eineTask-Status, der einen Auftrag an einen virtuellen Cluster übermittelt und darauf wartet, dass dieser abgeschlossen wird.

"Submit_Job": { "Type": "Task", "Resource": "arn:aws:states:::emr-containers:startJobRun.sync", "Parameters": { "Name": "MyJobName", "VirtualClusterId.$": "$.VirtualClusterId", "ExecutionRoleArn": "arn:aws:iam::<accountId>:role/job-execution-role", "ReleaseLabel": "emr-6.2.0-latest", "JobDriver": { "SparkSubmitJobDriver": { "EntryPoint": "s3://<mybucket>/jobs/trip-count.py", "EntryPointArguments": [ "60" ], "SparkSubmitParameters": "--conf spark.driver.cores=2 --conf spark.executor.instances=10 --conf spark.kubernetes.pyspark.pythonVersion=3 --conf spark.executor.memory=10G --conf spark.driver.memory=10G --conf spark.executor.cores=1 --conf spark.dynamicAllocation.enabled=false" } }, "ConfigurationOverrides": { "ApplicationConfiguration": [ { "Classification": "spark-defaults", "Properties": { "spark.executor.instances": "2", "spark.executor.memory": "2G" } } ], "MonitoringConfiguration": { "PersistentAppUI": "ENABLED", "CloudWatchMonitoringConfiguration": { "LogGroupName": "MyLogGroupName", "LogStreamNamePrefix": "MyLogStreamNamePrefix" }, "S3MonitoringConfiguration": { "LogUri": "s3://<mylogsbucket>" } } }, "Tags": { "taskType": "jobName" } }, "End": true }

Das folgende Beispiel enthält eineTask-Status, der einen virtuellen Cluster löscht und darauf wartet, dass der Löschvorgang abgeschlossen ist.

"Delete_Virtual_Cluster": { "Type": "Task", "Resource": "arn:aws:states:::emr-containers:deleteVirtualCluster.sync", "Parameters": { "Id.$": "$.VirtualClusterId" }, "End": true }

Weitere Informationen zur Konfiguration von IAM bei Verwendung von Step Functions mit anderenAWSDienstleistungen finden Sie unterIAM-Richtlinien für integrierte Diensteaus.