

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
<a name="connect-emr-serverless"></a>

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 ulteriori informazioni sull'integrazione con AWS i servizi in Step Functions, vedere [Integrazione dei servizi ](integrate-services.md) e[Passaggio di parametri a un'API di servizio in Step Functions](connect-parameters.md).

**Caratteristiche principali dell'integrazione ottimizzata EMR Serverless**  
 L'integrazione ottimizzata dei EMR Serverless servizi dispone di un set personalizzato [APIs](#connect-emr-serverless-custom-apis)che racchiude le funzionalità sottostanti EMR Serverless APIs. Grazie a questa personalizzazione, l'EMR Serverlessintegrazione ottimizzata differisce in modo significativo dall'integrazione del servizio AWS SDK. 
Inoltre, l'EMR Serverlessintegrazione ottimizzata supporta [Esegui un processo (.sync)](connect-to-resource.md#connect-sync) il modello di integrazione.
Il modello di [Attendi una richiamata con Task Token](connect-to-resource.md#connect-wait-token) integrazione **non** è supportato.

## EMR Serverlessintegrazione del servizio APIs
<a name="connect-emr-serverless-custom-apis"></a>

Per l'integrazione AWS Step Functions conEMR Serverless, è possibile utilizzare i seguenti sei EMR Serverless servizi di integrazione APIs. Queste integrazioni di servizi APIs sono simili a quelle corrispondenti EMR Serverless APIs, con alcune differenze nei campi passati e nelle risposte restituite.

La tabella seguente descrive le differenze tra ogni API EMR Serverless di integrazione dei servizi e l'EMR ServerlessAPI corrispondente.


| EMR ServerlessAPI di integrazione dei servizi | EMR ServerlessAPI corrispondente | Differenze | 
| --- | --- | --- | 
| *Crea applicazione*<br />Crea un’applicazione .<br />EMR Serverlessè collegato a un tipo di IAM ruolo univoco 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 `AWSServiceRoleForAmazonEMRServerless`. Per ulteriori informazioni su questo argomento, inclusa una dichiarazione che puoi aggiungere alla tua politica di IAM autorizzazioni, vedi [Utilizzo di ruoli collegati al servizio](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/using-service-linked-roles.html) per. EMR Serverless |  [CreateApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CreateApplication.html)  | Nessuno | 
| *CreateApplication.sync*<br />Crea un’applicazione . |  [CreateApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CreateApplication.html)  | Nessuna differenza tra le richieste e le risposte dell'API e dell'EMR ServerlessAPI di integrazione dei servizi. EMR Serverless Tuttavia, *CreateApplication.sync* attende che l'applicazione raggiunga lo stato. `CREATED` | 
| *Avvia l'applicazione*<br />Avvia un'applicazione specificata e inizializza la capacità iniziale dell'applicazione, se configurata. |  [StartApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartApplication.html)  | La risposta dell'EMR ServerlessAPI non contiene dati, ma la risposta dell'API EMR Serverless di integrazione del servizio include i seguenti dati.<pre>{<br />  "ApplicationId": "string"<br />}</pre> | 
| *Avvia Application.sync*<br />Avvia un'applicazione specificata e inizializza la capacità iniziale, se configurata. |  [StartApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartApplication.html)  | La risposta dell'EMR ServerlessAPI non contiene dati, ma la risposta dell'API EMR Serverless di integrazione del servizio include i seguenti dati.<pre>{<br />  "ApplicationId": "string"<br />}</pre><br />Inoltre, *StartApplication.sync* attende che l'applicazione raggiunga lo stato. `STARTED` | 
| *Arresta l'applicazione*<br />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](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StopApplication.html)  | La risposta dell'EMR ServerlessAPI non contiene dati, ma la risposta dell'API EMR Serverless di integrazione del servizio include i seguenti dati.<pre>{<br />  "ApplicationId": "string"<br />}</pre> | 
| *Arresta Application.sync*<br />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](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StopApplication.html)  | La risposta dell'EMR ServerlessAPI non contiene dati, ma la risposta dell'API EMR Serverless di integrazione del servizio include i seguenti dati.<pre>{<br />  "ApplicationId": "string"<br />}</pre><br />Inoltre, *StopApplication.sync* attende che l'applicazione raggiunga lo stato. `STOPPED` | 
| *Elimina applicazione*<br />Elimina un'applicazione. Un'applicazione deve trovarsi nello `CREATED` stato `STOPPED` o per poter essere eliminata. |  [DeleteApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_DeleteApplication.html)  | La risposta dell'EMR ServerlessAPI non contiene dati, ma la risposta dell'API di integrazione del EMR Serverless servizio include i seguenti dati.<pre>{<br />  "ApplicationId": "string"<br />}</pre> | 
| *Elimina Application.sync*<br />Elimina un'applicazione. Un'applicazione deve trovarsi nello `CREATED` stato `STOPPED` o per poter essere eliminata. |  [DeleteApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_DeleteApplication.html)  | La risposta dell'EMR ServerlessAPI non contiene dati, ma la risposta dell'API di integrazione del EMR Serverless servizio include i seguenti dati.<pre>{<br />  "ApplicationId": "string"<br />}</pre><br />Inoltre, *StopApplication.sync* attende che l'applicazione raggiunga lo stato. `TERMINATED` | 
| *startJobRun*<br />Avvia l'esecuzione di un processo. |  [StartJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html)  | Nessuno | 
| *startJobRun.sync*<br />Avvia l'esecuzione di un processo. |  [StartJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html)  | Nessuna differenza tra le richieste e le risposte dell'EMR ServerlessAPI e dell'API EMR Serverless di integrazione dei servizi. Tuttavia, *startJobRun.sync* attende che l'applicazione raggiunga lo `SUCCESS` stato. | 
| *cancelJobRun*<br />Annulla l'esecuzione di un processo. |  [CancelJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CancelJobRun.html)  | Nessuno | 
| *cancelJobRun.sync*<br />Annulla l'esecuzione di un processo. |  [CancelJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CancelJobRun.html)  | Nessuna differenza tra le richieste e le risposte dell'EMR ServerlessAPI e dell'API di integrazione dei EMR Serverless servizi. Tuttavia, *cancelJobRun.sync* attende che l'applicazione raggiunga lo `CANCELLED` stato. | 

