Créez et gérez Amazon EMR Serverless des applications avec Step Functions - AWS Step Functions

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Créez et gérez Amazon EMR Serverless des applications avec Step Functions

Découvrez comment créer, démarrer, arrêter et supprimer des applications sur EMR Serverless à l'aide de Step Functions. Cette page répertorie les états pris en charge APIs et fournit des exemples d'Taskétats permettant de réaliser des cas d'utilisation courants.

Pour en savoir plus sur l'intégration aux AWS services dans Step Functions, reportez-vous Intégration des services aux sections etTransmission de paramètres à une API de service dans Step Functions.

Principales fonctionnalités de l'EMR Serverlessintégration optimisée
  • L'intégration EMR Serverless de services optimisée comporte un ensemble personnalisé APIsqui englobe le sous-jacent EMR Serverless APIs. En raison de cette personnalisation, l'EMR Serverlessintégration optimisée diffère considérablement de l'intégration des services du AWS SDK.

  • De plus, l'EMR Serverlessintégration optimisée prend en charge le modèle Exécuter une tâche (.sync) d'intégration.

  • Le modèle Attendre un rappel avec un jeton de tâche d'intégration n'est pas pris en charge.

EMR Serverlessintégration des services APIs

Pour l'intégrer AWS Step FunctionsEMR Serverless, vous pouvez utiliser les six intégrations EMR Serverless de services suivantes APIs. Ces intégrations de services APIs sont similaires à celles correspondantes EMR Serverless APIs, avec quelques différences dans les champs transmis et dans les réponses renvoyées.

Le tableau suivant décrit les différences entre chaque API d'intégration de EMR Serverless services et EMR Serverless l'API correspondante.

EMR ServerlessAPI d'intégration de services EMR ServerlessAPI correspondante Différences

Créer une application

Crée une application.

EMR Serverlessest lié à un type de IAM rôle unique appelé rôle lié à un service. Pour que createApplication et createApplication.sync fonctionnent, vous devez avoir configuré les autorisations nécessaires pour créer le rôle lié au service AWS ServiceRoleForAmazonEMRServerless. Pour plus d'informations à ce sujet, y compris une déclaration que vous pouvez ajouter à votre politique d'IAMautorisations, consultez la section Utilisation de rôles liés à un service pour. EMR Serverless

CreateApplication Aucun

CreateApplication.sync

Crée une application.

CreateApplication

Aucune différence entre les demandes et les réponses de l'EMR ServerlessAPI et de l'API d'intégration des EMR Serverless services. Cependant, CreateApplication.sync attend que l'application atteigne cet état. CREATED

Démarrer l'application

Démarre une application spécifiée et initialise la capacité initiale de l'application si elle est configurée.

StartApplication

La réponse de l'EMR ServerlessAPI ne contient aucune donnée, mais la réponse de l'API d'intégration des EMR Serverless services inclut les données suivantes.

{ "ApplicationId": "string" }

Démarrez Application.sync

Démarre une application spécifiée et initialise la capacité initiale si elle est configurée.

StartApplication

La réponse de l'EMR ServerlessAPI ne contient aucune donnée, mais la réponse de l'API d'intégration des EMR Serverless services inclut les données suivantes.

{ "ApplicationId": "string" }

StartApplication.sync attend également que l'application atteigne son état. STARTED

Arrêter l'application

Arrête une application spécifiée et libère sa capacité initiale si elle est configurée. Toutes les tâches planifiées et en cours d'exécution doivent être terminées ou annulées avant d'arrêter une application.

StopApplication

La réponse de l'EMR ServerlessAPI ne contient aucune donnée, mais la réponse de l'API d'intégration des EMR Serverless services inclut les données suivantes.

{ "ApplicationId": "string" }

Arrêter Application.sync

Arrête une application spécifiée et libère sa capacité initiale si elle est configurée. Toutes les tâches planifiées et en cours d'exécution doivent être terminées ou annulées avant d'arrêter une application.

StopApplication

La réponse de l'EMR ServerlessAPI ne contient aucune donnée, mais la réponse de l'API d'intégration des EMR Serverless services inclut les données suivantes.

{ "ApplicationId": "string" }

StopApplication.sync attend également que l'application atteigne l'état. STOPPED

