

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar e gerenciar aplicações do Amazon EMR Serverless com o Step Functions
<a name="connect-emr-serverless"></a>

Saiba como criar, iniciar, interromper e excluir aplicações no EMR Sem Servidor usando o Step Functions. Esta página lista os `Task` estados suportados APIs e fornece exemplos para realizar casos de uso comuns.

Para saber mais sobre a integração com AWS serviços no Step Functions, consulte [Integração de produtos da ](integrate-services.md) e. [Transmitir parâmetros a uma API de serviço no Step Functions](connect-parameters.md)

**Principais recursos da integração otimizada ao EMR Serverless**  
 A integração otimizada de EMR Serverless serviços tem um conjunto personalizado [APIs](#connect-emr-serverless-custom-apis)que envolve o subjacente EMR Serverless APIs. Por causa dessa personalização, a EMR Serverless integração otimizada difere significativamente da integração do serviço AWS SDK. 
Além disso, a integração otimizada do EMR Serverless é compatível com o padrão de integração do [Executar um trabalho (.sync)](connect-to-resource.md#connect-sync).
O padrão de integração [Aguardar um retorno de chamada com um token de tarefa](connect-to-resource.md#connect-wait-token) **não** é aceito.

## EMR Serverlessintegração de serviços APIs
<a name="connect-emr-serverless-custom-apis"></a>

Para fazer a integração AWS Step Functions comEMR Serverless, você pode usar as seis integrações EMR Serverless de serviços a seguir APIs. Essas integrações de serviços APIs são semelhantes às correspondentes EMR Serverless APIs, com algumas diferenças nos campos que são passados e nas respostas que são retornadas.

A tabela a seguir descreve as diferenças entre cada API de integração de serviço do EMR Serverless e a API do EMR Serverless correspondente.


| API de integração de serviço do EMR Serverless | API do EMR Serverless correspondente | Diferenças | 
| --- | --- | --- | 
|  *createApplication* Cria um aplicativo. O EMR Serverless está vinculado a um tipo exclusivo de função do IAM conhecida como função vinculada ao serviço. Para que `createApplication` e `createApplication.sync` funcionem, você deve ter configurado as permissões necessárias para criar a função vinculada ao serviço `AWSServiceRoleForAmazonEMRServerless`. Para obter mais informações sobre isso, incluindo uma instrução de que você pode adicionar à política de permissões do IAM, consulte [Usar funções vinculadas ao serviço para o EMR Serverless](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/using-service-linked-roles.html).  |  [CreateApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CreateApplication.html)  | Nenhum | 
|  *createApplication.sync* Cria um aplicativo.  |  [CreateApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CreateApplication.html)  |  Não há diferenças entre as solicitações e as respostas da API do EMR Serverless e da API de integração de serviços do EMR Serverless. No entanto, *createApplication.sync* espera que o aplicativo alcance o estado de `CREATED`.  | 
|  *startApplication* Inicia um aplicativo especificado e inicializa a capacidade inicial do aplicativo, se configurado.  |  [StartApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartApplication.html)  |  A resposta da API do EMR Serverless não contém nenhum dado, mas a resposta da API de integração de serviços do EMR Serverless inclui os seguintes dados. <pre>{<br />  "ApplicationId": "string"<br />}</pre>  | 
|  *startApplication.sync* Inicia um aplicativo especificado e inicializa a capacidade inicial do aplicativo, se configurado.  |  [StartApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartApplication.html)  |  A resposta da API do EMR Serverless não contém nenhum dado, mas a resposta da API de integração de serviços do EMR Serverless inclui os seguintes dados. <pre>{<br />  "ApplicationId": "string"<br />}</pre> Além disso, *startApplication.sync* espera que o aplicativo alcance o estado de `STARTED`.  | 
|  *stopApplication* Interrompe um aplicativo especificado e libera a capacidade inicial, se configurada. Todas as tarefas programadas e em execução devem ser concluídas ou canceladas antes de interromper um aplicativo.  |  [StopApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StopApplication.html)  |  A resposta da API do EMR Serverless não contém nenhum dado, mas a resposta da API de integração de serviços do EMR Serverless inclui os seguintes dados. <pre>{<br />  "ApplicationId": "string"<br />}</pre>  | 
|  *stopApplication.sync* Interrompe um aplicativo especificado e libera a capacidade inicial, se configurada. Todas as tarefas programadas e em execução devem ser concluídas ou canceladas antes de interromper um aplicativo.  |  [StopApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StopApplication.html)  |  A resposta da API do EMR Serverless não contém nenhum dado, mas a resposta da API de integração de serviços do EMR Serverless inclui os seguintes dados. <pre>{<br />  "ApplicationId": "string"<br />}</pre> Além disso, *stopApplication.sync* espera que o aplicativo alcance o estado de `STOPPED`.  | 
|  *deleteApplication* Exclui um aplicativo. Um aplicativo deve estar no estado `STOPPED` ou `CREATED` para ser excluído.  |  [DeleteApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_DeleteApplication.html)  |  A resposta da API do EMR Serverless não contém nenhum dado, mas a resposta da API de integração de serviços do EMR Serverless inclui os seguintes dados. <pre>{<br />  "ApplicationId": "string"<br />}</pre>  | 
|  *deleteApplication.sync* Exclui um aplicativo. Um aplicativo deve estar no estado `STOPPED` ou `CREATED` para ser excluído.  |  [DeleteApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_DeleteApplication.html)  |  A resposta da API do EMR Serverless não contém nenhum dado, mas a resposta da API de integração de serviços do EMR Serverless inclui os seguintes dados. <pre>{<br />  "ApplicationId": "string"<br />}</pre> Além disso, *stopApplication.sync* espera que o aplicativo alcance o estado de `TERMINATED`.  | 
|  *startJobRun* Inicia uma execução de tarefa.  |  [StartJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html)  | Nenhum | 
|  *startJobRun.sync* Inicia uma execução de tarefa.  |  [StartJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html)  |  Não há diferenças entre as solicitações e as respostas da API do EMR Serverless e da API de integração de serviços do EMR Serverless. No entanto, *startJobRun.sync* espera que o aplicativo alcance o `SUCCESS` estado.  | 
|  *cancelJobRun* Cancela uma execução de tarefa.  |  [CancelJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CancelJobRun.html)  | Nenhum | 
|  *cancelJobRun.sync* Cancela uma execução de tarefa.  |  [CancelJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CancelJobRun.html)  |  Não há diferenças entre as solicitações e as respostas da API do EMR Serverless e da API de integração de serviços do EMR Serverless. No entanto, *cancelJobRun.sync* espera que o aplicativo alcance o `CANCELLED` estado.  | 

## Casos de uso da integração do EMR sem servidor
<a name="connect-emr-serverless-use-cases"></a>

Para a integração otimizada de serviços do EMR Serverless, recomendamos que você crie um único aplicativo e, em seguida, use esse aplicativo para executar várias tarefas. Por exemplo, em uma única máquina de estado, você pode incluir várias [startJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html)solicitações, todas usando o mesmo aplicativo. Os exemplos de [Estado de tarefa do fluxo de trabalho](state-task.md) estado a seguir mostram casos de uso EMR Serverless APIs com os quais se integrarStep Functions. Para obter informações sobre outros casos de uso do EMR Serverless, consulte [O que é o Amazon EMR Serverless](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/emr-serverless.html).

**dica**  
Para implementar um exemplo de uma máquina de estado que se integra ao EMR Serverless para executar várias tarefas, consulte [Executar uma tarefa do EMR Serverless](sample-emr-serverless-job.md).
+ [Cria uma aplicação](#connect-emr-serverless-task-state-createapp)
+ [Inicia o aplicativo](#connect-emr-serverless-task-state-startapp)
+ [Interrompe o aplicativo](#connect-emr-serverless-task-state-stopapp)
+ [Deleta o aplicativo](#connect-emr-serverless-task-state-deleteapp)
+ [Inicia uma tarefa em um aplicativo](#connect-emr-serverless-task-state-startjobrun)
+ [Cancela uma tarefa em um aplicativo](#connect-emr-serverless-task-state-canceljobrun)

Para saber mais sobre como configurar IAM permissões ao usar Step Functions com outros AWS serviços, consulte[Como o Step Functions gera políticas do IAM para serviços integrados](service-integration-iam-templates.md).

Nos exemplos mostrados nos casos de uso a seguir, substitua o *italicized* texto pelas informações específicas do seu recurso. Por exemplo, *yourApplicationId* substitua pelo ID do seu EMR Serverless aplicativo, como`00yv7iv71inak893`.

### Cria uma aplicação
<a name="connect-emr-serverless-task-state-createapp"></a>

O exemplo de estado da Tarefa a seguir cria um aplicativo usando a API de integração do serviço *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
}
```

### Inicia o aplicativo
<a name="connect-emr-serverless-task-state-startapp"></a>

O exemplo de estado da Tarefa a seguir inicia um aplicativo usando a API de integração do serviço *startApplication.sync.*

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

### Interrompe o aplicativo
<a name="connect-emr-serverless-task-state-stopapp"></a>

O exemplo de estado da Tarefa a seguir interrompe um aplicativo usando a API de integração do serviço *stopApplication.sync.*

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

### Deleta o aplicativo
<a name="connect-emr-serverless-task-state-deleteapp"></a>

O exemplo de estado da Tarefa a seguir deleta um aplicativo usando a API de integração do serviço *deleteApplication.sync.*

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

### Inicia uma tarefa em um aplicativo
<a name="connect-emr-serverless-task-state-startjobrun"></a>

O exemplo de estado de tarefa a seguir inicia um trabalho em um aplicativo usando a API de integração de serviços *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
}
```

### Cancela uma tarefa em um aplicativo
<a name="connect-emr-serverless-task-state-canceljobrun"></a>

O exemplo de estado da tarefa a seguir cancela um trabalho em um aplicativo usando a API de integração de serviços *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
}
```

## Políticas do IAM para chamar o Amazon EMR Serverless
<a name="emr-serverless-iam"></a>

Ao criar uma máquina de estado usando o console, o Step Functions cria automaticamente um perfil de execução para a máquina de estado com os privilégios mínimos necessários. Essas IAM funções geradas automaticamente são válidas para Região da AWS as quais você cria a máquina de estado.

Os modelos de exemplo a seguir mostram como AWS Step Functions gera políticas do IAM com base nos recursos na definição da sua máquina de estado. Para obter mais informações, consulte [Como o Step Functions gera políticas do IAM para serviços integrados](service-integration-iam-templates.md) e [Descobrir padrões de integração de serviços no Step Functions](connect-to-resource.md).

Recomendamos não incluir curingas ao criar políticas do IAM. Como prática recomendada de segurança, você deve definir o escopo de suas políticas o máximo possível. Use políticas dinâmicas somente quando determinados parâmetros de entrada não forem conhecidos durante o runtime.

Além disso, os usuários administradores devem ter cuidado ao conceder perfis de execução a usuários não administradores para executar as máquinas de estado. Recomendamos que você inclua políticas passRole nos perfis de execução se estiver criando políticas por conta própria. Também recomendamos que você adicione as chaves de contexto `aws:SourceARN` e `aws:SourceAccount` e nos perfis de execução.

### Exemplos de políticas do IAM para integração do EMR sem servidor com o Step Functions
<a name="emr-serverless-iam-policy-eg"></a>
+ [Exemplo de política do IAM para CreateApplication](#emr-serverless-policy-createapp)
+ [Exemplo de política do IAM para StartApplication](#emr-serverless-policy-startapp)
+ [Exemplo de política do IAM para StopApplication](#emr-serverless-policy-stopapp)
+ [Exemplo de política do IAM para DeleteApplication](#emr-serverless-policy-deleteapp)
+ [Exemplo de política do IAM para StartJobRun](#emr-serverless-policy-startjobrun)
+ [Exemplo de política do IAM para CancelJobRun](#emr-serverless-policy-canceljobrun)

#### Exemplo de política do IAM para CreateApplication
<a name="emr-serverless-policy-createapp"></a>

Veja a seguir um exemplo de política do IAM para uma máquina de estado com um CreateApplication [Estado de tarefa do fluxo de trabalho](state-task.md) estado.

**nota**  
Você precisa especificar as CreateServiceLinkedRole permissões em suas políticas do IAM durante a criação do primeiro aplicativo em sua conta. Depois disso, não será necessário adicionar essa permissão. Para obter informações sobre CreateServiceLinkedRole, consulte [CreateServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html)nas https://docs.aws.amazon.com/IAM/ últimas APIReference //.

Os recursos estáticos e dinâmicos para as políticas a seguir são os mesmos.

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

------

#### Exemplo de política do IAM para StartApplication
<a name="emr-serverless-policy-startapp"></a>

**Recursos estáticos**  
Veja a seguir exemplos de políticas do IAM para recursos estáticos quando você usa uma máquina de estado com um StartApplication [Estado de tarefa do fluxo de trabalho](state-task.md) estado.

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

------

**Recursos dinâmicos**  
Veja a seguir exemplos de políticas do IAM para recursos dinâmicos quando você usa uma máquina de estado com um StartApplication [Estado de tarefa do fluxo de trabalho](state-task.md) estado.

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

------

#### Exemplo de política do IAM para StopApplication
<a name="emr-serverless-policy-stopapp"></a>

**Recursos estáticos**  
Veja a seguir exemplos de políticas do IAM para recursos estáticos quando você usa uma máquina de estado com um StopApplication [Estado de tarefa do fluxo de trabalho](state-task.md) estado.

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

------

**Recursos dinâmicos**  
Veja a seguir exemplos de políticas do IAM para recursos dinâmicos quando você usa uma máquina de estado com um StopApplication [Estado de tarefa do fluxo de trabalho](state-task.md) estado.

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

------

#### Exemplo de política do IAM para DeleteApplication
<a name="emr-serverless-policy-deleteapp"></a>

**Recursos estáticos**  
Veja a seguir exemplos de políticas do IAM para recursos estáticos quando você usa uma máquina de estado com um DeleteApplication [Estado de tarefa do fluxo de trabalho](state-task.md) estado.

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

------

**Recursos dinâmicos**  
Veja a seguir exemplos de políticas do IAM para recursos dinâmicos quando você usa uma máquina de estado com um DeleteApplication [Estado de tarefa do fluxo de trabalho](state-task.md) estado.

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

------

#### Exemplo de política do IAM para StartJobRun
<a name="emr-serverless-policy-startjobrun"></a>

**Recursos estáticos**  
Veja a seguir exemplos de políticas do IAM para recursos estáticos quando você usa uma máquina de estado com um StartJobRun [Estado de tarefa do fluxo de trabalho](state-task.md) estado.

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

------

**Recursos dinâmicos**  
Veja a seguir exemplos de políticas do IAM para recursos dinâmicos quando você usa uma máquina de estado com um StartJobRun [Estado de tarefa do fluxo de trabalho](state-task.md) estado.

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

------

#### Exemplo de política do IAM para CancelJobRun
<a name="emr-serverless-policy-canceljobrun"></a>

**Recursos estáticos**  
Veja a seguir exemplos de políticas do IAM para recursos estáticos quando você usa uma máquina de estado com um CancelJobRun [Estado de tarefa do fluxo de trabalho](state-task.md) estado.

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

------

**Recursos dinâmicos**  
Veja a seguir exemplos de políticas do IAM para recursos dinâmicos quando você usa uma máquina de estado com um CancelJobRun [Estado de tarefa do fluxo de trabalho](state-task.md) estado.

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

------