Crea e gestisci Amazon EMR Serverless applicazioni con Step Functions - AWS Step Functions

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea e gestisci Amazon EMR Serverless applicazioni con Step Functions

Scopri come creare, avviare, interrompere ed eliminare applicazioni su EMR Serverless utilizzando Step Functions. Questa pagina elenca gli Task stati supportati APIs e fornisce esempi per eseguire casi d'uso comuni.

Per saperne di più sull'integrazione con AWS servizi in Step Functions, vedere Integrazione dei servizi e. Passaggio di parametri a un servizio API in Step Functions

Caratteristiche principali di Optimized EMR Serverless integrazione
  • L'ottimizzato EMR Serverless l'integrazione dei servizi ha un set personalizzato APIsche racchiude il sottostante EMR Serverless APIs. Grazie a questa personalizzazione, l'ottimizzato EMR Serverless l'integrazione differisce in modo significativo dalla AWS SDKintegrazione dei servizi.

  • Inoltre, l'ottimizzato EMR Serverless l'integrazione supporta il modello di Esegui un processo (.sync) integrazione.

  • Il modello di Attendi una richiamata con Task Token integrazione non è supportato.

EMR Serverless integrazione del servizio APIs

Integrare AWS Step Functions con EMR Serverless, puoi usare i seguenti sei EMR Serverless integrazione dei serviziAPIs. Queste integrazioni di servizi APIs sono simili alla corrispondente EMR Serverless APIs, con alcune differenze nei campi passati e nelle risposte restituite.

Nella tabella seguente vengono descritte le differenze tra ciascuna EMR Serverless integrazione del servizio API e relativa corrispondenza EMR Serverless API.

EMR Serverless integrazione dei servizi API Corrispondente EMR Serverless API Differenze

createApplication

Crea un'applicazione.

EMR Serverless è collegato a un tipo unico di IAM ruolo noto come ruolo collegato al servizio. Perché createApplication e createApplication.sync funzionino, è necessario aver configurato le autorizzazioni necessarie per creare il ruolo collegato al servizio AWS ServiceRoleForAmazonEMRServerless. Per ulteriori informazioni su questo argomento, inclusa una dichiarazione che puoi aggiungere al IAM politica delle autorizzazioni, vedi Utilizzo dei ruoli collegati al servizio per EMR Serverless.

CreateApplication Nessuno

createApplication.sync

Crea un'applicazione.

CreateApplication

Nessuna differenza tra le richieste e le risposte del EMR Serverless APIe EMR Serverless integrazione dei serviziAPI. Tuttavia, createApplication.sync attende che l'applicazione raggiunga lo CREATED stato.

startApplication

Avvia un'applicazione specificata e inizializza la capacità iniziale dell'applicazione, se configurata.

StartApplication

Il EMR Serverless APIla risposta non contiene alcun dato, ma EMR Serverless la API risposta di integrazione del servizio include i seguenti dati.

{ "ApplicationId": "string" }

startApplication.sync

Avvia un'applicazione specificata e inizializza la capacità iniziale, se configurata.

StartApplication

Il EMR Serverless APIla risposta non contiene dati, ma EMR Serverless la API risposta di integrazione del servizio include i seguenti dati.

{ "ApplicationId": "string" }

Inoltre, startApplication.sync attende che l'applicazione raggiunga lo STARTED stato.

stopApplication

Arresta un'applicazione specificata e rilascia la capacità iniziale, se configurata. Tutti i processi pianificati e in esecuzione devono essere completati o annullati prima di interrompere un'applicazione.

StopApplication

Il EMR Serverless APIla risposta non contiene alcun dato, ma EMR Serverless la API risposta di integrazione del servizio include i seguenti dati.

{ "ApplicationId": "string" }

stopApplication.sync

Arresta un'applicazione specificata e rilascia la capacità iniziale, se configurata. Tutti i processi pianificati e in esecuzione devono essere completati o annullati prima di interrompere un'applicazione.

StopApplication

Il EMR Serverless APIla risposta non contiene alcun dato, ma EMR Serverless la API risposta di integrazione del servizio include i seguenti dati.

{ "ApplicationId": "string" }