Supprimer l'application

Supprime une application. Une application doit être à l'CREATEDétat STOPPED ou pour être supprimée.

DeleteApplication

La réponse de l'EMR ServerlessAPI ne contient aucune donnée, mais la réponse de l'API d'intégration des EMR Serverless services inclut les données suivantes.

{ "ApplicationId": "string" }

Supprimer Application.sync

Supprime une application. Une application doit être à l'CREATEDétat STOPPED ou pour être supprimée.

DeleteApplication

La réponse de l'EMR ServerlessAPI ne contient aucune donnée, mais la réponse de l'API d'intégration des EMR Serverless services inclut les données suivantes.

{ "ApplicationId": "string" }

StopApplication.sync attend également que l'application atteigne l'état. TERMINATED

startJobRun

Démarre l'exécution d'une tâche.

StartJobRun Aucun

startJobRun.sync

Démarre l'exécution d'une tâche.

StartJobRun

Aucune différence entre les demandes et les réponses de l'EMR ServerlessAPI et de l'API d'intégration des EMR Serverless services. Cependant, startJobRun.sync attend que l'application atteigne cet état. SUCCESS

cancelJobRun

Annule l'exécution d'une tâche.

CancelJobRun Aucun

cancelJobRun.sync

Annule l'exécution d'une tâche.

CancelJobRun

Aucune différence entre les demandes et les réponses de l'EMR ServerlessAPI et de l'API d'intégration des EMR Serverless services. Cependant, cancelJobRun.sync attend que l'application atteigne cet état. CANCELLED

Cas d'utilisation de l'intégration EMR sans serveur

Pour l'intégration optimisée des EMR Serverless services, nous vous recommandons de créer une seule application, puis de l'utiliser pour exécuter plusieurs tâches. Par exemple, dans une machine à états unique, vous pouvez inclure plusieurs startJobRundemandes, qui utilisent toutes la même application. Les exemples État du flux de travail des tâches d'états suivants présentent des cas d'utilisation EMR Serverless APIs à intégrerStep Functions. Pour plus d'informations sur les autres cas d'utilisation deEMR Serverless, voir Qu'est-ce que Amazon EMR Serverless.

Astuce

Pour déployer un exemple de machine à états qui s'intègre EMR Serverless à l'exécution de plusieurs tâches, consultezExécuter une EMR Serverless tâche.

Pour en savoir plus sur la configuration IAM des autorisations lors de l'utilisation Step Functions avec d'autres AWS services, consultezComment Step Functions génère des politiques IAM pour les services intégrés.

Dans les exemples illustrés dans les cas d'utilisation suivants, remplacez le italicized texte par des informations spécifiques à votre ressource. Remplacez par exemple yourApplicationId par l'ID de votre EMR Serverless application, tel que00yv7iv71inak893.

Création d’une application

L'exemple d'état de tâche suivant crée une application à l'aide de l'API d'intégration du service CreateApplication.sync.

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

Lancer une application

L'exemple d'état de tâche suivant démarre une application à l'aide de l'API d'intégration du service StartApplication.sync.

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

Arrêter une application

L'exemple d'état de tâche suivant arrête une application à l'aide de l'API d'intégration du service StopApplication.sync.

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

Supprimer une application

L'exemple d'état de tâche suivant supprime une application à l'aide de l'API d'intégration du service DeleteApplication.sync.

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

Commencer un emploi dans une application

L'exemple d'état de tâche suivant démarre une tâche dans une application à l'aide de l'API d'intégration du service startJobRun.sync.

"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 }

Annuler une offre d'emploi dans une candidature

L'exemple d'état de tâche suivant annule une tâche dans une application à l'aide de l'API d'intégration du service cancelJobRun.sync.

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

Politiques IAM pour les appels Amazon EMR Serverless

Lorsque vous créez une machine d'état à l'aide de la console, un rôle d'exécution est Step Functions automatiquement créé pour votre machine d'état avec le moins de privilèges requis. Ces IAM rôles générés automatiquement sont valides pour la machine à états Région AWS dans laquelle vous créez la machine à états.

Les exemples de modèles suivants montrent comment AWS Step Functions générer des politiques IAM en fonction des ressources contenues dans la définition de votre machine d'état. Pour plus d’informations, consultez Comment Step Functions génère des politiques IAM pour les services intégrés et Découvrez les modèles d'intégration des services dans Step Functions.

