Amazon EMR ServerlessAnwendungen mit Step Functions erstellen und verwalten - 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.

Amazon EMR ServerlessAnwendungen mit Step Functions erstellen und verwalten

Erfahren Sie, wie Sie mithilfe von Step Functions Anwendungen auf EMR Serverless erstellen, starten, beenden und löschen. Diese Seite listet die unterstützten Task Zustände auf APIs und bietet Beispielstatus für allgemeine Anwendungsfälle.

Informationen zur Integration mit AWS Diensten in Step Functions finden Sie unter Integrieren von -Services undÜbergeben von Parametern an eine Service-API in Step Functions.

Hauptmerkmale der optimierten EMR Serverless Integration
  • Die optimierte EMR Serverless Serviceintegration besteht aus einem benutzerdefinierten Satz APIs, der den zugrunde liegenden Teil umschließt EMR Serverless APIs. Aufgrund dieser Anpassung unterscheidet sich die optimierte EMR Serverless Integration erheblich von der AWS SDK-Serviceintegration.

  • Darüber hinaus unterstützt die optimierte EMR Serverless Integration das Ausführen einer Aufgabe (.sync) Integrationsmuster.

  • Das Warten Sie auf einen Rückruf mit Task Token Integrationsmuster wird nicht unterstützt.

EMR ServerlessServiceintegration APIs

Für die Integration AWS Step Functions mit EMR Serverless können Sie die folgenden sechs EMR Serverless Serviceintegrationen verwenden APIs. Diese Serviceintegrationen APIs ähneln den entsprechenden EMR Serverless APIs, mit einigen Unterschieden in den Feldern, die übergeben werden, und in den Antworten, die zurückgegeben werden.

In der folgenden Tabelle werden die Unterschiede zwischen den einzelnen EMR Serverless Serviceintegrations-APIs und der entsprechenden EMR Serverless API beschrieben.

EMR ServerlessAPI zur Serviceintegration Entsprechende EMR Serverless API Unterschiede

Anwendung erstellen

Erstellt eine Anwendung

EMR Serverlessist mit einem eindeutigen Rollentyp verknüpft, der als dienstbezogene IAM Rolle bezeichnet wird. Damit createApplication und createApplication.sync funktionieren, müssen Sie die erforderlichen Berechtigungen zum Erstellen der serviceverknüpften Rolle AWS ServiceRoleForAmazonEMRServerless konfiguriert haben. Weitere Informationen dazu, einschließlich einer Erklärung, die Sie zu Ihrer IAM Berechtigungsrichtlinie hinzufügen können, finden Sie unter Verwenden von dienstbezogenen Rollen für. EMR Serverless

CreateApplication Keine

CreateApplication.Sync

Erstellt eine Anwendung

CreateApplication

Keine Unterschiede zwischen den Anfragen und Antworten der API und der EMR Serverless EMR Serverless Service-Integrations-API. CreateApplication.Sync wartet jedoch darauf, dass die Anwendung den Status erreicht. CREATED

Anwendung starten

Startet eine angegebene Anwendung und initialisiert die Anfangskapazität der Anwendung, falls sie konfiguriert ist.

StartApplication

Die EMR Serverless API-Antwort enthält keine Daten, aber die API-Antwort für die EMR Serverless Serviceintegration enthält die folgenden Daten.

{ "ApplicationId": "string" }

Starten Sie Application.Sync

Startet eine angegebene Anwendung und initialisiert die Anfangskapazität, falls sie konfiguriert ist.

StartApplication

Die EMR Serverless API-Antwort enthält keine Daten, aber die API-Antwort für die EMR Serverless Serviceintegration enthält die folgenden Daten.

{ "ApplicationId": "string" }

Außerdem wartet StartApplication.Sync darauf, dass die Anwendung den Status erreicht. STARTED

Anwendung beenden

Stoppt eine angegebene Anwendung und gibt die Anfangskapazität frei, falls sie konfiguriert ist. Alle geplanten und laufenden Jobs müssen abgeschlossen oder abgebrochen werden, bevor eine Anwendung gestoppt werden kann.

StopApplication

Die EMR Serverless API-Antwort enthält keine Daten, aber die API-Antwort zur EMR Serverless Serviceintegration enthält die folgenden Daten.

{ "ApplicationId": "string" }

StopApplication.Sync

Stoppt eine angegebene Anwendung und gibt die Anfangskapazität frei, falls sie konfiguriert ist. Alle geplanten und laufenden Jobs müssen abgeschlossen oder abgebrochen werden, bevor eine Anwendung gestoppt werden kann.

StopApplication

Die EMR Serverless API-Antwort enthält keine Daten, aber die API-Antwort zur EMR Serverless Serviceintegration enthält die folgenden Daten.