## Casi d'uso dell'integrazione EMR Serverless
<a name="connect-emr-serverless-use-cases"></a>

Per l'integrazione ottimizzata dei EMR Serverless servizi, si consiglia di creare una singola applicazione e quindi di utilizzarla per eseguire più processi. Ad esempio, in una macchina a stato singolo, è possibile includere più [startJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html)richieste, che utilizzano tutte la stessa applicazione. I seguenti esempi di [Stato del flusso di lavoro delle attività](state-task.md) stato mostrano i casi d'uso EMR Serverless APIs con cui eseguire l'integrazioneStep Functions. Per informazioni su altri casi d'uso diEMR Serverless, vedere [What is Amazon EMR Serverless](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/emr-serverless.html).

**Suggerimento**  
Per distribuire un esempio di macchina a stati che si integra con EMR Serverless per l'esecuzione di più lavori;, vedere. [Esegui un EMR Serverless lavoro](sample-emr-serverless-job.md)
+ [Creazione di un'applicazione](#connect-emr-serverless-task-state-createapp)
+ [Avviare un'applicazione](#connect-emr-serverless-task-state-startapp)
+ [Arresta un'applicazione](#connect-emr-serverless-task-state-stopapp)
+ [Eliminazione di un'applicazione](#connect-emr-serverless-task-state-deleteapp)
+ [Avviare un processo in un'applicazione](#connect-emr-serverless-task-state-startjobrun)
+ [Annullare un lavoro in un'applicazione](#connect-emr-serverless-task-state-canceljobrun)

Per ulteriori informazioni sulla configurazione delle IAM autorizzazioni durante l'utilizzo Step Functions con altri AWS servizi, consulta. [In che modo Step Functions genera policy IAM per servizi integrati](service-integration-iam-templates.md)

Negli esempi mostrati nei seguenti casi d'uso, sostituisci il {{italicized}} testo con informazioni specifiche sulla risorsa. Ad esempio, sostituiscilo {{yourApplicationId}} con l'ID della tua EMR Serverless applicazione, ad esempio. `00yv7iv71inak893`

### Creazione di un'applicazione
<a name="connect-emr-serverless-task-state-createapp"></a>

Il seguente esempio di stato Task crea un'applicazione utilizzando l'API di integrazione del *servizio 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
}
```

### Avviare un'applicazione
<a name="connect-emr-serverless-task-state-startapp"></a>

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

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

### Arresta un'applicazione
<a name="connect-emr-serverless-task-state-stopapp"></a>

Il seguente esempio di stato Task interrompe un'applicazione utilizzando l'API di integrazione del *servizio StopApplication.sync.*

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

### Eliminazione di un'applicazione
<a name="connect-emr-serverless-task-state-deleteapp"></a>

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

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

### Avviare un processo in un'applicazione
<a name="connect-emr-serverless-task-state-startjobrun"></a>

Il seguente esempio di stato Task avvia un processo in un'applicazione utilizzando l'API di integrazione del servizio *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
}
```

### Annullare un lavoro in un'applicazione
<a name="connect-emr-serverless-task-state-canceljobrun"></a>

Il seguente esempio di stato Task annulla un processo in un'applicazione utilizzando l'API di integrazione del servizio *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
}
```

## Politiche IAM per le chiamate Amazon EMR Serverless
<a name="emr-serverless-iam"></a>

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

I seguenti modelli di esempio mostrano come AWS Step Functions generare le politiche IAM in base alle risorse nella definizione della macchina a stati. Per ulteriori informazioni, consultare [In che modo Step Functions genera policy IAM per servizi integrati](service-integration-iam-templates.md) e [Scopri i modelli di integrazione dei servizi in Step Functions](connect-to-resource.md).

Quando crei delle IAM policy, ti consigliamo di non includere caratteri jolly nelle policy. 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 di includere le politiche PassRole nei ruoli di esecuzione se stai creando politiche da solo. Ti consigliamo inoltre di aggiungere le chiavi `aws:SourceARN` e di `aws:SourceAccount` contesto nei ruoli di esecuzione.

### Esempi di policy IAM per l'integrazione EMR Serverless con Step Functions
<a name="emr-serverless-iam-policy-eg"></a>
+ [Esempio di policy IAM per CreateApplication](#emr-serverless-policy-createapp)
+ [Esempio di policy IAM per StartApplication](#emr-serverless-policy-startapp)
+ [Esempio di policy IAM per StopApplication](#emr-serverless-policy-stopapp)
+ [Esempio di policy IAM per DeleteApplication](#emr-serverless-policy-deleteapp)
+ [Esempio di policy IAM per StartJobRun](#emr-serverless-policy-startjobrun)
+ [Esempio di policy IAM per CancelJobRun](#emr-serverless-policy-canceljobrun)

#### Esempio di policy IAM per CreateApplication
<a name="emr-serverless-policy-createapp"></a>

Di seguito è riportato un esempio di policy IAM per una macchina a stati con uno CreateApplication [Stato del flusso di lavoro delle attività](state-task.md) stato.

**Nota**  
È necessario specificare le CreateServiceLinkedRole autorizzazioni nelle politiche IAM durante la creazione della prima applicazione in assoluto nel proprio account. Successivamente, non è necessario aggiungere questa autorizzazione. Per informazioni su CreateServiceLinkedRole, vedere [CreateServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html)nella 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:{{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/{{AWSServiceRoleForAmazonEMRServerless}}*",
            "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/{{AWSServiceRoleForAmazonEMRServerless}}*",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "ops.emr-serverless.amazonaws.com"
                }
            }
        }
    ]
}
```

------

#### Esempio di policy IAM per StartApplication
<a name="emr-serverless-policy-startapp"></a>

**Risorse statiche**  
Di seguito sono riportati esempi di policy IAM per risorse statiche quando si utilizza una macchina a stati con uno StartApplication [Stato del flusso di lavoro delle attività](state-task.md) 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:{{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}}"
            ]
        }
    ]
}
```

------

**Risorse dinamiche**  
Di seguito sono riportati alcuni esempi di policy IAM per risorse dinamiche quando si utilizza una macchina a stati con uno StartApplication [Stato del flusso di lavoro delle attività](state-task.md) 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:{{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/*"
            ]
        }
    ]
}
```