Lorsque vous créez des IAM politiques, nous vous recommandons de ne pas y inclure de caractères génériques. En tant que bonne pratique en matière de sécurité, vous devez limiter autant que possible vos politiques. Vous ne devez utiliser des politiques dynamiques que lorsque certains paramètres d'entrée ne sont pas connus pendant l'exécution.

En outre, les utilisateurs administrateurs doivent faire preuve de prudence lorsqu'ils accordent à des utilisateurs non administrateurs des rôles d'exécution pour exécuter les machines d'état. Nous vous recommandons d'inclure les politiques PassRole dans les rôles d'exécution si vous créez vous-même des politiques. Nous vous recommandons également d'ajouter les clés de aws:SourceAccount contexte aws:SourceARN et dans les rôles d'exécution.

Exemples de politiques IAM pour l'intégration EMR Serverless avec Step Functions

Exemple de politique IAM pour CreateApplication

Voici un exemple de politique IAM pour une machine à états dotée d'un CreateApplication État du flux de travail des tâches état.

Note

Vous devez spécifier les CreateServiceLinkedRole autorisations dans vos politiques IAM lors de la création de la toute première application de votre compte. Par la suite, il n'est pas nécessaire d'ajouter cette autorisation. Pour plus d'informations à ce sujet CreateServiceLinkedRole, consultez CreateServiceLinkedRolela https://docs.aws.amazon.com/IAM/ dernière/ /. APIReference

Les ressources statiques et dynamiques pour les politiques suivantes sont identiques.

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" } } } ] }

Exemple de politique IAM pour StartApplication

Ressources statiques

Vous trouverez ci-dessous des exemples de politique IAM pour les ressources statiques lorsque vous utilisez une machine à états dotée d'un StartApplication État du flux de travail des tâches état.

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" ] } ] }
Ressources dynamiques

Vous trouverez ci-dessous des exemples de politique IAM pour les ressources dynamiques lorsque vous utilisez une machine à états dotée d'un StartApplication État du flux de travail des tâches état.

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/*" ] } ] }

Exemple de politique IAM pour StopApplication

Ressources statiques

Vous trouverez ci-dessous des exemples de politique IAM pour les ressources statiques lorsque vous utilisez une machine à états dotée d'un StopApplication État du flux de travail des tâches état.

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" ] } ] }
Ressources dynamiques

Vous trouverez ci-dessous des exemples de politique IAM pour les ressources dynamiques lorsque vous utilisez une machine à états dotée d'un StopApplication État du flux de travail des tâches état.

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/*" ] } ] }

Exemple de politique IAM pour DeleteApplication

Ressources statiques

Vous trouverez ci-dessous des exemples de politique IAM pour les ressources statiques lorsque vous utilisez une machine à états dotée d'un DeleteApplication État du flux de travail des tâches état.

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" ] } ] }
Ressources dynamiques

Vous trouverez ci-dessous des exemples de politique IAM pour les ressources dynamiques lorsque vous utilisez une machine à états dotée d'un DeleteApplication État du flux de travail des tâches état.

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/*" ] } ] }

Exemple de politique IAM pour StartJobRun

Ressources statiques

Vous trouverez ci-dessous des exemples de politique IAM pour les ressources statiques lorsque vous utilisez une machine à états dotée d'un StartJobRun État du flux de travail des tâches état.

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" } } } ] }
Ressources dynamiques

Vous trouverez ci-dessous des exemples de politique IAM pour les ressources dynamiques lorsque vous utilisez une machine à états dotée d'un StartJobRun État du flux de travail des tâches état.

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" } } } ] }

Exemple de politique IAM pour CancelJobRun

Ressources statiques

Vous trouverez ci-dessous des exemples de politique IAM pour les ressources statiques lorsque vous utilisez une machine à états dotée d'un CancelJobRun État du flux de travail des tâches état.

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" ] } ] }
Ressources dynamiques

Vous trouverez ci-dessous des exemples de politique IAM pour les ressources dynamiques lorsque vous utilisez une machine à états dotée d'un CancelJobRun État du flux de travail des tâches état.

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/*" ] } ] }