{ "ApplicationId": "string" }

Außerdem wartet StopApplication.Sync darauf, dass die Anwendung den Status erreicht. STOPPED

Anwendung löschen

Löscht eine Anwendung. Eine Anwendung muss sich im CREATED Status STOPPED oder befinden, um gelöscht zu werden.

DeleteApplication

Die EMR Serverless API-Antwort enthält keine Daten, aber die API-Antwort für die EMR Serverless Serviceintegration enthält die folgenden Daten.

{ "ApplicationId": "string" }

DeleteApplication.Sync

Löscht eine Anwendung. Eine Anwendung muss sich im CREATED Status STOPPED oder befinden, um gelöscht zu werden.

DeleteApplication

Die EMR Serverless API-Antwort enthält keine Daten, aber die API-Antwort für die EMR Serverless Serviceintegration enthält die folgenden Daten.

{ "ApplicationId": "string" }

Außerdem wartet StopApplication.Sync darauf, dass die Anwendung den Status erreicht. TERMINATED

startJobRun

Startet eine Auftragsausführung.

StartJobRun Keine

startJobRun.sync

Startet einen Joblauf.

StartJobRun

Keine Unterschiede zwischen den Anfragen und Antworten der EMR Serverless API und der EMR Serverless Service-Integrations-API. startJobRun.sync wartet jedoch darauf, dass die Anwendung den Status erreicht. SUCCESS

cancelJobRun

Bricht die Ausführung eines Jobs ab.

CancelJobRun Keine

cancelJobRun.sync

Bricht einen Joblauf ab.

CancelJobRun

Keine Unterschiede zwischen den Anfragen und Antworten der EMR Serverless API und der EMR Serverless Service-Integrations-API. cancelJobRun.sync wartet jedoch darauf, dass die Anwendung den Status erreicht. CANCELLED

Anwendungsfälle für die serverlose EMR-Integration

Für die optimierte EMR Serverless Serviceintegration empfehlen wir, dass Sie eine einzelne Anwendung erstellen und diese Anwendung dann verwenden, um mehrere Jobs auszuführen. In einer einzigen Zustandsmaschine können Sie beispielsweise mehrere startJobRunAnfragen einschließen, die alle dieselbe Anwendung verwenden. Die folgenden Workflow-Status der Aufgabe Statusbeispiele zeigen Anwendungsfälle, in die eine EMR Serverless APIs Integration möglich istStep Functions. Informationen zu anderen Anwendungsfällen von EMR Serverless finden Sie unter Was ist Amazon EMR Serverless.

Tipp

Ein Beispiel für eine Zustandsmaschine, die EMR Serverless zur Ausführung mehrerer Jobs integriert werden kann, finden Sie unterEinen EMR Serverless Job ausführen.

Weitere Informationen zur Konfiguration von IAM Berechtigungen bei der Verwendung Step Functions mit anderen AWS Diensten finden Sie unterSo generiert Step Functions IAM-Richtlinien für integrierte Dienste.

Ersetzen Sie in den Beispielen, die in den folgenden Anwendungsfällen gezeigt werden, den italicized Text durch Ihre ressourcenspezifischen Informationen. Ersetzen Sie ihn beispielsweise yourApplicationId durch die ID Ihrer EMR Serverless Anwendung, z. B. 00yv7iv71inak893

Erstellen einer Anwendung

Im folgenden Beispiel für einen Task-Status wird eine Anwendung mithilfe der CreateApplication.Sync-Dienstintegrations-API erstellt.

"Create_Application": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:createApplication.sync", "Arguments": { "Name": "MyApplication", "ReleaseLabel": "emr-6.9.0", "Type": "SPARK" }, "End": true }

Starten Sie eine Anwendung

Im folgenden Beispiel für einen Task-Status wird eine Anwendung mithilfe der Dienstintegrations-API StartApplication.Sync gestartet.

"Start_Application": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:startApplication.sync", "Arguments": { "ApplicationId": "yourApplicationId" }, "End": true }

Stoppen Sie eine Anwendung

Im folgenden Beispiel mit einem Task-Status wird eine Anwendung mithilfe der Service-Integrations-API StopApplication.Sync gestoppt.

"Stop_Application": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:stopApplication.sync", "Arguments": { "ApplicationId": "yourApplicationId" }, "End": true }

Löschen einer Anwendung

Im folgenden Beispiel für einen Task-Status wird eine Anwendung mithilfe der Serviceintegrations-API DeleteApplication.Sync gelöscht.

"Delete_Application": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:deleteApplication.sync", "Arguments": { "ApplicationId": "yourApplicationId" }, "End": true }

