Erstellen und verwalten Amazon EMR Serverless Anwendungen mit 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.

Erstellen und verwalten Amazon EMR Serverless Anwendungen mit Step Functions

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 zur Durchführung gängiger Anwendungsfälle.

Um mehr über die Integration mit zu erfahren AWS Dienste in Step Functions, siehe Integrieren von -Services undÜbergeben von Parametern an einen Dienst API in Step Functions.

Hauptmerkmale von Optimized EMR Serverless Integration
  • Das Optimierte EMR Serverless Die Serviceintegration verfügt über ein benutzerdefiniertes Set APIs, das den zugrunde liegenden Teil umschließt EMR Serverless APIs. Aufgrund dieser Anpassung wurde das optimierte EMR Serverless Die Integration unterscheidet sich erheblich von AWS SDKServiceintegration.

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

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

EMR Serverless Serviceintegration APIs

Um zu integrieren AWS Step Functions mit EMR Serverless, Sie können die folgenden sechs verwenden EMR Serverless ServiceintegrationAPIs. 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 Bereichen beschrieben EMR Serverless Serviceintegration API und ihre entsprechenden EMR Serverless API.

EMR Serverless Serviceintegration API Entspricht EMR Serverless API Unterschiede

createApplication

Erstellt eine Anwendung

EMR Serverless ist mit einem einzigartigen Typ von verknüpft IAM Rolle, die als dienstbezogene 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, finden Sie in Ihrem IAM Berechtigungsrichtlinie finden Sie unter Verwenden von dienstbezogenen Rollen für EMR Serverless.

CreateApplication None

createApplication.sync

Erstellt eine Anwendung

CreateApplication

Keine Unterschiede zwischen den Anfragen und Antworten der EMR Serverless APIund EMR Serverless ServiceintegrationAPI. createApplication.sync wartet jedoch darauf, dass die Anwendung den Status erreicht. CREATED

startApplication

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

StartApplication

Das Tool EMR Serverless APIDie Antwort enthält keine Daten, sondern EMR Serverless Die API Antwort auf die Serviceintegration umfasst die folgenden Daten.

{ "ApplicationId": "string" }

startApplication.sync

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

StartApplication

Das Tool EMR Serverless APIDie Antwort enthält keine Daten, sondern EMR Serverless Die API Antwort auf die Serviceintegration umfasst die folgenden Daten.

{ "ApplicationId": "string" }

Außerdem wartet startApplication.sync darauf, dass die Anwendung den Status erreicht. STARTED

stopApplication

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

Das Tool EMR Serverless APIDie Antwort enthält keine Daten, sondern EMR Serverless Die API Antwort auf die Serviceintegration umfasst 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

Das Tool EMR Serverless APIDie Antwort enthält keine Daten, sondern EMR Serverless Die API Antwort auf die Serviceintegration umfasst die folgenden Daten.

{ "ApplicationId": "string" }

Außerdem wartet stopApplication.sync darauf, dass die Anwendung den Status erreicht. STOPPED

deleteApplication

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

DeleteApplication

Das Tool EMR Serverless APIDie Antwort enthält keine Daten, sondern EMR Serverless Die API Antwort auf die Serviceintegration umfasst 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

Das Tool EMR Serverless APIDie Antwort enthält keine Daten, sondern EMR Serverless Die API Antwort auf die Serviceintegration umfasst die folgenden Daten.

{ "ApplicationId": "string" }

Außerdem wartet stopApplication.sync darauf, dass die Anwendung den Status erreicht. TERMINATED

startJobRun

Startet eine Jobausführung.

StartJobRun None

startJobRun.sync

Startet einen Joblauf.

StartJobRun

Keine Unterschiede zwischen den Anfragen und Antworten des EMR Serverless APIund EMR Serverless ServiceintegrationAPI. startJobRun.sync wartet jedoch darauf, dass die Anwendung den Status erreicht. SUCCESS

cancelJobRun

Bricht die Ausführung eines Jobs ab.

CancelJobRun None

cancelJobRun.sync

Bricht einen Joblauf ab.

CancelJobRun

Keine Unterschiede zwischen den Anfragen und Antworten des EMR Serverless APIund EMR Serverless ServiceintegrationAPI. cancelJobRun.sync wartet jedoch darauf, dass die Anwendung den Status erreicht. CANCELLED