Inoltre, stopApplication.sync attende che l'applicazione raggiunga lo STOPPED stato.

deleteApplication

Elimina un'applicazione. Un'applicazione deve trovarsi nello CREATED stato STOPPED o per poter essere eliminata.

DeleteApplication

Il EMR Serverless APIla risposta non contiene alcun dato, ma EMR Serverless la API risposta di integrazione del servizio include i seguenti dati.

{ "ApplicationId": "string" }

deleteApplication.sync

Elimina un'applicazione. Un'applicazione deve trovarsi nello CREATED stato STOPPED o per poter essere eliminata.

DeleteApplication

Il EMR Serverless APIla risposta non contiene alcun dato, ma EMR Serverless la API risposta di integrazione del servizio include i seguenti dati.

{ "ApplicationId": "string" }

Inoltre, stopApplication.sync attende che l'applicazione raggiunga lo TERMINATED stato.

startJobRun

Avvia l'esecuzione di un processo.

StartJobRun Nessuno

startJobRun.sync

Avvia l'esecuzione di un processo.

StartJobRun

Nessuna differenza tra le richieste e le risposte del EMR Serverless APIe EMR Serverless integrazione dei serviziAPI. Tuttavia, startJobRun.sync attende che l'applicazione raggiunga lo SUCCESS stato.

cancelJobRun

Annulla l'esecuzione di un processo.

CancelJobRun Nessuno

cancelJobRun.sync

Annulla l'esecuzione di un processo.

CancelJobRun

Nessuna differenza tra le richieste e le risposte del EMR Serverless APIe EMR Serverless integrazione dei serviziAPI. Tuttavia, cancelJobRun.sync attende che l'applicazione raggiunga lo CANCELLED stato.

EMRCasi d'uso dell'integrazione serverless

Per gli ottimizzati EMR Serverless integrazione del servizio, si consiglia di creare una singola applicazione e quindi di utilizzare tale applicazione per eseguire più processi. Ad esempio, in una macchina a stato singolo, è possibile includere più startJobRunrichieste, che utilizzano tutte la stessa applicazione. I seguenti esempi di Stato del flusso di lavoro delle attività stato mostrano i casi d'uso da integrare EMR Serverless APIscon Step Functions. Per informazioni su altri casi d'uso di EMR Serverless, vedi Cos'è Amazon EMR Serverless.

Suggerimento

Per implementare un esempio di macchina a stati che si integra con EMR Serverless per eseguire più lavori sul tuo Account AWS, consulta Esegui un EMR Serverless job.

Per saperne di più sulla configurazione IAM autorizzazioni durante l'utilizzo Step Functions con altri AWS servizi, vediIn che modo Step Functions genera IAM politiche per servizi integrati.

Negli esempi mostrati nei seguenti casi d'uso, sostituisci italicized testo con le informazioni specifiche della risorsa. Ad esempio, sostituisci yourApplicationId con l'ID del tuo EMR Serverless applicazione, ad esempio00yv7iv71inak893.

Creazione di un'applicazione

Il seguente esempio di stato Task crea un'applicazione utilizzando l'integrazione API del servizio createApplication.sync.

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

Avviare un'applicazione

Il seguente esempio di stato Task avvia un'applicazione utilizzando l'integrazione API del startApplicationservizio.sync.

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

Arresta un'applicazione

Il seguente esempio di stato Task interrompe un'applicazione che utilizza l'integrazione API del stopApplicationservizio.sync.

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

Eliminazione di un'applicazione

Il seguente esempio di stato Task elimina un'applicazione utilizzando l'integrazione del servizio deleteApplication.sync. API

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

Avviare un processo in un'applicazione

Il seguente esempio di stato dell'attività avvia un processo in un'applicazione utilizzando l'integrazione API del startJobRunservizio.sync.

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

Annullare un lavoro in un'applicazione

Il seguente esempio di stato dell'attività annulla un processo in un'applicazione utilizzando l'integrazione del cancelJobRunservizio.sync. API

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

IAMpolitiche per le chiamate Amazon EMR Serverless