Starten Sie einen Job in einer Anwendung

Im folgenden Beispiel für den Aufgabenstatus wird ein Job in einer Anwendung mithilfe der Dienstintegrations-API startJobRun.sync gestartet.

"Start_Job": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:startJobRun.sync", "Arguments": { "ApplicationId": "yourApplicationId", "ExecutionRoleArn": "arn:aws:iam::account-id:role/myEMRServerless-execution-role", "JobDriver": { "SparkSubmit": { "EntryPoint": "s3://<amzn-s3-demo-bucket>/sample.py", "EntryPointArguments": ["1"], "SparkSubmitParameters": "--conf spark.executor.cores=4 --conf spark.executor.memory=4g --conf spark.driver.cores=2 --conf spark.driver.memory=4g --conf spark.executor.instances=1" } } }, "End": true }

Stornieren Sie einen Job in einer Anwendung

Im folgenden Beispiel für den Aufgabenstatus wird ein Job in einer Anwendung mithilfe der Dienstintegrations-API für cancelJobRun.sync storniert.

"Cancel_Job": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:cancelJobRun.sync", "Arguments": { "ApplicationId": "{% $states.input.ApplicationId %}", "JobRunId": "{% $states.input.JobRunId %}" }, "End": true }

IAM-Richtlinien für Anrufe Amazon EMR Serverless

Wenn Sie eine Zustandsmaschine mithilfe der Konsole erstellen, Step Functions wird automatisch eine Ausführungsrolle für Ihre Zustandsmaschine mit den geringsten erforderlichen Rechten erstellt. Diese automatisch generierten IAM Rollen gelten für den, AWS-Region in dem Sie den Zustandsmaschine erstellen.

Die folgenden Beispielvorlagen zeigen, wie IAM-Richtlinien auf der Grundlage der Ressourcen in Ihrer State-Machine-Definition AWS Step Functions generiert werden. Weitere Informationen erhalten Sie unter So generiert Step Functions IAM-Richtlinien für integrierte Dienste und Entdecken Sie Serviceintegrationsmuster in Step Functions.

Wir empfehlen, bei der Erstellung von IAM Richtlinien keine Platzhalter in die Richtlinien aufzunehmen. Aus Sicherheitsgründen sollten Sie Ihre Richtlinien so weit wie möglich einschränken. Sie sollten dynamische Richtlinien nur verwenden, wenn bestimmte Eingabeparameter während der Laufzeit nicht bekannt sind.

Darüber hinaus sollten Administratorbenutzer vorsichtig sein, wenn sie Benutzern, die keine Administratoren sind, Ausführungsrollen für die Ausführung der Zustandsmaschinen zuweisen. Wir empfehlen, dass Sie PassRole-Richtlinien in die Ausführungsrollen aufnehmen, wenn Sie Richtlinien selbst erstellen. Wir empfehlen außerdem, die Kontextschlüssel aws:SourceARN und die aws:SourceAccount Kontextschlüssel zu den Ausführungsrollen hinzuzufügen.

Beispiele für IAM-Richtlinien für die serverlose EMR-Integration mit Step Functions

Beispiel für eine IAM-Richtlinie für CreateApplication

Im Folgenden finden Sie ein Beispiel für eine IAM-Richtlinie für eine Zustandsmaschine mit einem CreateApplication Workflow-Status der Aufgabe Status.

Anmerkung

Sie müssen die CreateServiceLinkedRole Berechtigungen in Ihren IAM-Richtlinien bei der Erstellung der allerersten Anwendung in Ihrem Konto angeben. Danach müssen Sie diese Berechtigung nicht mehr hinzufügen. Weitere Informationen dazu CreateServiceLinkedRole finden Sie CreateServiceLinkedRolein der https://docs.aws.amazon.com/IAM/ aktuellsten APIReference Neuheiten/ /.

Statische und dynamische Ressourcen für die folgenden Richtlinien sind identisch.

Run a Job (.sync)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:CreateApplication" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/*" ] }, { "Effect": "Allow", "Action": [ "emr-serverless:GetApplication", "emr-serverless:DeleteApplication" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule" ] }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::123456789012:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWS ServiceRoleForAmazonEMRServerless*", "Condition": { "StringLike": { "iam:AWSServiceName": "ops.emr-serverless.amazonaws.com" } } } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:CreateApplication" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/*" ] }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::123456789012:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWS ServiceRoleForAmazonEMRServerless*", "Condition": { "StringLike": { "iam:AWSServiceName": "ops.emr-serverless.amazonaws.com" } } } ] }

Beispiel für eine IAM-Richtlinie für StartApplication

Statische Ressourcen