EMRAnwendungsfälle für serverlose Integration

Für die Optimierten EMR Serverless Für die 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 für die Integration EMR Serverless APIsmit Step Functions. Für Informationen über andere Anwendungsfälle von EMR Serverless, siehe Was ist Amazon EMR Serverless.

Tipp

Um ein Beispiel für eine Zustandsmaschine bereitzustellen, die sich integrieren lässt EMR Serverless für die Ausführung mehrerer Jobs auf Ihrem AWS-Konto, finden Sie unter Führen Sie ein EMR Serverless Auftrag.

Um mehr über die Konfiguration zu erfahren IAM Berechtigungen bei der Verwendung Step Functions mit anderen AWS Dienstleistungen, sieheSo 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 mit Ihren ressourcenspezifischen Informationen. Ersetzen Sie beispielsweise yourApplicationId mit der ID Ihres EMR Serverless Anwendung, wie00yv7iv71inak893.

Erstellen einer Anwendung

Das folgende Beispiel für einen Task-Status erstellt eine Anwendung mithilfe der createApplication.sync-ServiceintegrationAPI.

"Create_Application": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:createApplication.sync", "Parameters": { "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 startApplication.sync-Dienstintegration API gestartet.

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

Stoppen Sie eine Anwendung

Das folgende Beispiel für einen Task-Status beendet eine Anwendung, die die stopApplication.sync-Dienstintegration API verwendet.

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

Löschen einer Anwendung

Das folgende Beispiel für einen Task-Status löscht eine Anwendung, die die deleteApplication.sync-Serviceintegration verwendet. API

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

Starten Sie einen Job in einer Anwendung

Das folgende Beispiel für einen Task-Status startet einen Job in einer Anwendung, die die startJobRun.sync-Serviceintegration API verwendet.

"Start_Job": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:startJobRun.sync", "Parameters": { "ApplicationId": "yourApplicationId", "ExecutionRoleArn": "arn:aws:iam::123456789012: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 cancelJobRun.sync-Serviceintegration storniert. API

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

IAMRichtlinien für das Aufrufen Amazon EMR Serverless

Wenn Sie mithilfe der Konsole eine Zustandsmaschine erstellen, Step Functions erstellt automatisch eine Ausführungsrolle für Ihren Zustandsmaschine mit den geringsten erforderlichen Rechten. Diese werden automatisch generiert IAM Rollen sind gültig für AWS-Region in dem Sie die Zustandsmaschine erstellen.

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

Wir empfehlen dies bei der Erstellung IAM Richtlinien, verwenden Sie keine Platzhalter in den Richtlinien. 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, dass Sie die Kontextschlüssel aws:SourceARN und die aws:SourceAccount Kontextschlüssel zu den Ausführungsrollen hinzufügen.

IAMRichtlinienbeispiele für die EMR serverlose Integration mit Step Functions

IAMpolitisches Beispiel für CreateApplication