------

#### Esempio di policy IAM per StopApplication
<a name="emr-serverless-policy-stopapp"></a>

**Risorse statiche**  
Di seguito sono riportati esempi di policy IAM per risorse statiche quando si utilizza una macchina a stati con uno StopApplication [Stato del flusso di lavoro delle attività](state-task.md) stato.

------
#### [ 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}}"
            ]
        }
    ]
}
```

------

**Risorse dinamiche**  
Di seguito sono riportati alcuni esempi di policy IAM per risorse dinamiche quando si utilizza una macchina a stati con uno StopApplication [Stato del flusso di lavoro delle attività](state-task.md) stato.

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

------

#### Esempio di policy IAM per DeleteApplication
<a name="emr-serverless-policy-deleteapp"></a>

**Risorse statiche**  
Di seguito sono riportati esempi di policy IAM per risorse statiche quando si utilizza una macchina a stati con uno DeleteApplication [Stato del flusso di lavoro delle attività](state-task.md) stato.

------
#### [ 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}}"
            ]
        }
    ]
}
```

------

**Risorse dinamiche**  
Di seguito sono riportati alcuni esempi di policy IAM per risorse dinamiche quando si utilizza una macchina a stati con uno DeleteApplication [Stato del flusso di lavoro delle attività](state-task.md) stato.

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

------

#### Esempio di policy IAM per StartJobRun
<a name="emr-serverless-policy-startjobrun"></a>

**Risorse statiche**  
Di seguito sono riportati esempi di policy IAM per risorse statiche quando si utilizza una macchina a stati con uno StartJobRun [Stato del flusso di lavoro delle attività](state-task.md) stato.

------
#### [ 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"
                }
            }
        }
    ]
}
```

------

**Risorse dinamiche**  
Di seguito sono riportati alcuni esempi di policy IAM per risorse dinamiche quando si utilizza una macchina a stati con uno StartJobRun [Stato del flusso di lavoro delle attività](state-task.md) 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:{{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"
                }
            }
        }
    ]
}
```

------

#### Esempio di policy IAM per CancelJobRun
<a name="emr-serverless-policy-canceljobrun"></a>

**Risorse statiche**  
Di seguito sono riportati esempi di policy IAM per risorse statiche quando si utilizza una macchina a stati con uno CancelJobRun [Stato del flusso di lavoro delle attività](state-task.md) stato.

------
#### [ 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}}"
            ]
        }
    ]
}
```

------

**Risorse dinamiche**  
Di seguito sono riportati alcuni esempi di policy IAM per risorse dinamiche quando si utilizza una macchina a stati con uno CancelJobRun [Stato del flusso di lavoro delle attività](state-task.md) stato.

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

------