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 | 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 |
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.
|
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.
Inoltre, startApplication.sync attende che l'applicazione raggiunga lo |
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.
|
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.
Inoltre, stopApplication.sync attende che l'applicazione raggiunga lo |
deleteApplication Elimina un'applicazione. Un'applicazione deve trovarsi nello |
DeleteApplication |
Il EMR Serverless APIla risposta non contiene alcun dato, ma EMR Serverless la API risposta di integrazione del servizio include i seguenti dati.
|
deleteApplication.sync Elimina un'applicazione. Un'applicazione deve trovarsi nello |
DeleteApplication |
Il EMR Serverless APIla risposta non contiene alcun dato, ma EMR Serverless la API risposta di integrazione del servizio include i seguenti dati.
Inoltre, stopApplication.sync attende che l'applicazione raggiunga lo |
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 |
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 |
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.