Im Folgenden finden Sie ein IAM Richtlinienbeispiel 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 Erlaubnis 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:{{region}}:{{accountId}}:/*" ] }, { "Effect": "Allow", "Action": [ "emr-serverless:GetApplication", "emr-serverless:DeleteApplication" ], "Resource": [ "arn:aws:emr-serverless:{{region}}:{{accountId}}:/applications/*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:{{region}}:{{accountId}}:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule" ] }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::{{accountId}}: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:{{region}}:{{accountId}}:/*" ] }, { "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "arn:aws:iam::{{accountId}}:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWS ServiceRoleForAmazonEMRServerless*", "Condition": { "StringLike": { "iam:AWSServiceName": "ops.emr-serverless.amazonaws.com" } } } ] }

IAMRichtlinienbeispiel für StartApplication

Statische Ressourcen

Im Folgenden finden Sie IAM Richtlinienbeispiele 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:{{region}}:{{accountId}}:/applications/[[applicationId]]" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:{{region}}:{{accountId}}:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StartApplication" ], "Resource": [ "arn:aws:emr-serverless:{{region}}:{{accountId}}:/applications/[[applicationId]]" ] } ] }
Dynamische Ressourcen

Im Folgenden finden Sie IAM Richtlinienbeispiele 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:{{region}}:{{accountId}}:/applications/*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:{{region}}:{{accountId}}:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StartApplication" ], "Resource": [ "arn:aws:emr-serverless:{{region}}:{{accountId}}:/applications/*" ] } ] }

IAMRichtlinienbeispiel für StopApplication

Statische Ressourcen

Im Folgenden finden Sie IAM Richtlinienbeispiele 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:{{region}}:{{accountId}}:/applications/[[applicationId]]" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:{{region}}:{{accountId}}:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StopApplication" ], "Resource": [ "arn:aws:emr-serverless:{{region}}:{{accountId}}:/applications/[[applicationId]]" ] } ] }
Dynamische Ressourcen

Im Folgenden finden Sie IAM Richtlinienbeispiele 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:{{region}}:{{accountId}}:/applications/*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:{{region}}:{{accountId}}:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StopApplication" ], "Resource": [ "arn:aws:emr-serverless:{{region}}:{{accountId}}:/applications/*" ] } ] }

IAMRichtlinienbeispiel für DeleteApplication

Statische Ressourcen

Im Folgenden finden Sie IAM Richtlinienbeispiele 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:{{region}}:{{accountId}}:/applications/[[applicationId]]" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:{{region}}:{{accountId}}:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:DeleteApplication" ], "Resource": [ "arn:aws:emr-serverless:{{region}}:{{accountId}}:/applications/[[applicationId]]" ] } ] }
Dynamische Ressourcen

Im Folgenden finden Sie IAM Richtlinienbeispiele 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:{{region}}:{{accountId}}:/applications/*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:{{region}}:{{accountId}}:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:DeleteApplication" ], "Resource": [ "arn:aws:emr-serverless:{{region}}:{{accountId}}:/applications/*" ] } ] }

IAMRichtlinienbeispiel für StartJobRun

Statische Ressourcen

Im Folgenden finden Sie IAM Richtlinienbeispiele 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:{{region}}:{{accountId}}:/applications/[[applicationId]]" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "[[jobExecutionRoleArn]]" ], "Condition": { "StringEquals": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "emr-serverless:GetJobRun", "emr-serverless:CancelJobRun" ], "Resource": [ "arn:aws:emr-serverless:{{region}}:{{accountId}}:/applications/[[applicationId]]/jobruns/*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:{{region}}:{{accountId}}:rule/StepFunctionsGetEventsForEMRServerlessJobRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StartJobRun" ], "Resource": [ "arn:aws:emr-serverless:{{region}}:{{accountId}}:/applications/[[applicationId]]" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "[[jobExecutionRoleArn]]" ], "Condition": { "StringEquals": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } } ] }
Dynamische Ressourcen

Im Folgenden finden Sie IAM Richtlinienbeispiele 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:{{region}}:{{accountId}}:/applications/*" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "[[jobExecutionRoleArn]]" ], "Condition": { "StringEquals": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:{{region}}:{{accountId}}:rule/StepFunctionsGetEventsForEMRServerlessJobRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:StartJobRun" ], "Resource": [ "arn:aws:emr-serverless:{{region}}:{{accountId}}:/applications/*" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "[[jobExecutionRoleArn]]" ], "Condition": { "StringEquals": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } } ] }

IAMRichtlinienbeispiel für CancelJobRun

Statische Ressourcen

Im Folgenden finden Sie IAM Richtlinienbeispiele 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:{{region}}:{{accountId}}:/applications/[[applicationId]]/jobruns/[[jobRunId]]" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:{{region}}:{{accountId}}:rule/StepFunctionsGetEventsForEMRServerlessJobRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:CancelJobRun" ], "Resource": [ "arn:aws:emr-serverless:{{region}}:{{accountId}}:/applications/[[applicationId]]/jobruns/[[jobRunId]]" ] } ] }
Dynamische Ressourcen

Im Folgenden finden Sie IAM Richtlinienbeispiele 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:{{region}}:{{accountId}}:/applications/*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:{{region}}:{{accountId}}:rule/StepFunctionsGetEventsForEMRServerlessJobRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "emr-serverless:CancelJobRun" ], "Resource": [ "arn:aws:emr-serverless:{{region}}:{{accountId}}:/applications/*" ] } ] }