Im Folgenden finden Sie Beispiele für IAM-Richtlinien für statische Ressourcen, wenn Sie eine Zustandsmaschine mit einem StartApplication Workflow-Status der Aufgabe Status verwenden.

Run a Job (.sync)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StartApplication", "emr-serverless:GetApplication", "emr-serverless:StopApplication" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StartApplication" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId" ] } ] }
Dynamische Ressourcen

Im Folgenden finden Sie Beispiele für IAM-Richtlinien für dynamische Ressourcen, wenn Sie eine Zustandsmaschine mit einem StartApplication Workflow-Status der Aufgabe Status verwenden.

Run a Job (.sync)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StartApplication", "emr-serverless:GetApplication", "emr-serverless:StopApplication" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StartApplication" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*" ] } ] }

Beispiel für eine IAM-Richtlinie für StopApplication

Statische Ressourcen

Im Folgenden finden Sie Beispiele für IAM-Richtlinien für statische Ressourcen, wenn Sie eine Zustandsmaschine mit einem StopApplication Workflow-Status der Aufgabe Status verwenden.

Run a Job (.sync)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StopApplication", "emr-serverless:GetApplication" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StopApplication" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId" ] } ] }
Dynamische Ressourcen

Im Folgenden finden Sie Beispiele für IAM-Richtlinien für dynamische Ressourcen, wenn Sie eine Zustandsmaschine mit einem StopApplication Workflow-Status der Aufgabe Status verwenden.

Run a Job (.sync)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StopApplication", "emr-serverless:GetApplication" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StopApplication" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*" ] } ] }

Beispiel für eine IAM-Richtlinie für DeleteApplication

Statische Ressourcen

Im Folgenden finden Sie Beispiele für IAM-Richtlinien für statische Ressourcen, wenn Sie eine Zustandsmaschine mit einem DeleteApplication Workflow-Status der Aufgabe Status verwenden.

Run a Job (.sync)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:DeleteApplication", "emr-serverless:GetApplication" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:DeleteApplication" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId" ] } ] }
Dynamische Ressourcen

Im Folgenden finden Sie Beispiele für IAM-Richtlinien für dynamische Ressourcen, wenn Sie eine Zustandsmaschine mit einem DeleteApplication Workflow-Status der Aufgabe Status verwenden.

Run a Job (.sync)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:DeleteApplication", "emr-serverless:GetApplication" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:DeleteApplication" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*" ] } ] }

Beispiel für eine IAM-Richtlinie für StartJobRun

Statische Ressourcen

Im Folgenden finden Sie Beispiele für IAM-Richtlinien für statische Ressourcen, wenn Sie eine Zustandsmaschine mit einem StartJobRun Workflow-Status der Aufgabe Status verwenden.

Run a Job (.sync)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StartJobRun" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::123456789012:role/jobExecutionRoleArn" ], "Condition": { "StringEquals": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "emr-serverless:GetJobRun", "emr-serverless:CancelJobRun" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId/jobruns/*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessJobRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StartJobRun" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::123456789012:role/jobExecutionRoleArn" ], "Condition": { "StringEquals": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } } ] }
Dynamische Ressourcen

Im Folgenden finden Sie Beispiele für IAM-Richtlinien für dynamische Ressourcen, wenn Sie eine Zustandsmaschine mit einem StartJobRun Workflow-Status der Aufgabe Status verwenden.

Run a Job (.sync)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StartJobRun", "emr-serverless:GetJobRun", "emr-serverless:CancelJobRun" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::123456789012:role/jobExecutionRoleArn" ], "Condition": { "StringEquals": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessJobRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StartJobRun" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::123456789012:role/jobExecutionRoleArn" ], "Condition": { "StringEquals": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } } ] }

Beispiel für eine IAM-Richtlinie für CancelJobRun

Statische Ressourcen

Im Folgenden finden Sie Beispiele für IAM-Richtlinien für statische Ressourcen, wenn Sie eine Zustandsmaschine mit einem CancelJobRun Workflow-Status der Aufgabe Status verwenden.

Run a Job (.sync)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:CancelJobRun", "emr-serverless:GetJobRun" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId/jobruns/jobRunId" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessJobRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:CancelJobRun" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId/jobruns/jobRunId" ] } ] }
Dynamische Ressourcen

Im Folgenden finden Sie Beispiele für IAM-Richtlinien für dynamische Ressourcen, wenn Sie eine Zustandsmaschine mit einem CancelJobRun Workflow-Status der Aufgabe Status verwenden.

Run a Job (.sync)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:CancelJobRun", "emr-serverless:GetJobRun" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessJobRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:CancelJobRun" ], "Resource": [ "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*" ] } ] }