

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á.

# Crie e gerencie clusters do Amazon EMR no EKS com AWS Step Functions
<a name="connect-emr-eks"></a>

Saiba como fazer a integração AWS Step Functions com o Amazon EMR no EKS usando a integração do serviço Amazon EMR no EKS. APIs A integração de serviços APIs é a mesma do Amazon EMR correspondente no EKS APIs, mas nem todas APIs oferecem suporte a todos os padrões de integração, conforme mostrado na tabela a seguir.

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)

**Como a integração otimizada do Amazon EMR no EKS é diferente da integração do Amazon EMR no EKS SDK AWS**  
O padrão de integração [Executar um trabalho (.sync)](connect-to-resource.md#connect-sync) é compatível.
Não há otimizações específicas para o padrão de integração [Resposta de solicitação](connect-to-resource.md#connect-default).
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 é compatível.

**nota**  
Para integração com o Amazon EMR, o Step Functions tem uma frequência de pesquisa de trabalhos de codificação rígida de 60 segundos para os primeiros 10 minutos e 300 segundos depois disso.


| solicitações de | Resposta de solicitação | Executar um trabalho (.sync) | 
| --- | --- | --- | 
| CreateVirtualCluster | Compatível | Sem compatibilidade | 
| DeleteVirtualCluster | Compatível | Compatível | 
| StartJobRun | Compatível | Compatível | 

Amazon EMR compatível com EKS: APIs

**Cota para dados de entrada ou resultado**  
Ao enviar ou receber dados entre serviços, o máximo de entrada ou resultado de uma tarefa é 256 KiB de dados como uma string codificada em UTF-8. Consulte [Cotas relacionadas a execuções de máquina de estado](service-quotas.md#service-limits-state-machine-executions).


+ [https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_CreateVirtualCluster.html](https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_CreateVirtualCluster.html)
  + [Sintaxe da solicitação](https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_CreateVirtualCluster.html#API_CreateVirtualCluster_RequestSyntax)
  + [Parâmetros compatíveis](https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_CreateVirtualCluster.html#API_CreateVirtualCluster_RequestBody)
  + [Sintaxe da resposta](https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_CreateVirtualCluster.html#API_CreateVirtualCluster_ResponseSyntax)
+ [https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_DeleteVirtualCluster.html](https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_DeleteVirtualCluster.html)
  + [Sintaxe da solicitação](https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_DeleteVirtualCluster.html#API_DeleteVirtualCluster_RequestSyntax)
  + [Parâmetros compatíveis](https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_DeleteVirtualCluster.html#API_DeleteVirtualCluster_RequestParameters)
  + [Sintaxe da resposta](https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_CreateVirtualCluster.html#API_CreateVirtualCluster_ResponseSyntax)
+ [https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_StartJobRun.html](https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_StartJobRun.html)
  + [Sintaxe da solicitação](https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_StartJobRun.html#API_StartJobRun_RequestSyntax)
  + [Parâmetros compatíveis](https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_StartJobRun.html#API_StartJobRun_RequestParameters)
  + [Sintaxe da resposta](https://docs.aws.amazon.com/emr-on-eks/latest/APIReference/API_StartJobRun.html#API_StartJobRun_ResponseSyntax)

Veja a seguir um estado `Task` que cria um cluster virtual.

```
"Create_Virtual_Cluster": {
  "Type": "Task",
  "Resource": "arn:aws:states:::emr-containers:createVirtualCluster",
  "Arguments": {
    "Name": "MyVirtualCluster",
    "ContainerProvider": {
      "Id": "EKSClusterName",
      "Type": "EKS",
      "Info": {
        "EksInfo": {
          "Namespace": "Namespace"
        }
      }
    }
  },
  "End": true
}
```

Veja a seguir um `Task` estado que envia um trabalho a um cluster virtual e aguarde até que ele seja concluído.

```
"Submit_Job": {
    "Type": "Task",
    "Resource": "arn:aws:states:::emr-containers:startJobRun.sync",
    "Arguments": {
      "Name": "MyJobName",
      "VirtualClusterId": "{% $VirtualClusterId %}",
      "ExecutionRoleArn": "arn:aws:iam::{{<accountId>}}:role/job-execution-role",
      "ReleaseLabel": "emr-6.2.0-latest",
      "JobDriver": {
        "SparkSubmitJobDriver": {
          "EntryPoint": "s3://{{<amzn-s3-demo-bucket>}}/jobs/trip-count.py",
          "EntryPointArguments": [
            "60"
          ],
          "SparkSubmitParameters": "--conf spark.driver.cores=2 --conf spark.executor.instances=10 --conf spark.kubernetes.pyspark.pythonVersion=3 --conf spark.executor.memory=10G --conf spark.driver.memory=10G --conf spark.executor.cores=1 --conf spark.dynamicAllocation.enabled=false"
        }
      },
      "ConfigurationOverrides": {
        "ApplicationConfiguration": [
          {
            "Classification": "spark-defaults",
            "Properties": {
              "spark.executor.instances": "2",
              "spark.executor.memory": "2G"
            }
          }
        ],
        "MonitoringConfiguration": {
          "PersistentAppUI": "ENABLED",
          "CloudWatchMonitoringConfiguration": {
            "LogGroupName": "MyLogGroupName",
            "LogStreamNamePrefix": "MyLogStreamNamePrefix"
          },
          "S3MonitoringConfiguration": {
            "LogUri": "s3://{{<amzn-s3-demo-logging-bucket1>}}"
          }
        }
      },
      "Tags": {
        {{"taskType"}}: {{"jobName"}}
      }
    },
    "End": true
}
```

Veja a seguir um `Task` estado que exclui um cluster virtual e aguarde a conclusão da exclusão.

```
"Delete_Virtual_Cluster": {
  "Type": "Task",
  "Resource": "arn:aws:states:::emr-containers:deleteVirtualCluster.sync",
  "Arguments": {
    "Id": "{% $states.input.VirtualClusterId %}",
  },
  "End": true
}
```

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).