Quando si crea una macchina a stati utilizzando la console, Step Functions crea automaticamente un ruolo di esecuzione per la macchina a stati con i privilegi minimi richiesti. Questi vengono generati automaticamente IAM i ruoli sono validi per Regione AWS in cui si crea la macchina a stati.

I seguenti modelli di esempio mostrano come AWS Step Functions genera IAM politiche basate sulle risorse nella definizione della macchina a stati. Per ulteriori informazioni, consulta In che modo Step Functions genera IAM politiche per servizi integrati e Scopri i modelli di integrazione dei servizi in Step Functions.

Lo consigliamo al momento della creazione IAM politiche, non includere caratteri jolly nelle politiche. Come best practice in materia di sicurezza, è consigliabile limitare il più possibile le policy. È consigliabile utilizzare politiche dinamiche solo quando determinati parametri di input non sono noti durante il runtime.

Inoltre, gli utenti amministratori devono prestare attenzione quando concedono a utenti non amministratori ruoli di esecuzione per l'esecuzione delle macchine a stati. Ti consigliamo passRole di includere le politiche nei ruoli di esecuzione se le crei da solo. Ti consigliamo inoltre di aggiungere le chiavi aws:SourceARN e di aws:SourceAccount contesto nei ruoli di esecuzione.

IAMesempi di policy per l'integrazione EMR Serverless con Step Functions

IAMesempio di politica per CreateApplication

Di seguito è riportato un esempio di IAM policy per una macchina a stati con uno CreateApplication Stato del flusso di lavoro delle attività stato.

Nota

È necessario specificare le CreateServiceLinkedRole autorizzazioni nelle IAM politiche durante la creazione della prima applicazione in assoluto nel proprio account. Successivamente, non è necessario aggiungere questa autorizzazione. Per informazioni su CreateServiceLinkedRole, vedere CreateServiceLinkedRolenella versione più https://docs.aws.amazon.com/IAM/ APIReference recente/ /.

Le risorse statiche e dinamiche per le seguenti politiche sono le stesse.

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

IAMesempio di politica per StartApplication

Risorse statiche

Di seguito sono riportati esempi di IAM policy per le risorse statiche quando si utilizza una macchina a stati con uno StartApplication Stato del flusso di lavoro delle attività stato.

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

Di seguito sono riportati alcuni esempi di IAM policy per le risorse dinamiche quando si utilizza una macchina a stati con uno StartApplication Stato del flusso di lavoro delle attività stato.

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

IAMesempio di politica per StopApplication

Risorse statiche

Di seguito sono riportati esempi di IAM policy per le risorse statiche quando si utilizza una macchina a stati con uno StopApplication Stato del flusso di lavoro delle attività stato.

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

Di seguito sono riportati alcuni esempi di IAM policy per le risorse dinamiche quando si utilizza una macchina a stati con uno StopApplication Stato del flusso di lavoro delle attività stato.

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

IAMesempio di politica per DeleteApplication

Risorse statiche

Di seguito sono riportati esempi di IAM policy per le risorse statiche quando si utilizza una macchina a stati con uno DeleteApplication Stato del flusso di lavoro delle attività stato.

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

Di seguito sono riportati alcuni esempi di IAM policy per le risorse dinamiche quando si utilizza una macchina a stati con uno DeleteApplication Stato del flusso di lavoro delle attività stato.

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

IAMesempio di politica per StartJobRun

Risorse statiche

Di seguito sono riportati esempi di IAM policy per le risorse statiche quando si utilizza una macchina a stati con uno StartJobRun Stato del flusso di lavoro delle attività stato.

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

Di seguito sono riportati alcuni esempi di IAM policy per le risorse dinamiche quando si utilizza una macchina a stati con uno StartJobRun Stato del flusso di lavoro delle attività stato.

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

IAMesempio di politica per CancelJobRun

Risorse statiche

Di seguito sono riportati esempi di IAM policy per le risorse statiche quando si utilizza una macchina a stati con uno CancelJobRun Stato del flusso di lavoro delle attività stato.

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

Di seguito sono riportati alcuni esempi di IAM policy per le risorse dinamiche quando si utilizza una macchina a stati con uno CancelJobRun Stato del flusso di lavoro delle attività stato.

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