

AWS Data Pipeline não está mais disponível para novos clientes. Os clientes existentes do AWS Data Pipeline podem continuar usando o serviço normalmente. [Saiba mais](https://aws.amazon.com/blogs/big-data/migrate-workloads-from-aws-data-pipeline/)

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

# Referência de objeto de pipeline
<a name="dp-pipeline-objects"></a>

Você pode usar os objetos e componentes de pipeline a seguir na sua definição de pipeline.

**Topics**
+ [Nós de dados](dp-object-datanodes.md)
+ [Atividades](dp-object-activities.md)
+ [Recursos](dp-object-resources.md)
+ [Precondições](dp-object-preconditions.md)
+ [Bancos de dados](dp-object-databases.md)
+ [Formatos de dados](dp-object-dataformats.md)
+ [Ações](dp-object-actions.md)
+ [Agendamento](dp-object-schedule.md)
+ [Serviços públicos](dp-object-utilities.md)

**nota**  
Para ver um exemplo de aplicativo que usa o AWS Data Pipeline Java SDK, consulte [Data Pipeline DynamoDB Export Java Sample on.](https://github.com/awslabs/data-pipeline-samples/tree/master/samples/DynamoDBExportJava) GitHub

A seguir está a hierarquia de objetos para AWS Data Pipeline.

![\[AWS Data Pipeline hierarquia de objetos\]](http://docs.aws.amazon.com/pt_br/datapipeline/latest/DeveloperGuide/images/object_hierarchy.png)


# Nós de dados
<a name="dp-object-datanodes"></a>

A seguir estão os objetos do nó de AWS Data Pipeline dados:

**Topics**
+ [Nó do Dynamo DBData](dp-object-dynamodbdatanode.md)
+ [MySqlDataNode](dp-object-mysqldatanode.md)
+ [RedshiftDataNode](dp-object-redshiftdatanode.md)
+ [S3 DataNode](dp-object-s3datanode.md)
+ [SqlDataNode](dp-object-sqldatanode.md)

# Nó do Dynamo DBData
<a name="dp-object-dynamodbdatanode"></a>

 Define um nó de dados usando o DynamoDB, que é especificado como uma entrada para um objeto `HiveActivity` ou `EMRActivity`. 

**nota**  
O objeto `DynamoDBDataNode` não oferece suporte à precondição `Exists`.

## Exemplo
<a name="dynamodbdatanode-example"></a>

Veja a seguir um exemplo deste tipo de objeto. Esse objeto faz referência a dois outros objetos definidos por você no mesmo arquivo de definição de pipeline. `CopyPeriod` é um objeto `Schedule` e `Ready` é um objeto de precondição.

```
{
  "id" : "MyDynamoDBTable",
  "type" : "DynamoDBDataNode",
  "schedule" : { "ref" : "CopyPeriod" },
  "tableName" : "adEvents",
  "precondition" : { "ref" : "Ready" }
}
```

## Sintaxe
<a name="dynamodbdatanode-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| tableName | Uma tabela do DynamoDB. | String | 

 


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento | Esse objeto é invocado durante a execução de um intervalo de programação. Os usuários precisam especificar uma referência de programação para outro objeto de modo a definir a ordem de execução de dependência desse objeto. Os usuários podem satisfazer esse requisito definindo explicitamente uma programação no objeto, por exemplo, especificando “agenda”: \$1"ref”: "DefaultSchedule“\$1. Na maioria dos casos, é melhor colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação. Como alternativa, se o pipeline tiver uma árvore de programações (outras programações dentro de uma programação principal), os usuários poderão criar um objeto principal que tenha uma referência de programação. Para obter mais informações sobre configurações opcionais de programação de exemplo, consulte [Programação](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html). | Objeto de referência, por exemplo, “schedule”: \$1"ref”:” myScheduleId “\$1 | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se esse campo estiver definido, uma nova atividade remota não concluída no tempo definido de início poderá ser repetida. | Período | 
| dataFormat | DataFormat para os dados descritos por esse nó de dados. Atualmente suportado por HiveActivity HiveCopyActivity e. | Objeto de referência, “dataFormat”: \$1"ref” DBData FormatId :"myDynamo “\$1 | 
| dependsOn | Especifique a dependência em outro objeto executável | Objeto de referência, por exemplo, “dependsOn”: \$1"ref”:” myActivityId “\$1 | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | Quantidade máxima de novas tentativas com falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| pipelineLogUri | O URI do S3 (como 's3://BucketName/Key/ ') para carregar registros para o pipeline. | String | 
| precondition | Se desejar, você pode definir uma precondição. Um nó de dados não fica marcado como "READY" até que todas as precondições tenham sido atendidas. | Objeto de referência, por exemplo, “pré-condição”: \$1"ref”:” myPreconditionId “\$1 | 
| readThroughputPercent | Define a taxa de operações de leitura para manter sua taxa de throughput provisionado do DynamoDB no intervalo alocado para sua tabela. O valor é um dobro entre 0,1 e 1, incluindo ambos. | Duplo | 
| region | O código da região na qual a tabela do DynamoDB está. Por exemplo, us-east-1. Isso é usado HiveActivity quando ele executa a preparação de tabelas do DynamoDB no Hive. | Enumeração | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| runsOn | O recurso computacional para executar a atividade ou o comando. Por exemplo, uma instância do Amazon EC2 ou um cluster do Amazon EMR. | Objeto de referência, por exemplo, “runsOn”: \$1"ref”:” myResourceId “\$1 | 
| scheduleType | O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início ou no final do intervalo. Programação com estilo de séries temporais significa que as instâncias são programadas no final de cada intervalo, e Programação com estilo Cron significa que as instâncias são programadas no início de cada intervalo. Uma programação sob demanda permite que você execute um pipeline uma vez por ativação. Isso significa que você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação sob demanda, ela precisará ser especificada no objeto padrão, além de ser a única scheduleType especificada para objetos no pipeline. Para usar pipelines sob demanda, basta chamar a ActivatePipeline operação para cada execução subsequente. Os valores são: cron, ondemand e timeseries. | Enumeração | 
| workerGroup | O grupo de operadores. Isso é usado para tarefas de roteamento. Se você fornecer um valor de runsOn e workerGroup existir, workerGroup será ignorado. | String | 
| writeThroughputPercent | Define a taxa de operações de gravação para manter sua taxa de throughput provisionado do DynamoDB no intervalo alocado para sua tabela. O valor é um dobro entre 0,1 e 1,0, incluindo ambos. | Duplo | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Registros da etapa do EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# MySqlDataNode
<a name="dp-object-mysqldatanode"></a>

 Define um nó de dados usando o MySQL. 

**nota**  
O tipo `MySqlDataNode` está obsoleto. Em vez disso, recomendamos o uso de [SqlDataNode](dp-object-sqldatanode.md).

## Exemplo
<a name="mysqldatanode-example"></a>

Veja a seguir um exemplo deste tipo de objeto. Esse objeto faz referência a dois outros objetos definidos por você no mesmo arquivo de definição de pipeline. `CopyPeriod` é um objeto `Schedule` e `Ready` é um objeto de precondição.

```
{
  "id" : "Sql Table",
  "type" : "MySqlDataNode",
  "schedule" : { "ref" : "CopyPeriod" },
  "table" : "adEvents",
  "username": "user_name",
  "*password": "my_password",
  "connectionString": "jdbc:mysql://mysqlinstance-rds.example.us-east-1.rds.amazonaws.com:3306/database_name",
  "selectQuery" : "select * from #{table} where eventTime >= '#{@scheduledStartTime.format('YYYY-MM-dd HH:mm:ss')}' and eventTime < '#{@scheduledEndTime.format('YYYY-MM-dd HH:mm:ss')}'",
  "precondition" : { "ref" : "Ready" }
}
```

### Sintaxe
<a name="mysqldatanode-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| table | O nome da tabela no banco de dados do MySQL. | String | 

 


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento | Esse objeto é invocado durante a execução de um intervalo de programação. Os usuários precisam especificar uma referência de programação para outro objeto de modo a definir a ordem de execução de dependência desse objeto. Os usuários podem satisfazer esse requisito definindo explicitamente uma programação no objeto, por exemplo, especificando “agenda”: \$1"ref”: "DefaultSchedule“\$1. Na maioria dos casos, é melhor colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação. Como alternativa, se o pipeline tiver uma árvore de programações (outras programações dentro de uma programação principal), os usuários poderão criar um objeto principal que tenha uma referência de programação. Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html). | Objeto de referência, por exemplo, “agenda”: \$1"ref”:” myScheduleId “\$1 | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se configurada, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| createTableSql | Uma expressão de tabela de criação do SQL que cria a tabela. | String | 
| banco de dados | O nome do banco de dados. | Objeto de referência, por exemplo, “banco de dados”: \$1"ref”:” myDatabaseId “\$1 | 
| dependsOn | Especifica uma dependência em outro objeto executável. | Objeto de referência, por exemplo, “dependsOn”: \$1"ref”:” myActivityId “\$1 | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| insertQuery | Uma instrução do SQL para inserir dados na tabela. | String | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | Quantidade máxima de novas tentativas com falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| pipelineLogUri | O URI do S3 (como 's3://BucketName/Key/ ') para carregar registros para o pipeline. | String | 
| precondition | Se desejar, você pode definir uma precondição. Um nó de dados não fica marcado como "READY" até que todas as precondições tenham sido atendidas. | Objeto de referência, por exemplo, “pré-condição”: \$1"ref”:” myPreconditionId “\$1 | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| runsOn | O recurso computacional para executar a atividade ou o comando. Por exemplo, uma instância do Amazon EC2 ou um cluster do Amazon EMR. | Objeto de referência, por exemplo, “runsOn”: \$1"ref”:” myResourceId “\$1 | 
| scheduleType | O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início ou no final do intervalo. Programação com estilo de séries temporais significa que as instâncias são programadas no final de cada intervalo, e Programação com estilo Cron significa que as instâncias são programadas no início de cada intervalo. Uma programação sob demanda permite que você execute um pipeline uma vez por ativação. Isso significa que você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação sob demanda, ela precisará ser especificada no objeto padrão, além de ser a única scheduleType especificada para objetos no pipeline. Para usar pipelines sob demanda, basta chamar a ActivatePipeline operação para cada execução subsequente. Os valores são: cron, ondemand e timeseries. | Enumeração | 
| schemaName | O nome do esquema que mantém a tabela | String | 
| selectQuery | Uma instrução do SQL para obter dados na tabela. | String | 
| workerGroup | O grupo de operadores. Isso é usado para tarefas de roteamento. Se você fornecer um valor de runsOn e workerGroup existir, workerGroup será ignorado. | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Registros da etapa do EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

## Consulte também
<a name="mysqldatanode-seealso"></a>
+ [S3 DataNode](dp-object-s3datanode.md)

# RedshiftDataNode
<a name="dp-object-redshiftdatanode"></a>

Define um nó de dados usando o Amazon Redshift. O `RedshiftDataNode` representa as propriedades dos dados em um banco de dados, como uma tabela de dados, usada pelo seu pipeline.

## Exemplo
<a name="redshiftdatanode-example"></a>

Veja a seguir um exemplo deste tipo de objeto.

```
{
  "id" : "MyRedshiftDataNode",
  "type" : "RedshiftDataNode",
  "database": { "ref": "MyRedshiftDatabase" },
  "tableName": "adEvents",
  "schedule": { "ref": "Hour" }
}
```

## Sintaxe
<a name="redshiftdatanode-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| banco de dados | O banco de dados em que a tabela reside. | Objeto de referência, por exemplo, “banco de dados”: \$1"ref”:” myRedshiftDatabase Id "\$1 | 
| tableName | O nome da tabela do Amazon Redshift. A tabela é criada se ainda não existir e você tiver fornecido createTableSql. | String | 

 


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento | Esse objeto é invocado durante a execução de um intervalo de programação. Os usuários precisam especificar uma referência de programação para outro objeto de modo a definir a ordem de execução de dependência desse objeto. Os usuários podem satisfazer esse requisito definindo explicitamente uma programação no objeto, por exemplo, especificando “agenda”: \$1"ref”: "DefaultSchedule“\$1. Na maioria dos casos, é melhor colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação. Como alternativa, se o pipeline tiver uma árvore de programações (outras programações dentro de uma programação principal), os usuários poderão criar um objeto principal que tenha uma referência de programação. Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html). | Objeto de referência, por exemplo, “agenda”: \$1"ref”:” myScheduleId “\$1 | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se configurada, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| createTableSql | Uma expressão SQL para criar a tabela no banco de dados. Recomendamos que você especifique o esquema em que a tabela deve ser criada, por exemplo: CREATE TABLE mySchema.myTable (BestColumn varchar (25) chave primária distkey, inteiro sortKey). numberOfWins AWS Data Pipeline executa o script no createTableSql campo se a tabela, especificada por tableName, não existir no esquema, especificado pelo campo schemaName. Por exemplo, se você especificar SchemaName como MySchema, mas não incluir MySchema no createTableSql campo, a tabela será criada no esquema errado (por padrão, ela seria criada em PUBLIC). Isso ocorre porque o AWS Data Pipeline não analisa suas instruções CREATE TABLE.  | String | 
| dependsOn | Especifique a dependência em outro objeto executável | Objeto de referência, por exemplo, “dependsOn”: \$1"ref”:” myActivityId “\$1 | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | A quantidade máxima de novas tentativas após uma falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| pipelineLogUri | O URI do S3 (como 's3://BucketName/Key/ ') para carregar registros para o pipeline. | String | 
| precondition | Se desejar, você pode definir uma precondição. Um nó de dados não fica marcado como "READY" até que todas as precondições tenham sido atendidas. | Objeto de referência, por exemplo, “pré-condição”: \$1"ref”:” myPreconditionId “\$1 | 
| primaryKeys | Se você não especificar primaryKeys para uma tabela de destino em RedShiftCopyActivity, poderá especificar uma lista de colunas usando primaryKeys, que agem como um mergeKey. No entanto, se você já tem uma primaryKey definida em uma tabela do Amazon Redshift, essa configuração substitui a chave existente. | String | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| runsOn | O recurso computacional para executar a atividade ou o comando. Por exemplo, uma instância do Amazon EC2 ou um cluster do Amazon EMR. | Objeto de referência, por exemplo, “runsOn”: \$1"ref”:” myResourceId “\$1 | 
| scheduleType | O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início ou no final do intervalo. Programação com estilo de séries temporais significa que as instâncias são programadas no final de cada intervalo, e Programação com estilo Cron significa que as instâncias são programadas no início de cada intervalo. Uma programação sob demanda permite que você execute um pipeline uma vez por ativação. Isso significa que você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação sob demanda, ela precisará ser especificada no objeto padrão, além de ser a única scheduleType especificada para objetos no pipeline. Para usar pipelines sob demanda, basta chamar a ActivatePipeline operação para cada execução subsequente. Os valores são: cron, ondemand e timeseries. | Enumeração | 
| schemaName | Este campo opcional especifica o nome do esquema para a tabela do Amazon Redshift. Se não for especificado, o nome do esquema é PUBLIC, que é o esquema padrão no Amazon Redshift. Para obter mais informações, consulte o Guia do desenvolvedor do banco de dados do Amazon Redshift.  | String | 
| workerGroup | O grupo de operadores. Isso é usado para tarefas de roteamento. Se você fornecer um valor de runsOn e workerGroup existir, workerGroup será ignorado. | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Registros da etapa do EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# S3 DataNode
<a name="dp-object-s3datanode"></a>

 Define um nó de dados usando o Amazon S3. Por padrão, o S3 DataNode usa criptografia do lado do servidor. Se você quiser desabilitar isso, defina s3 EncryptionType como NONE. 

**nota**  
Ao usar um `S3DataNode` como entrada para `CopyActivity`, haverá suporte apenas os formatos de dados CSV e TSV.

## Exemplo
<a name="s3datanode-example"></a>

Veja a seguir um exemplo deste tipo de objeto. Esse objeto faz referência a outro objeto definido por você no mesmo arquivo de definição de pipeline. `CopyPeriod` é um objeto `Schedule`.

```
{
  "id" : "OutputData",
  "type" : "S3DataNode",
  "schedule" : { "ref" : "CopyPeriod" },
  "filePath" : "s3://amzn-s3-demo-bucket/#{@scheduledStartTime}.csv"
}
```

## Sintaxe
<a name="s3datanode-syntax"></a>


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento | Esse objeto é invocado durante a execução de um intervalo de programação. Os usuários precisam especificar uma referência de programação para outro objeto de modo a definir a ordem de execução de dependência desse objeto. Os usuários podem satisfazer esse requisito definindo explicitamente uma programação no objeto, por exemplo, especificando “agenda”: \$1"ref”: "DefaultSchedule“\$1. Na maioria dos casos, é melhor colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação. Como alternativa, se o pipeline tiver uma árvore de programações (outras programações dentro de uma programação principal), os usuários poderão criar um objeto principal que tenha uma referência de programação. Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html). | Objeto de referência, por exemplo, “agenda”: \$1"ref”:” myScheduleId “\$1 | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se configurada, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| compression | O tipo de compactação dos dados descritos pelo S3DataNode. “none” não é compressão e “gzip” é comprimido com o algoritmo gzip. Esse campo só é compatível para uso com o Amazon Redshift e quando você usa o DataNode S3 com. CopyActivity | Enumeração | 
| dataFormat | DataFormat para os dados descritos por este S3DataNode. | Objeto de referência, por exemplo, “dataFormat”: \$1"ref”:” myDataFormat Id "\$1 | 
| dependsOn | Especifique a dependência em outro objeto executável | Objeto de referência, por exemplo, “dependsOn”: \$1"ref”:” myActivityId “\$1 | 
| directoryPath | Caminho do diretório Amazon S3 como URI: s3://my-bucket/. my-key-for-directory Você precisa fornecer um valor filePath ou directoryPath. | String | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| filePath | O caminho para o objeto no Amazon S3 como um URI, por exemplo: s3://my-bucket/. my-key-for-file Você precisa fornecer um valor filePath ou directoryPath. Eles representam um nome de pasta e de arquivo. Use o valor directoryPath para acomodar vários arquivos em um diretório. | String | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| manifestFilePath | O caminho do Amazon S3 para um arquivo de manifesto no formato suportado pelo Amazon Redshift. AWS Data Pipeline usa o arquivo manifesto para copiar os arquivos do Amazon S3 especificados na tabela. Esse campo é válido somente quando um RedShiftCopyActivity faz referência ao S3DataNode. | String | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | Quantidade máxima de novas tentativas com falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| pipelineLogUri | O URI do S3 (como 's3://BucketName/Key/ ') para carregar registros para o pipeline. | String | 
| precondition | Se desejar, você pode definir uma precondição. Um nó de dados não fica marcado como "READY" até que todas as precondições tenham sido atendidas. | Objeto de referência, por exemplo, “pré-condição”: \$1"ref”:” myPreconditionId “\$1 | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| runsOn | O recurso computacional para executar a atividade ou o comando. Por exemplo, uma instância do Amazon EC2 ou um cluster do Amazon EMR. | Objeto de referência, por exemplo, “runsOn”: \$1"ref”:” myResourceId “\$1 | 
| s3 EncryptionType | Substitui o tipo de criptografia do Amazon S3. Os valores são SERVER\$1SIDE\$1ENCRYPTION ou NONE. A criptografia do lado do servidor é ativada por padrão.  | Enumeração | 
| scheduleType | O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início ou no final do intervalo. Programação com estilo de séries temporais significa que as instâncias são programadas no final de cada intervalo, e Programação com estilo Cron significa que as instâncias são programadas no início de cada intervalo. Uma programação sob demanda permite que você execute um pipeline uma vez por ativação. Isso significa que você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação sob demanda, ela precisará ser especificada no objeto padrão, além de ser a única scheduleType especificada para objetos no pipeline. Para usar pipelines sob demanda, basta chamar a ActivatePipeline operação para cada execução subsequente. Os valores são: cron, ondemand e timeseries. | Enumeração | 
| workerGroup | O grupo de operadores. Isso é usado para tarefas de roteamento. Se você fornecer um valor de runsOn e workerGroup existir, workerGroup será ignorado. | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Registros da etapa do EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

## Consulte também
<a name="s3datanode-seealso"></a>
+ [MySqlDataNode](dp-object-mysqldatanode.md)

# SqlDataNode
<a name="dp-object-sqldatanode"></a>

 Define um nó de dados usando o SQL. 

## Exemplo
<a name="example-sql-data-node"></a>

Veja a seguir um exemplo deste tipo de objeto. Esse objeto faz referência a dois outros objetos definidos por você no mesmo arquivo de definição de pipeline. `CopyPeriod` é um objeto `Schedule` e `Ready` é um objeto de precondição.

```
{
  "id" : "Sql Table",
  "type" : "SqlDataNode",
  "schedule" : { "ref" : "CopyPeriod" },
  "table" : "adEvents",
  "database":"myDataBaseName",
  "selectQuery" : "select * from #{table} where eventTime >= '#{@scheduledStartTime.format('YYYY-MM-dd HH:mm:ss')}' and eventTime < '#{@scheduledEndTime.format('YYYY-MM-dd HH:mm:ss')}'",
  "precondition" : { "ref" : "Ready" }
}
```

## Sintaxe
<a name="sql-data-node-slots"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| table | O nome da tabela no banco de dados do SQL. | String | 

 


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento | Esse objeto é invocado durante a execução de um intervalo de programação. Os usuários precisam especificar uma referência de programação para outro objeto de modo a definir a ordem de execução de dependência desse objeto. Os usuários podem satisfazer esse requisito definindo explicitamente uma programação no objeto, por exemplo, especificando “agenda”: \$1"ref”: "DefaultSchedule“\$1. Na maioria dos casos, é melhor colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação. Como alternativa, se o pipeline tiver uma árvore de programações (outras programações dentro de uma programação principal), os usuários poderão criar um objeto principal que tenha uma referência de programação. Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html). | Objeto de referência, por exemplo, “agenda”: \$1"ref”:” myScheduleId “\$1 | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se configurada, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| createTableSql | Uma expressão de tabela de criação do SQL que cria a tabela. | String | 
| banco de dados | O nome do banco de dados. | Objeto de referência, por exemplo, “banco de dados”: \$1"ref”:” myDatabaseId “\$1 | 
| dependsOn | Especifica a dependência em outro objeto executável. | Objeto de referência, por exemplo, “dependsOn”: \$1"ref”:” myActivityId “\$1 | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| insertQuery | Uma instrução do SQL para inserir dados na tabela. | String | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | Quantidade máxima de novas tentativas com falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| pipelineLogUri | O URI do S3 (como 's3://BucketName/Key/ ') para carregar registros para o pipeline. | String | 
| precondition | Se desejar, você pode definir uma precondição. Um nó de dados não fica marcado como "READY" até que todas as precondições tenham sido atendidas. | Objeto de referência, por exemplo, “pré-condição”: \$1"ref”:” myPreconditionId “\$1 | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| runsOn | O recurso computacional para executar a atividade ou o comando. Por exemplo, uma instância do Amazon EC2 ou um cluster do Amazon EMR. | Objeto de referência, por exemplo, “runsOn”: \$1"ref”:” myResourceId “\$1 | 
| scheduleType | O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início ou no final do intervalo. Programação com estilo de séries temporais significa que as instâncias são programadas no final de cada intervalo, e Programação com estilo Cron significa que as instâncias são programadas no início de cada intervalo. Uma programação sob demanda permite que você execute um pipeline uma vez por ativação. Isso significa que você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação sob demanda, ela precisará ser especificada no objeto padrão, além de ser a única scheduleType especificada para objetos no pipeline. Para usar pipelines sob demanda, basta chamar a ActivatePipeline operação para cada execução subsequente. Os valores são: cron, ondemand e timeseries. | Enumeração | 
| schemaName | O nome do esquema que mantém a tabela | String | 
| selectQuery | Uma instrução do SQL para obter dados na tabela. | String | 
| workerGroup | O grupo de operadores. Isso é usado para tarefas de roteamento. Se você fornecer um valor de runsOn e workerGroup existir, workerGroup será ignorado. | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Registros da etapa do EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

## Consulte também
<a name="sql-data-node-see-also"></a>
+ [S3 DataNode](dp-object-s3datanode.md)

# Atividades
<a name="dp-object-activities"></a>

A seguir estão os objetos da AWS Data Pipeline atividade:

**Topics**
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrActivity](dp-object-emractivity.md)
+ [HadoopActivity](dp-object-hadoopactivity.md)
+ [HiveActivity](dp-object-hiveactivity.md)
+ [HiveCopyActivity](dp-object-hivecopyactivity.md)
+ [PigActivity](dp-object-pigactivity.md)
+ [RedshiftCopyActivity](dp-object-redshiftcopyactivity.md)
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [SqlActivity](dp-object-sqlactivity.md)

# CopyActivity
<a name="dp-object-copyactivity"></a>

Copia dados de um local para outro. `CopyActivity`suporta [S3 DataNode](dp-object-s3datanode.md) e [SqlDataNode](dp-object-sqldatanode.md) como entrada e saída e a operação de cópia é normalmente executada record-by-record. No entanto, `CopyActivity` fornece cópia do Amazon S3 para Amazon S3 de alto desempenho quando todas as condições a seguir são atendidas:
+ A entrada e a saída são S3 DataNodes
+ O campo `dataFormat` é igual para a entrada e a saída

Se você fornecer arquivos de dados compactados como entrada e não indicar isso usando o campo `compression` nos nós de dados do S3, `CopyActivity` poderá falhar. Nesse caso, `CopyActivity` não detecta corretamente o fim do caractere de gravação e ocorre falha na operação. Além disso, `CopyActivity` oferece suporte à cópia de um diretório para outro diretório e à cópia de um arquivo em um diretório, mas a record-by-record cópia ocorre ao copiar um diretório para um arquivo. Por fim, `CopyActivity` não oferece suporte à copia de arquivos do Amazon S3 de várias partes. 

`CopyActivity` tem limitações específicas para suporte a CSV. Ao usar um S3 DataNode como entrada para`CopyActivity`, você só pode usar uma Unix/Linux variante do formato de arquivo de dados CSV para os campos de entrada e saída do Amazon S3. A Unix/Linux variante requer o seguinte: 
+ O separador precisa ser o caractere "," (vírgula).
+ Os registros não ficam entre aspas.
+ O caractere de escape padrão é o valor ASCII 92 (barra invertida).
+ O identificador de fim de registro é o valor ASCII 10 (ou "\$1n").

Os sistemas baseados em Windows normalmente usam uma sequência de end-of-record caracteres diferente: um retorno de carro e alimentação de linha juntos (valor ASCII 13 e valor ASCII 10). Você precisa acomodar essa diferença usando um mecanismo adicional, como um script de pré-cópia para modificação de dados de entrada, para garantir que `CopyActivity` possa detectar corretamente o final de um registro. Caso contrário, `CopyActivity` apresentará falhas repetidamente.

Ao usar `CopyActivity` para fazer exportações a partir de um objeto PostgreSQL do RDS para um formato de dados TSV, o caractere NULL padrão é \$1n.

## Exemplo
<a name="copyactivity-example"></a>

Veja a seguir um exemplo deste tipo de objeto. Esse objeto faz referência a três outros objetos definidos por você no mesmo arquivo de definição de pipeline. `CopyPeriod` é um objeto `Schedule` e `InputData` e `OutputData` são objetos de nó de dados.

```
{
  "id" : "S3ToS3Copy",
  "type" : "CopyActivity",
  "schedule" : { "ref" : "CopyPeriod" },
  "input" : { "ref" : "InputData" },
  "output" : { "ref" : "OutputData" },
  "runsOn" : { "ref" : "MyEc2Resource" }
}
```

## Sintaxe
<a name="copyactivity-syntax"></a>


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento | Esse objeto é invocado durante a execução de um intervalo de programação. Os usuários precisam especificar uma referência de programação para outro objeto de modo a definir a ordem de execução de dependência desse objeto. Os usuários podem satisfazer esse requisito definindo explicitamente uma programação no objeto, por exemplo, especificando “agenda”: \$1"ref”: "DefaultSchedule“\$1. Na maioria dos casos, é melhor colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação. Como alternativa, se o pipeline tiver uma árvore de programações (outras programações dentro de uma programação principal), os usuários poderão criar um objeto principal que tenha uma referência de programação. Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html). | Objeto de referência, por exemplo, “agenda”: \$1"ref”:” myScheduleId “\$1 | 


****  

| Grupo obrigatório (um dos seguintes é obrigatório) | Description | Tipo de slot | 
| --- | --- | --- | 
| runsOn | O recurso computacional para executar a atividade ou o comando. Por exemplo, uma instância do Amazon EC2 ou um cluster do Amazon EMR. | Objeto de referência, por exemplo, “runsOn”: \$1"ref”:” myResourceId “\$1 | 
| workerGroup | O grupo de operadores. Isso é usado para tarefas de roteamento. Se você fornecer um valor de runsOn e workerGroup existir, workerGroup será ignorado. | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se configurada, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| dependsOn | Especifique a dependência em outro objeto executável. | Objeto de referência, por exemplo, “dependsOn”: \$1"ref”:” myActivityId “\$1 | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| input | A fonte de dados de entrada. | Objeto de referência, por exemplo, “input”: \$1"ref”:” myDataNode Id "\$1 | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | Quantidade máxima de novas tentativas com falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| saída | A fonte de dados de saída. | Objeto de referência, por exemplo, “output”: \$1"ref”:” myDataNode Id "\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| pipelineLogUri | O URI do S3 (como 's3://BucketName/Key/ ') para carregar registros para o pipeline. | String | 
| precondition | Se desejar, você pode definir uma precondição. Um nó de dados não fica marcado como "READY" até que todas as precondições tenham sido atendidas. | Objeto de referência, por exemplo, “pré-condição”: \$1"ref”:” myPreconditionId “\$1 | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| scheduleType | O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início ou no final do intervalo. Programação com estilo de séries temporais significa que as instâncias são programadas no final de cada intervalo, e Programação com estilo Cron significa que as instâncias são programadas no início de cada intervalo. Uma programação sob demanda permite que você execute um pipeline uma vez por ativação. Isso significa que você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação sob demanda, ela precisará ser especificada no objeto padrão, além de ser a única scheduleType especificada para objetos no pipeline. Para usar pipelines sob demanda, basta chamar a ActivatePipeline operação para cada execução subsequente. Os valores são: cron, ondemand e timeseries. | Enumeração | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Registros da etapa do EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

## Consulte também
<a name="copyactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)
+ [Exporte dados do MySQL para o Amazon S3 usando AWS Data Pipeline](dp-copydata-mysql.md)

# EmrActivity
<a name="dp-object-emractivity"></a>

 Executa um cluster do EMR. 

AWS Data Pipeline usa um formato diferente para etapas do Amazon EMR; por exemplo, AWS Data Pipeline usa argumentos separados por vírgula após o nome JAR no campo da etapa. `EmrActivity` O exemplo a seguir mostra uma etapa formatada para o Amazon EMR, seguida por uma etapa equivalente para o AWS Data Pipeline :

```
s3://amzn-s3-demo-bucket/MyWork.jar arg1 arg2 arg3
```

```
"s3://amzn-s3-demo-bucket/MyWork.jar,arg1,arg2,arg3"
```

## Exemplos
<a name="emractivity-example"></a>

Veja a seguir um exemplo deste tipo de objeto. Este exemplo usa versões mais antigas do Amazon EMR. Verifique este exemplo para se alinhar com a versão do cluster do Amazon EMR que você está usando. 

Esse objeto faz referência a três outros objetos definidos por você no mesmo arquivo de definição de pipeline. `MyEmrCluster` é um objeto `EmrCluster` e `MyS3Input` e `MyS3Output` são objetos `S3DataNode`. 

**nota**  
Neste exemplo, você pode substituir o campo `step` pela string de cluster que quiser. Ela pode ser um script do Pig, um cluster de streaming Hadoop, seu próprio JAR personalizado (incluindo seus respectivos parâmetros) e assim por diante.

Hadoop 2.x (AMI 3.x)

```
{
  "id" : "MyEmrActivity",
  "type" : "EmrActivity",
  "runsOn" : { "ref" : "MyEmrCluster" },
  "preStepCommand" : "scp remoteFiles localFiles",
  "step" : ["s3://amzn-s3-demo-bucket/myPath/myStep.jar,firstArg,secondArg,-files,s3://amzn-s3-demo-bucket/myPath/myFile.py,-input,s3://myinputbucket/path,-output,s3://myoutputbucket/path,-mapper,myFile.py,-reducer,reducerName","s3://amzn-s3-demo-bucket/myPath/myotherStep.jar,..."],
  "postStepCommand" : "scp localFiles remoteFiles",
  "input" : { "ref" : "MyS3Input" },
  "output" : { "ref" : "MyS3Output" }
}
```

**nota**  
Para transmitir argumentos para um aplicativo em uma etapa, é necessário especificar a Região no caminho do script, conforme mostrado no exemplo a seguir. Além disso, talvez seja necessário escapar os argumentos transmitidos. Por exemplo, se você usar `script-runner.jar` para executar um script de shell e quiser passar argumentos para o script, precisará escapar as vírgulas que os separam. O slot de etapa a seguir ilustra como fazer isso:   

```
"step" : "s3://eu-west-1.elasticmapreduce/libs/script-runner/script-runner.jar,s3://datapipeline/echo.sh,a\\\\,b\\\\,c"
```
Esta etapa usa `script-runner.jar` para executar o script de shell `echo.sh` e passa `a`, `b` e `c` como um único argumento para o script. O primeiro caractere de escape é removido do argumento resultante. Por isso, talvez você precise realizar o escape novamente. Por exemplo, se você tivesse `File\.gz` como argumento no JSON, poderia realizar o escape dele usando `File\\\\.gz`. No entanto, como o primeiro escape é descartado, você precisa usar `File\\\\\\\\.gz `.

## Sintaxe
<a name="emractivity-syntax"></a>


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento | Esse objeto é invocado durante a execução de um intervalo de programação. Especifique uma referência de programação para outro objeto para definir a ordem de execução de dependência desse objeto. É possível satisfazer esse requisito definindo explicitamente uma programação no objeto, por exemplo, ao especificar "schedule": \$1"ref": "DefaultSchedule"\$1. Na maioria dos casos, é melhor colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação. Como alternativa, se o pipeline tiver uma árvore de programações (outras programações dentro de uma programação principal), você poderá criar um objeto principal que tenha uma referência de programação. Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html). | Objeto de referência, por exemplo, “schedule”: \$1"ref”:” myScheduleId “\$1 | 

 


****  

| Grupo obrigatório (um dos seguintes é obrigatório) | Description | Tipo de slot | 
| --- | --- | --- | 
| runsOn | Cluster do Amazon EMR no qual o trabalho será executado. | Objeto de referência, por exemplo, “runsOn”: \$1"ref”:” myEmrCluster Id "\$1 | 
| workerGroup | O grupo de operadores. Isso é usado para tarefas de roteamento. Se você fornecer um valor de runsOn e workerGroup existir, será ignorado.workerGroup | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se definida, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| dependsOn | Especifique a dependência em outro objeto executável. | Objeto de referência, por exemplo, “dependsOn”: \$1"ref”:” myActivityId “\$1 | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| input | O local dos dados de entrada. | Objeto de referência, por exemplo, “input”: \$1"ref”:” myDataNode Id "\$1 | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | A quantidade máxima de novas tentativas após uma falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| saída | O local dos dados de saída. | Objeto de referência, por exemplo, “output”: \$1"ref”:” myDataNode Id "\$1 | 
| parent | O pai do objeto atual do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| pipelineLogUri | O URI do Amazon S3, como 's3://BucketName/Prefix/ 'para carregar registros para o pipeline. | String | 
| postStepCommand | Scripts de shell a serem executados depois que todas as etapas são concluídas. Para especificar vários scripts, até 255, adicione vários campos postStepCommand. | String | 
| precondition | Se desejar, você pode definir uma precondição. Um nó de dados não fica marcado como "READY" até que todas as precondições tenham sido atendidas. | Objeto de referência, por exemplo, “pré-condição”: \$1"ref”:” myPreconditionId “\$1 | 
| preStepCommand | Scripts de shell a serem executados antes de qualquer etapa ser executada. Para especificar vários scripts, até 255, adicione vários campos preStepCommand. | String | 
| reportProgressTimeout | O tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| resizeClusterBeforeCorrendo |  Redimensionar o cluster antes de executar esta atividade para acomodar tabelas do DynamoDB especificadas como entradas ou saídas.   Se você `EmrActivity` usa a `DynamoDBDataNode` como nó de dados de entrada ou saída e define o como`TRUE`, AWS Data Pipeline comece `resizeClusterBeforeRunning` a usar tipos de `m3.xlarge` instância. Isso substitui suas escolhas de tipo de instância por `m3.xlarge`, o que pode aumentar seus custos mensais.   | Booleano | 
| resizeClusterMaxInstâncias | Um limite no número máximo de instâncias que pode ser solicitado pelo algoritmo de redimensionamento. | Inteiro | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| scheduleType | O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início ou final do intervalo. Os valores são: cron, ondemand e timeseries. A programação timeseries significa que as instâncias são programadas no final de cada intervalo. A programação cron significa que as instâncias são programadas no início de cada intervalo. Uma programação ondemand permite que você execute um pipeline uma vez por ativação. Você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação ondemand, ela precisará ser especificada no objeto padrão, além de ser a única scheduleType especificada para objetos no pipeline. Para usar pipelines ondemand, chame a operação ActivatePipeline para cada execução subsequente.  | Enumeração | 
| step (etapa) | Uma ou mais etapas para que o cluster seja executado. Para especificar várias etapas, até 255, adicione vários campos de etapa. Use argumentos separados por vírgula após o nome JAR. Por exemplo: "s3://amzn-s3-demo-bucket/MyWork.jar,arg1,arg2,arg3". | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Registros da etapa do Amazon EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O errorId se esse objeto apresentou falha. | String | 
| errorMessage | O errorMessage se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término programado para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início programado para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

## Consulte também
<a name="emractivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrCluster](dp-object-emrcluster.md)

# HadoopActivity
<a name="dp-object-hadoopactivity"></a>

 Executa um MapReduce trabalho em um cluster. O cluster pode ser um cluster EMR gerenciado por AWS Data Pipeline ou outro recurso, se você usar. TaskRunner Use HadoopActivity quando quiser executar o trabalho em paralelo. Isso permite que você use os recursos de agendamento da estrutura YARN ou do negociador de MapReduce recursos no Hadoop 1. Se quiser executar o trabalho sequencialmente por meio da ação Step do Amazon EMR, você ainda poderá usar o [EmrActivity](dp-object-emractivity.md).

## Exemplos
<a name="hadoopactivity-example"></a>

**HadoopActivity usando um cluster EMR gerenciado pelo AWS Data Pipeline**  
O HadoopActivity objeto a seguir usa um EmrCluster recurso para executar um programa:

```
 {
   "name": "MyHadoopActivity",
   "schedule": {"ref": "ResourcePeriod"},
   "runsOn": {"ref": “MyEmrCluster”},
   "type": "HadoopActivity",
   "preActivityTaskConfig":{"ref":"preTaskScriptConfig”},   
   "jarUri": "/home/hadoop/contrib/streaming/hadoop-streaming.jar",
   "argument": [
     "-files",
     “s3://elasticmapreduce/samples/wordcount/wordSplitter.py“,
     "-mapper",
     "wordSplitter.py",
     "-reducer",
     "aggregate",
     "-input",
     "s3://elasticmapreduce/samples/wordcount/input/",
     "-output",
     “s3://amzn-s3-demo-bucket/MyHadoopActivity/#{@pipelineId}/#{format(@scheduledStartTime,'YYYY-MM-dd')}"
   ],
   "maximumRetries": "0",
   "postActivityTaskConfig":{"ref":"postTaskScriptConfig”},
   "hadoopQueue" : “high”
 }
```

Aqui está o correspondente*MyEmrCluster*, que configura as filas FairScheduler e no YARN para Hadoop 2: AMIs

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
   "hadoopSchedulerType" : "PARALLEL_FAIR_SCHEDULING",
  “amiVersion” : “3.7.0”,
  "bootstrapAction" : ["s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-z,yarn.scheduler.capacity.root.queues=low\,high\,default,-z,yarn.scheduler.capacity.root.high.capacity=50,-z,yarn.scheduler.capacity.root.low.capacity=10,-z,yarn.scheduler.capacity.root.default.capacity=30”]
}
```

Isso é o EmrCluster que você usa para configurar FairScheduler no Hadoop 1:

```
{
      "id": "MyEmrCluster",
      "type": "EmrCluster",    
      "hadoopSchedulerType": "PARALLEL_FAIR_SCHEDULING",
      "amiVersion": "2.4.8",
      "bootstrapAction": "s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-m,mapred.queue.names=low\\\\,high\\\\,default,-m,mapred.fairscheduler.poolnameproperty=mapred.job.queue.name"
          }
```

As EmrCluster configurações a seguir são baseadas em CapacityScheduler Hadoop 2: AMIs

```
{
      "id": "MyEmrCluster",
      "type": "EmrCluster",
      "hadoopSchedulerType": "PARALLEL_CAPACITY_SCHEDULING",
      "amiVersion": "3.7.0",
      "bootstrapAction": "s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-z,yarn.scheduler.capacity.root.queues=low\\\\,high,-z,yarn.scheduler.capacity.root.high.capacity=40,-z,yarn.scheduler.capacity.root.low.capacity=60"
    }
```

**HadoopActivity usando um cluster EMR existente**  
Neste exemplo, você usa grupos de trabalho e a TaskRunner para executar um programa em um cluster EMR existente. A seguinte definição de pipeline é usada HadoopActivity para: 
+ Execute um MapReduce programa somente com *myWorkerGroup* recursos. Para obter mais informações sobre grupos de operadores, consulte [Executar trabalho em recursos existentes usando o Task Runner](dp-how-task-runner-user-managed.md).
+ Execute um preActivityTask Config e Config postActivityTask

```
{
  "objects": [
    {
      "argument": [
        "-files",
        "s3://elasticmapreduce/samples/wordcount/wordSplitter.py",
        "-mapper",
        "wordSplitter.py",
        "-reducer",
        "aggregate",
        "-input",
        "s3://elasticmapreduce/samples/wordcount/input/",
        "-output",
        "s3://amzn-s3-demo-bucket/MyHadoopActivity/#{@pipelineId}/#{format(@scheduledStartTime,'YYYY-MM-dd')}"
      ],
      "id": "MyHadoopActivity",
      "jarUri": "/home/hadoop/contrib/streaming/hadoop-streaming.jar",
      "name": "MyHadoopActivity",
      "type": "HadoopActivity"
    },
    {
      "id": "SchedulePeriod",
      "startDateTime": "start_datetime",
      "name": "SchedulePeriod",
      "period": "1 day",
      "type": "Schedule",
      "endDateTime": "end_datetime"
    },
    {
      "id": "ShellScriptConfig",
      "scriptUri": "s3://amzn-s3-demo-bucket/scripts/preTaskScript.sh",
      "name": "preTaskScriptConfig",
      "scriptArgument": [
        "test",
        "argument"
      ],
      "type": "ShellScriptConfig"
    },
    {
      "id": "ShellScriptConfig",
      "scriptUri": "s3://amzn-s3-demo-bucket/scripts/postTaskScript.sh",
      "name": "postTaskScriptConfig",
      "scriptArgument": [
        "test",
        "argument"
      ],
      "type": "ShellScriptConfig"
    },
    {
      "id": "Default",
      "scheduleType": "cron",
      "schedule": {
        "ref": "SchedulePeriod"
      },
      "name": "Default",
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/logs/2015-05-22T18:02:00.343Z642f3fe415",
      "maximumRetries": "0",    
      "workerGroup": "myWorkerGroup",
      "preActivityTaskConfig": {
        "ref": "preTaskScriptConfig"
      },
      "postActivityTaskConfig": {
        "ref": "postTaskScriptConfig"
      }    
    }
  ] 
}
```

## Sintaxe
<a name="hadoopactivity-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| jarUri | Localização de um JAR no Amazon S3 ou no sistema de arquivos local do cluster com o qual executar. HadoopActivity | String | 

 


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento | Esse objeto é invocado durante a execução de um intervalo de programação. Os usuários precisam especificar uma referência de programação para outro objeto de modo a definir a ordem de execução de dependência desse objeto. Os usuários podem satisfazer esse requisito definindo explicitamente uma programação no objeto, por exemplo, especificando “agenda”: \$1"ref”: "DefaultSchedule“\$1. Na maioria dos casos, é melhor colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação. Como alternativa, se o pipeline tiver uma árvore de programações (outras programações dentro de uma programação principal), os usuários poderão criar um objeto principal que tenha uma referência de programação. Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html). | Objeto de referência, por exemplo, “agenda”: \$1"ref”:” myScheduleId “\$1 | 

 


****  

| Grupo obrigatório (um dos seguintes é obrigatório) | Description | Tipo de slot | 
| --- | --- | --- | 
| runsOn | Cluster do EMR no qual o trabalho será executado. | Objeto de referência, por exemplo, “runsOn”: \$1"ref”:” myEmrCluster Id "\$1 | 
| workerGroup | O grupo de operadores. Isso é usado para tarefas de roteamento. Se você fornecer um valor de runsOn e workerGroup existir, workerGroup será ignorado. | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| argument | Os argumentos a serem transmitidos ao JAR. | String | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se configurada, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| dependsOn | Especifique a dependência em outro objeto executável. | Objeto de referência, por exemplo, “dependsOn”: \$1"ref”:” myActivityId “\$1 | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| hadoopQueue | O nome da fila do programador do Hadoop em que a atividade será enviada. | String | 
| input | Local dos dados de entrada. | Objeto de referência, por exemplo, “input”: \$1"ref”:” myDataNode Id "\$1 | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| mainClass | A classe principal do JAR com HadoopActivity a qual você está executando. | String | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | Quantidade máxima de novas tentativas com falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| saída | Local dos dados de saída. | Objeto de referência, por exemplo, “output”: \$1"ref”:” myDataNode Id "\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| pipelineLogUri | O URI do S3 (como 's3://BucketName/Key/ ') para carregar registros para o pipeline. | String | 
| postActivityTaskConfig | Script de configuração pós-atividade a ser executado. Consiste em um URI do script de shell no Amazon S3 e uma lista de argumentos. | Objeto de referência, por exemplo, "postActivityTaskConfig”: \$1"ref”:” myShellScript ConfigId “\$1 | 
| preActivityTaskConfig | Script de configuração pré-atividade a ser executado. Consiste em um URI do script de shell no Amazon S3 e uma lista de argumentos. | Objeto de referência, por exemplo, "preActivityTaskConfig”: \$1"ref”:” myShellScript ConfigId “\$1 | 
| precondition | Se desejar, você pode definir uma precondição. Um nó de dados não fica marcado como "READY" até que todas as precondições tenham sido atendidas. | Objeto de referência, por exemplo, “pré-condição”: \$1"ref”:” myPreconditionId “\$1 | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| scheduleType | O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início ou no final do intervalo. Programação com estilo de séries temporais significa que as instâncias são programadas no final de cada intervalo, e Programação com estilo Cron significa que as instâncias são programadas no início de cada intervalo. Uma programação sob demanda permite que você execute um pipeline uma vez por ativação. Isso significa que você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação sob demanda, ela precisará ser especificada no objeto padrão, além de ser a única scheduleType especificada para objetos no pipeline. Para usar pipelines sob demanda, basta chamar a ActivatePipeline operação para cada execução subsequente. Os valores são: cron, ondemand e timeseries. | Enumeração | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Registros da etapa do EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

## Consulte também
<a name="hadoopactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrCluster](dp-object-emrcluster.md)

# HiveActivity
<a name="dp-object-hiveactivity"></a>

Executa uma consulta do Hive em um cluster do EMR. O `HiveActivity` facilita a configuração de uma atividade do Amazon EMR e cria automaticamente tabelas do Hive com base nos dados de entrada provenientes do Amazon S3 ou do Amazon RDS. Tudo o que você precisa especificar é o HiveQL a ser executado nos dados de origem. AWS Data Pipeline cria automaticamente tabelas do Hive com`${input1}`,`${input2}`, e assim por diante, com base nos campos de entrada no `HiveActivity` objeto. 

Para as entradas do Amazon S3, o campo `dataFormat` é usado para criar os nomes das colunas do Hive. 

Para entradas MySQL (Amazon RDS), os nomes das colunas para a consulta SQL são usados para criar os nomes das colunas do Hive.

**nota**  
Essa atividade usa o [CSV Serde](https://cwiki.apache.org/confluence/display/Hive/CSV+Serde) do Hive.

## Exemplo
<a name="hiveactivity-example"></a>

Veja a seguir um exemplo deste tipo de objeto. Esse objeto faz referência a três outros objetos definidos por você no mesmo arquivo de definição de pipeline. `MySchedule` é um objeto `Schedule` e `MyS3Input` e `MyS3Output` são objetos de nó de dados.

```
{
  "name" : "ProcessLogData",
  "id" : "MyHiveActivity",
  "type" : "HiveActivity",
  "schedule" : { "ref": "MySchedule" },
  "hiveScript" : "INSERT OVERWRITE TABLE ${output1} select host,user,time,request,status,size from ${input1};",
  "input" : { "ref": "MyS3Input" },
  "output" : { "ref": "MyS3Output" },
  "runsOn" : { "ref": "MyEmrCluster" }
}
```

## Sintaxe
<a name="hiveactivity-syntax"></a>


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento | Esse objeto é invocado durante a execução de um intervalo de programação. Especifique uma referência de programação para outro objeto para definir a ordem de execução de dependência desse objeto. Você pode satisfazer esse requisito definindo explicitamente uma programação no objeto, por exemplo, especificando “agenda”: \$1"ref”: "DefaultSchedule“\$1. Na maioria dos casos, é melhor colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação. Como alternativa, se o pipeline tiver uma árvore de programações (outras programações dentro de uma programação principal), você poderá criar um objeto principal que tenha uma referência de programação. Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html). | Objeto de referência, por exemplo, “agenda”: \$1"ref”:” myScheduleId “\$1 | 

 


****  

| Grupo obrigatório (um dos seguintes é obrigatório) | Description | Tipo de slot | 
| --- | --- | --- | 
| hiveScript | O script Hive a ser executado. | String | 
| scriptUri | O local do script Hive a ser executado (por exemplo, s3://scriptLocation). | String | 

 


****  

| Grupo obrigatório | Description | Tipo de slot | 
| --- | --- | --- | 
| runsOn | O cluster do EMR em que HiveActivity está sendo executada. | Objeto de referência, por exemplo, “runsOn”: \$1"ref”:” myEmrCluster Id "\$1 | 
| workerGroup | O grupo de operadores. Isso é usado para tarefas de roteamento. Se você fornecer um valor de runsOn e workerGroup existir, será ignorado.workerGroup | String | 
| input | A fonte de dados de entrada. | Objeto de referência, como “input”: \$1"ref”:” myDataNode Id "\$1 | 
| saída | A fonte de dados de saída. | Objeto de referência, como “output”: \$1"ref”:” myDataNode Id "\$1 | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se definida, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| dependsOn | Especifique a dependência em outro objeto executável. | Objeto de referência, como “dependsOn”: \$1"ref”:” myActivityId “\$1 | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| hadoopQueue | O nome da fila do programador do Hadoop em que o trabalho será enviado. | String | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | A quantidade máxima de novas tentativas após uma falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, como “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, como "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, como “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, como “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| pipelineLogUri | O URI do S3 (como 's3://BucketName/Key/ ') para carregar registros para o pipeline. | String | 
| postActivityTaskConfig | Script de configuração pós-atividade a ser executado. Consiste em um URI do script de shell no Amazon S3 e uma lista de argumentos. | Objeto de referência, como "postActivityTaskConfig”: \$1"ref”:” myShellScript ConfigId “\$1 | 
| preActivityTaskConfig | Script de configuração pré-atividade a ser executado. Consiste em um URI do script de shell no Amazon S3 e uma lista de argumentos. | Objeto de referência, como "preActivityTaskConfig”: \$1"ref”:” myShellScript ConfigId “\$1 | 
| precondition | Se desejar, você pode definir uma precondição. Um nó de dados não fica marcado como "READY" até que todas as precondições tenham sido atendidas. | Objeto de referência, como “pré-condição”: \$1"ref”:” myPreconditionId “\$1 | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| resizeClusterBeforeCorrendo | Redimensione o cluster antes de executar esta atividade para acomodar nós de dados do DynamoDB especificados como entradas ou saídas.  Se sua atividade usa a `DynamoDBDataNode` como um nó de dados de entrada ou saída, e se você definir o como`TRUE`, AWS Data Pipeline comece `resizeClusterBeforeRunning` a usar tipos de `m3.xlarge` instância. Isso substitui suas escolhas de tipo de instância por `m3.xlarge`, o que pode aumentar seus custos mensais.  | Booleano | 
| resizeClusterMaxInstâncias | Um limite no número máximo de instâncias que pode ser solicitado pelo algoritmo de redimensionamento. | Inteiro | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| scheduleType | O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início ou no final do intervalo. Programação com estilo de séries temporais significa que as instâncias são programadas no final de cada intervalo, e Programação com estilo Cron significa que as instâncias são programadas no início de cada intervalo. Uma programação sob demanda permite que você execute um pipeline uma vez por ativação. Isso significa que você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação sob demanda, ela precisará ser especificada no objeto padrão, além de ser a única scheduleType especificada para objetos no pipeline. Para usar pipelines sob demanda, basta chamar a ActivatePipeline operação para cada execução subsequente. Os valores são: cron, ondemand e timeseries. | Enumeração | 
| scriptVariable | Especifica variáveis de script para o Amazon EMR para serem passadas para o Hive durante a execução de um script. Por exemplo, as seguintes variáveis do script de exemplo enviariam variáveis SAMPLE e FILTER\$1DATE para o Hive: SAMPLE=s3://elasticmapreduce/samples/hive-ads e  FILTER\$1DATE=\$1\$1format(@scheduledStartTime,'YYYY-MM-dd')\$1%. Este campo aceita vários valores e funciona com os campos script e scriptUri. Além disso, o scriptVariable funciona independentemente do estágio estar definido como true ou false. Este campo é especialmente útil para enviar valores dinâmicos para o Hive usando expressões e funções do AWS Data Pipeline . | String | 
| stage | Determina se a migração de dados está habilitada antes ou depois de executar o script. Não é permitido com o Hive 11, para uso em uma AMI do Amazon EMR versão 3.2.0 ou superior. | Booleano | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, como “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, como "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Registros da etapa do Amazon EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término programado para um objeto. | DateTime | 
| @scheduledStartTime | Horário de início programado para um objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, como “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

## Consulte também
<a name="hiveactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

# HiveCopyActivity
<a name="dp-object-hivecopyactivity"></a>

Executa uma consulta do Hive em um cluster do EMR. O `HiveCopyActivity` facilita a cópia de dados entre tabelas do DynamoDB. O `HiveCopyActivity` aceita uma instrução do HiveQL para filtrar dados de entrada do nos níveis da coluna e da linha.

## Exemplo
<a name="hivecopyactivity-example"></a>

O exemplo a seguir mostra como usar `HiveCopyActivity` e `DynamoDBExportDataFormat` para copiar dados de um `DynamoDBDataNode` para outro ao filtrar dados com base em um time stamp.

```
{
  "objects": [
    {
      "id" : "DataFormat.1",
      "name" : "DataFormat.1",
      "type" : "DynamoDBExportDataFormat",
      "column" : "timeStamp BIGINT"
    },
    {
      "id" : "DataFormat.2",
      "name" : "DataFormat.2",
      "type" : "DynamoDBExportDataFormat"
    },
    {
      "id" : "DynamoDBDataNode.1",
      "name" : "DynamoDBDataNode.1",
      "type" : "DynamoDBDataNode",
      "tableName" : "item_mapped_table_restore_temp",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.1" }
    },
    {
      "id" : "DynamoDBDataNode.2",
      "name" : "DynamoDBDataNode.2",
      "type" : "DynamoDBDataNode",
      "tableName" : "restore_table",
      "region" : "us_west_1",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.2" }
    },
    {
      "id" : "EmrCluster.1",
      "name" : "EmrCluster.1",
      "type" : "EmrCluster",
      "schedule" : { "ref" : "ResourcePeriod" },
      "masterInstanceType" : "m1.xlarge",
      "coreInstanceCount" : "4"
    },
    {
      "id" : "HiveTransform.1",
      "name" : "Hive Copy Transform.1",
      "type" : "HiveCopyActivity",
      "input" : { "ref" : "DynamoDBDataNode.1" },
      "output" : { "ref" : "DynamoDBDataNode.2" },
      "schedule" :{ "ref" : "ResourcePeriod" },
      "runsOn" : { "ref" : "EmrCluster.1" },
      "filterSql" : "`timeStamp` > unix_timestamp(\"#{@scheduledStartTime}\", \"yyyy-MM-dd'T'HH:mm:ss\")"
    },
    {
      "id" : "ResourcePeriod",
      "name" : "ResourcePeriod",
      "type" : "Schedule",
      "period" : "1 Hour",
      "startDateTime" : "2013-06-04T00:00:00",
      "endDateTime" : "2013-06-04T01:00:00"
    }
  ]
}
```

## Sintaxe
<a name="hivecopyactivity-syntax"></a>


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento | Esse objeto é invocado durante a execução de um intervalo de programação. Os usuários precisam especificar uma referência de programação para outro objeto de modo a definir a ordem de execução de dependência desse objeto. Os usuários podem satisfazer esse requisito definindo explicitamente uma programação no objeto, por exemplo, especificando “agenda”: \$1"ref”: "DefaultSchedule“\$1. Na maioria dos casos, é melhor colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação. Como alternativa, se o pipeline tiver uma árvore de programações (outras programações dentro de uma programação principal), os usuários poderão criar um objeto principal que tenha uma referência de programação. Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html). | Objeto de referência, por exemplo, “agenda”: \$1"ref”:” myScheduleId “\$1 | 

 


****  

| Grupo obrigatório (um dos seguintes é obrigatório) | Description | Tipo de slot | 
| --- | --- | --- | 
| runsOn | Especifique o cluster de execução. | Objeto de referência, por exemplo, “runsOn”: \$1"ref”:” myResourceId “\$1 | 
| workerGroup | O grupo de operadores. Isso é usado para tarefas de roteamento. Se você fornecer um valor de runsOn e workerGroup existir, será ignorado.workerGroup | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | O status mais recente da atividade remota. | String | 
| attemptTimeout | O tempo limite para a conclusão do trabalho remoto. Se definida, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| dependsOn | Especifica a dependência em outro objeto executável. | Objeto de referência, por exemplo, “dependsOn”: \$1"ref”:” myActivityId “\$1 | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| filterSql | Um fragmento de instrução do Hive SQL que filtra um subconjunto dos dados do DynamoDB ou do Amazon S3 a serem copiados. O filtro deve conter apenas predicados e não começar com uma WHERE cláusula, pois a AWS Data Pipeline adiciona automaticamente. | String | 
| input | A fonte de dados de entrada. Deve ser S3DataNode ou DynamoDBDataNode. Se você usar DynamoDBNode, especifique um DynamoDBExportDataFormat. | Objeto de referência, por exemplo, “input”: \$1"ref”:” myDataNode Id "\$1 | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | A quantidade máxima de novas tentativas após uma falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| saída | A fonte de dados de saída. Se a entrada for S3DataNode, a saída precisará ser DynamoDBDataNode. Caso contrário, ela poderá ser S3DataNode ou DynamoDBDataNode. Se você usar DynamoDBNode, especifique um DynamoDBExportDataFormat. | Objeto de referência, por exemplo, “output”: \$1"ref”:” myDataNode Id "\$1 | 
| parent | O pai do objeto atual do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| pipelineLogUri | O URI do Amazon S3, como o  's3://BucketName/Key/', para fazer upload de logs para o pipeline. | String | 
| postActivityTaskConfig | O Script de configuração pós-atividade a ser executado. Consiste em um URI do script de shell no Amazon S3 e uma lista de argumentos. | Objeto de referência, por exemplo, "postActivityTaskConfig”: \$1"ref”:” myShellScript ConfigId “\$1 | 
| preActivityTaskConfig | O script de configuração pré-atividade a ser executado. Consiste em um URI do script de shell no Amazon S3 e uma lista de argumentos. | Objeto de referência, por exemplo, "preActivityTaskConfig”: \$1"ref”:” myShellScript ConfigId “\$1 | 
| precondition | Opcionalmente define uma precondição. Um nó de dados não fica marcado como "READY" até que todas as precondições tenham sido atendidas. | Objeto de referência, por exemplo, “pré-condição”: \$1"ref”:” myPreconditionId “\$1 | 
| reportProgressTimeout | O tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| resizeClusterBeforeCorrendo | Redimensione o cluster antes de executar esta atividade para acomodar nós de dados do DynamoDB especificados como entradas ou saídas.  Se sua atividade usa a `DynamoDBDataNode` como um nó de dados de entrada ou saída, e se você definir o como`TRUE`, AWS Data Pipeline comece `resizeClusterBeforeRunning` a usar tipos de `m3.xlarge` instância. Isso substitui suas escolhas de tipo de instância por `m3.xlarge`, o que pode aumentar seus custos mensais.  | Booleano | 
| resizeClusterMaxInstâncias | Um limite no número máximo de instâncias que pode ser solicitado pelo algoritmo de redimensionamento | Inteiro | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| scheduleType | O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início ou no final do intervalo. Programação com estilo de séries temporais significa que as instâncias são programadas no final de cada intervalo, e Programação com estilo Cron significa que as instâncias são programadas no início de cada intervalo. Uma programação sob demanda permite que você execute um pipeline uma vez por ativação. Isso significa que você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação sob demanda, ela precisará ser especificada no objeto padrão, além de ser a única scheduleType especificada para objetos no pipeline. Para usar pipelines sob demanda, basta chamar a ActivatePipeline operação para cada execução subsequente. Os valores são: cron, ondemand e timeseries. | Enumeração | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Registros da etapa do Amazon EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez em que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

## Consulte também
<a name="hivecopyactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

# PigActivity
<a name="dp-object-pigactivity"></a>

PigActivity fornece suporte nativo para scripts Pig AWS Data Pipeline sem a necessidade de usar `ShellCommandActivity` ou`EmrActivity`. Além disso, PigActivity oferece suporte ao armazenamento de dados. Quando o campo de estágio é definido como verdadeiro, o AWS Data Pipeline prepara os dados de entrada como um esquema em Pig sem um código adicional do usuário. 

## Exemplo
<a name="pigactivity-example"></a>

O exemplo de pipeline a seguir mostra como usar `PigActivity`. O exemplo de pipeline a seguir executa as seguintes etapas:
+ MyPigActivity1 carrega dados do Amazon S3 e executa um script Pig que seleciona algumas colunas de dados e os carrega no Amazon S3.
+ MyPigActivity2 carrega a primeira saída, seleciona algumas colunas e três linhas de dados e a carrega no Amazon S3 como uma segunda saída.
+ MyPigActivity3 carrega os segundos dados de saída, insere duas linhas de dados e somente a coluna chamada “quinta” no Amazon RDS.
+ MyPigActivity4 carrega dados do Amazon RDS, seleciona a primeira linha de dados e os carrega no Amazon S3.

```
{
  "objects": [
    {
      "id": "MyInputData1",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "directoryPath": "s3://amzn-s3-demo-bucket/pigTestInput",
      "name": "MyInputData1",
      "dataFormat": {
        "ref": "MyInputDataType1"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyPigActivity4",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyOutputData3"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path/",
      "name": "MyPigActivity4",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "type": "PigActivity",
      "dependsOn": {
        "ref": "MyPigActivity3"
      },
      "output": {
        "ref": "MyOutputData4"
      },
      "script": "B = LIMIT ${input1} 1; ${output1} = FOREACH B GENERATE one;",
      "stage": "true"
    },
    {
      "id": "MyPigActivity3",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyOutputData2"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path",
      "name": "MyPigActivity3",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "script": "B = LIMIT ${input1} 2; ${output1} = FOREACH B GENERATE Fifth;",
      "type": "PigActivity",
      "dependsOn": {
        "ref": "MyPigActivity2"
      },
      "output": {
        "ref": "MyOutputData3"
      },
      "stage": "true"
    },
    {
      "id": "MyOutputData2",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "name": "MyOutputData2",
      "directoryPath": "s3://amzn-s3-demo-bucket/PigActivityOutput2",
      "dataFormat": {
        "ref": "MyOutputDataType2"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyOutputData1",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "name": "MyOutputData1",
      "directoryPath": "s3://amzn-s3-demo-bucket/PigActivityOutput1",
      "dataFormat": {
        "ref": "MyOutputDataType1"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyInputDataType1",
      "name": "MyInputDataType1",
      "column": [
        "First STRING",
        "Second STRING",
        "Third STRING",
        "Fourth STRING",
        "Fifth STRING",
        "Sixth STRING",
        "Seventh STRING",
        "Eighth STRING",
        "Ninth STRING",
        "Tenth STRING"
      ],
      "inputRegEx": "^(\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+) (\\\\S+)",
      "type": "RegEx"
    },
    {
      "id": "MyEmrResource",
      "region": "us-east-1",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "keyPair": "example-keypair",
      "masterInstanceType": "m1.small",
      "enableDebugging": "true",
      "name": "MyEmrResource",
      "actionOnTaskFailure": "continue",
      "type": "EmrCluster"
    },
    {
      "id": "MyOutputDataType4",
      "name": "MyOutputDataType4",
      "column": "one STRING",
      "type": "CSV"
    },
    {
      "id": "MyOutputData4",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "directoryPath": "s3://amzn-s3-demo-bucket/PigActivityOutput3",
      "name": "MyOutputData4",
      "dataFormat": {
        "ref": "MyOutputDataType4"
      },
      "type": "S3DataNode"
    },
    {
      "id": "MyOutputDataType1",
      "name": "MyOutputDataType1",
      "column": [
        "First STRING",
        "Second STRING",
        "Third STRING",
        "Fourth STRING",
        "Fifth STRING",
        "Sixth STRING",
        "Seventh STRING",
        "Eighth STRING"
      ],
      "columnSeparator": "*",
      "type": "Custom"
    },
    {
      "id": "MyOutputData3",
      "username": "___",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "insertQuery": "insert into #{table} (one) values (?)",
      "name": "MyOutputData3",
      "*password": "___",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "connectionString": "jdbc:mysql://example-database-instance:3306/example-database",
      "selectQuery": "select * from #{table}",
      "table": "example-table-name",
      "type": "MySqlDataNode"
    },
    {
      "id": "MyOutputDataType2",
      "name": "MyOutputDataType2",
      "column": [
        "Third STRING",
        "Fourth STRING",
        "Fifth STRING",
        "Sixth STRING",
        "Seventh STRING",
        "Eighth STRING"
      ],
      "type": "TSV"
    },
    {
      "id": "MyPigActivity2",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyOutputData1"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path",
      "name": "MyPigActivity2",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "dependsOn": {
        "ref": "MyPigActivity1"
      },
      "type": "PigActivity",
      "script": "B = LIMIT ${input1} 3; ${output1} = FOREACH B GENERATE Third, Fourth, Fifth, Sixth, Seventh, Eighth;",
      "output": {
        "ref": "MyOutputData2"
      },
      "stage": "true"
    },
    {
      "id": "MyEmrResourcePeriod",
      "startDateTime": "2013-05-20T00:00:00",
      "name": "MyEmrResourcePeriod",
      "period": "1 day",
      "type": "Schedule",
      "endDateTime": "2013-05-21T00:00:00"
    },
    {
      "id": "MyPigActivity1",
      "scheduleType": "CRON",
      "schedule": {
        "ref": "MyEmrResourcePeriod"
      },
      "input": {
        "ref": "MyInputData1"
      },
      "pipelineLogUri": "s3://amzn-s3-demo-bucket/path",
      "scriptUri": "s3://amzn-s3-demo-bucket/script/pigTestScipt.q",
      "name": "MyPigActivity1",
      "runsOn": {
        "ref": "MyEmrResource"
      },
      "scriptVariable": [
        "column1=First",
        "column2=Second",
        "three=3"
      ],
      "type": "PigActivity",
      "output": {
        "ref": "MyOutputData1"
      },
      "stage": "true"
    }
  ]
}
```

O conteúdo de `pigTestScript.q` é o seguinte.

```
B = LIMIT ${input1} $three; ${output1} = FOREACH B GENERATE $column1, $column2, Third, Fourth, Fifth, Sixth, Seventh, Eighth;
```

## Sintaxe
<a name="pigactivity-syntax"></a>


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento | Esse objeto é invocado durante a execução de um intervalo de programação. Os usuários precisam especificar uma referência de programação para outro objeto de modo a definir a ordem de execução de dependência desse objeto. Os usuários podem satisfazer esse requisito definindo explicitamente uma programação no objeto, por exemplo, especificando “agenda”: \$1"ref”: "DefaultSchedule“\$1. Na maioria dos casos, é melhor colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação. Como alternativa, se o pipeline tiver uma árvore de programações (outras programações dentro de uma programação principal), os usuários poderão criar um objeto principal que tenha uma referência de programação. Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html). | Objeto de referência, por exemplo, “schedule”: \$1"ref”:” myScheduleId “\$1 | 

 


****  

| Grupo obrigatório (um dos seguintes é obrigatório) | Description | Tipo de slot | 
| --- | --- | --- | 
| script | O script do Pig a ser executado. | String | 
| scriptUri | O local do script do Pig a ser executado (por exemplo, s3://scriptLocation). | String | 

 


****  

| Grupo obrigatório (um dos seguintes é obrigatório) | Description | Tipo de slot | 
| --- | --- | --- | 
| runsOn | Cluster EMR no qual isso PigActivity é executado. | Objeto de referência, por exemplo, “runsOn”: \$1"ref”:” myEmrCluster Id "\$1 | 
| workerGroup | O grupo de operadores. Isso é usado para tarefas de roteamento. Se você fornecer um valor de runsOn e workerGroup existir, será ignorado.workerGroup | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | O status mais recente da atividade remota. | String | 
| attemptTimeout | O tempo limite para a conclusão do trabalho remoto. Se definida, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| dependsOn | Especifica a dependência em outro objeto executável. | Objeto de referência, por exemplo, “dependsOn”: \$1"ref”:” myActivityId “\$1 | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| input | A fonte de dados de entrada. | Objeto de referência, por exemplo, “input”: \$1"ref”:” myDataNode Id "\$1 | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | A quantidade máxima de novas tentativas após uma falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| saída | A fonte de dados de saída. | Objeto de referência, por exemplo, “output”: \$1"ref”:” myDataNode Id "\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| pipelineLogUri | O URI do Amazon S3 (como 's3://BucketName/Key/ ') para carregar registros para o pipeline. | String | 
| postActivityTaskConfig | Script de configuração pós-atividade a ser executado. Consiste em um URI do script de shell no Amazon S33 e uma lista de argumentos. | Objeto de referência, por exemplo, "postActivityTaskConfig”: \$1"ref”:” myShellScript ConfigId “\$1 | 
| preActivityTaskConfig | Script de configuração pré-atividade a ser executado. Consiste em um URI do script de shell no Amazon S3 e uma lista de argumentos. | Objeto de referência, por exemplo, "preActivityTaskConfig”: \$1"ref”:” myShellScript ConfigId “\$1 | 
| precondition | Se desejar, você pode definir uma precondição. Um nó de dados não fica marcado como "READY" até que todas as precondições tenham sido atendidas. | Objeto de referência, por exemplo, “pré-condição”: \$1"ref”:” myPreconditionId “\$1 | 
| reportProgressTimeout | O tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| resizeClusterBeforeCorrendo | Redimensione o cluster antes de executar esta atividade para acomodar nós de dados do DynamoDB especificados como entradas ou saídas. Se sua atividade usa a `DynamoDBDataNode` como um nó de dados de entrada ou saída, e se você definir o como`TRUE`, AWS Data Pipeline comece `resizeClusterBeforeRunning` a usar tipos de `m3.xlarge` instância. Isso substitui suas escolhas de tipo de instância por `m3.xlarge`, o que pode aumentar seus custos mensais.  | Booleano | 
| resizeClusterMaxInstâncias | Um limite no número máximo de instâncias que pode ser solicitado pelo algoritmo de redimensionamento. | Inteiro | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| scheduleType | O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início ou no final do intervalo. Programação com estilo de séries temporais significa que as instâncias são programadas no final de cada intervalo, e Programação com estilo Cron significa que as instâncias são programadas no início de cada intervalo. Uma programação sob demanda permite que você execute um pipeline uma vez por ativação. Isso significa que você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação sob demanda, ela precisará ser especificada no objeto padrão, além de ser a única scheduleType especificada para objetos no pipeline. Para usar pipelines sob demanda, basta chamar a ActivatePipeline operação para cada execução subsequente. Os valores são: cron, ondemand e timeseries. | Enumeração | 
| scriptVariable | Os argumentos a serem transmitidos para o script do Pig. Você pode usar scriptVariable com script ou scriptUri. | String | 
| stage | Determina se a preparação está ativada e permite que seu script Pig tenha acesso às tabelas de dados preparados, como \$1 \$1INPUT1\$1 e \$1 \$1\$1. OUTPUT1 | Booleano | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Registros da etapa do Amazon EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término programado para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início programado para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

## Consulte também
<a name="pigactivity-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

# RedshiftCopyActivity
<a name="dp-object-redshiftcopyactivity"></a>

Copia uma tabela do DynamoDB ou Amazon S3 para o Amazon Redshift. Você pode carregar dados em uma nova tabela ou mesclar dados em uma tabela existente de maneira fácil.

Esta é uma visão geral de um caso de uso no qual usar `RedshiftCopyActivity`:

1. Comece usando AWS Data Pipeline para armazenar seus dados no Amazon S3. 

1. Use o `RedshiftCopyActivity` para mover os dados do Amazon RDS e do Amazon EMR para o Amazon Redshift.

   Isso permite que você carregue seus dados no Amazon Redshift, onde pode analisá-los.

1. Use o [SqlActivity](dp-object-sqlactivity.md) para realizar consultas SQL nos dados que você carregou no Amazon Redshift.

 Além disso, `RedshiftCopyActivity` permite que você trabalhe com um `S3DataNode`, já que ele oferece suporte a um arquivo manifesto. Para obter mais informações, consulte [S3 DataNode](dp-object-s3datanode.md).

## Exemplo
<a name="redshiftcopyactivity-example"></a>

Veja a seguir um exemplo deste tipo de objeto. 

Para garantir a conversão de formatos, este exemplo usa os parâmetros de conversão especiais [EMPTYASNULL](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html#copy-emptyasnull) e [IGNOREBLANKLINES](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html#copy-ignoreblanklines) em `commandOptions`. Para obter informações, consulte [Parâmetros de conversão de dados](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*.

```
{
  "id" : "S3ToRedshiftCopyActivity",
  "type" : "RedshiftCopyActivity",
  "input" : { "ref": "MyS3DataNode" },
  "output" : { "ref": "MyRedshiftDataNode" },
  "insertMode" : "KEEP_EXISTING",
  "schedule" : { "ref": "Hour" },
  "runsOn" : { "ref": "MyEc2Resource" },
  "commandOptions": ["EMPTYASNULL", "IGNOREBLANKLINES"]
}
```

A definição de pipeline de exemplo a seguir mostra uma atividade que usa o modo de inserção `APPEND`:

```
{
  "objects": [
    {
      "id": "CSVId1",
      "name": "DefaultCSV1",
      "type": "CSV"
    },
    {
      "id": "RedshiftDatabaseId1",
      "databaseName": "dbname",
      "username": "user",
      "name": "DefaultRedshiftDatabase1",
      "*password": "password",
      "type": "RedshiftDatabase",
      "clusterId": "redshiftclusterId"
    },
    {
      "id": "Default",
      "scheduleType": "timeseries",
      "failureAndRerunMode": "CASCADE",
      "name": "Default",
      "role": "DataPipelineDefaultRole",
      "resourceRole": "DataPipelineDefaultResourceRole"
    },
    {
      "id": "RedshiftDataNodeId1",
      "schedule": {
        "ref": "ScheduleId1"
      },
      "tableName": "orders",
      "name": "DefaultRedshiftDataNode1",
      "createTableSql": "create table StructuredLogs (requestBeginTime CHAR(30) PRIMARY KEY DISTKEY SORTKEY, requestEndTime CHAR(30), hostname CHAR(100), requestDate varchar(20));",
      "type": "RedshiftDataNode",
      "database": {
        "ref": "RedshiftDatabaseId1"
      }
    },
    {
      "id": "Ec2ResourceId1",
      "schedule": {
        "ref": "ScheduleId1"
      },
      "securityGroups": "MySecurityGroup",
      "name": "DefaultEc2Resource1",
      "role": "DataPipelineDefaultRole",
      "logUri": "s3://myLogs",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "type": "Ec2Resource"
    },
    {
      "id": "ScheduleId1",
      "startDateTime": "yyyy-mm-ddT00:00:00",
      "name": "DefaultSchedule1",
      "type": "Schedule",
      "period": "period",
      "endDateTime": "yyyy-mm-ddT00:00:00"
    },
    {
      "id": "S3DataNodeId1",
      "schedule": {
        "ref": "ScheduleId1"
      },
      "filePath": "s3://datapipeline-us-east-1/samples/hive-ads-samples.csv",
      "name": "DefaultS3DataNode1",
      "dataFormat": {
        "ref": "CSVId1"
      },
      "type": "S3DataNode"
    },
    {
      "id": "RedshiftCopyActivityId1",
      "input": {
        "ref": "S3DataNodeId1"
      },
      "schedule": {
        "ref": "ScheduleId1"
      },
      "insertMode": "APPEND",
      "name": "DefaultRedshiftCopyActivity1",
      "runsOn": {
        "ref": "Ec2ResourceId1"
      },
      "type": "RedshiftCopyActivity",
      "output": {
        "ref": "RedshiftDataNodeId1"
      }
    }
  ]
}
```

`APPEND` A operação adiciona itens a uma tabela, independentemente das chaves principais ou de classificação. Por exemplo, se você tiver a tabela a seguir, poderá anexar um registro com o mesmo ID e o valor de usuário.

```
ID(PK)     USER
1          aaa
2          bbb
```

Você pode anexar um registro com o mesmo ID e valor de usuário:

```
ID(PK)     USER
1          aaa
2          bbb
1          aaa
```

**nota**  
Se uma operação `APPEND` é interrompida e realizada novamente, a nova execução resultante do pipeline pode acrescentar linhas desde o início. Isso pode causar uma duplicação. Por isso, você deve estar ciente desse comportamento, especialmente se houver alguma lógica que conta o número de linhas.

Para ver um tutorial, consulte [Copiar dados para o Amazon Redshift usando AWS Data Pipeline](dp-copydata-redshift.md).

## Sintaxe
<a name="redshiftcopyactivity-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| insertMode |   Determina o que AWS Data Pipeline acontece com os dados preexistentes na tabela de destino que se sobrepõem às linhas nos dados a serem carregados. Os valores válidos são: `KEEP_EXISTING`, `OVERWRITE_EXISTING`, `TRUNCATE` e `APPEND`. `KEEP_EXISTING` adiciona novas linhas à tabela deixando quaisquer linhas existentes sem modificações. `KEEP_EXISTING` e` OVERWRITE_EXISTING` usam as chaves primária, de classificação e de distribuição para identificar quais linhas de entrada correspondem a linhas existentes. Consulte [Atualizar e inserir novos dados](https://docs.aws.amazon.com/redshift/latest/dg/t_updating-inserting-using-staging-tables-.html) no *Guia do desenvolvedor de banco de dados* do Amazon Redshift.  `TRUNCATE` exclui todos os dados na tabela de destino antes de gravar os novos dados.  `APPEND` adiciona todos os registros ao final da tabela do Redshift. `APPEND` não requer uma chave de distribuição primária ou uma chave de classificação de modo que itens que podem ser possíveis duplicatas podem ser anexados.  | Enumeração | 

 


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento |  Esse objeto é invocado durante a execução de um intervalo de programação.  Especifique uma referência de programação para outro objeto para definir a ordem de execução de dependência desse objeto.  Na maioria dos casos, recomendamos colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação. Por exemplo, você pode definir uma programação explicitamente no objeto especificando `"schedule": {"ref": "DefaultSchedule"}`.  Se a programação principal do seu pipeline contiver programações aninhadas, crie um objeto pai que tenha uma referência de programação.  Para obter mais informações sobre configurações opcionais de programação de exemplo, consulte [Programação](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html).   | Objeto de referência, como: "schedule":\$1"ref":"myScheduleId"\$1 | 

 


****  

| Grupo obrigatório (um dos seguintes é obrigatório) | Description | Tipo de slot | 
| --- | --- | --- | 
| runsOn | O recurso computacional para executar a atividade ou o comando. Por exemplo, uma instância do Amazon EC2 ou um cluster do Amazon EMR. | Objeto de referência, por exemplo, “runsOn”: \$1"ref”:” myResourceId “\$1 | 
| workerGroup | O grupo de operadores. Isso é usado para tarefas de roteamento. Se você fornecer um valor de runsOn e workerGroup existir, workerGroup será ignorado. | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se definida, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| commandOptions |  Pega parâmetros para passar para o nó de dados do Amazon Redshift durante a operação `COPY`. Para obter mais informações sobre parâmetros, consulte [COPIAR](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) no *Guia do desenvolvedor de banco de dados* do Amazon Redshift. À medida que carrega a tabela, `COPY` tenta converter implicitamente as strings no tipo de dados da coluna de destino. Além das conversões de dados padrão que são realizadas automaticamente, se você receber erros ou tiver outras necessidades de conversão, especifique parâmetros de conversão adicionais. Para obter informações, consulte [Parâmetros de conversão de dados](https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html) no *Guia do desenvolvedor de banco de dados* do Amazon Redshift. Se um formato de dados é associado ao nó de dados de entrada ou saída, os parâmetros fornecidos são ignorados.  Como a operação de cópia usa `COPY` para inserir dados em uma tabela de preparação e, em seguida, usa um comando `INSERT` para copiar os dados da tabela de preparação para a tabela de destino, alguns parâmetros `COPY` não se aplicam, como a capacidade do comando `COPY` para permitir a compactação automática da tabela. Se a compactação for necessária, adicione detalhes de codificação de coluna na instrução `CREATE TABLE`.  Além disso, em alguns casos, quando é preciso descarregar os dados do cluster do Amazon Redshift e criar arquivos no Amazon S3, a `RedshiftCopyActivity` depende da operação `UNLOAD` do Amazon Redshift. Para melhorar o desempenho ao copiar e descarregar, especifique o parâmetro `PARALLEL OFF` do comando `UNLOAD`. Para obter informações sobre parâmetros, consulte [DESCARREGAR](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html) no *Guia do desenvolvedor de banco de dados* do Amazon Redshift.  | String | 
| dependsOn | Especifique a dependência em outro objeto executável. | Objeto de referência: "dependsOn":\$1"ref":"myActivityId"\$1 | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| input | O nó de dados de entrada. A fonte de dados pode ser o Amazon S3, o DynamoDB ou o Amazon Redshift. | Objeto de referência: "input":\$1"ref":"myDataNodeId"\$1 | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | Quantidade máxima de novas tentativas com falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência: "onFail":\$1"ref":"myActionId"\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência:  "onLateAction":\$1"ref":"myActionId"\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência: "onSuccess":\$1"ref":"myActionId"\$1 | 
| saída | O nó de dados de saída. A localização de saída pode ser o Amazon S3 ou o Amazon Redshift. | Objeto de referência: "output":\$1"ref":"myDataNodeId"\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência: "parent":\$1"ref":"myBaseObjectId"\$1 | 
| pipelineLogUri | O URI do S3 (como 's3://BucketName/Key/ ') para carregar registros para o pipeline. | String | 
| precondition | Se desejar, você pode definir uma precondição. Um nó de dados não fica marcado como "READY" até que todas as precondições tenham sido atendidas. | Objeto de referência: "precondition":\$1"ref":"myPreconditionId"\$1 | 
| queue (fila) |  Corresponde à configuração `query_group ` no Amazon Redshift, que permite atribuir e priorizar atividades simultâneas com base em sua colocação em filas.  O Amazon Redshift limita o número de conexões simultâneas a 15. Para obter mais informações, consulte [Atribuir consultas a filas](https://docs.aws.amazon.com/AmazonRDS/latest/DeveloperGuide/cm-c-executing-queries.html) no *Guia do desenvolvedor de banco de dados* do Amazon RDS.  | String | 
| reportProgressTimeout |  Tempo limite para as chamadas sucessivas de trabalho remoto para `reportProgress`.  Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente.  | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| scheduleType |  Permite que você especifique a programação para objetos no pipeline. Os valores são: `cron`, `ondemand` e `timeseries`. A programação `timeseries` significa que as instâncias são programadas no final de cada intervalo. A programação `Cron` significa que as instâncias são programadas no início de cada intervalo.  Uma programação `ondemand` permite que você execute um pipeline uma vez por ativação. Isso significa que você não precisa clonar nem recriar o pipeline para executá-lo novamente.  Para usar pipelines `ondemand`, chame a operação `ActivatePipeline` para cada execução subsequente.  Se você usar uma programação `ondemand`, deverá especificá-la no objeto padrão, e este deverá ser o único `scheduleType` especificado para objetos no pipeline.  | Enumeração | 
| transformSql |  A expressão `SQL SELECT` usada para transformar os dados de entrada.  Execute a expressão `transformSql` na tabela chamada `staging`.  Ao copiar dados do DynamoDB ou do Amazon S3, o AWS Data Pipeline cria uma tabela chamada “staging” e, inicialmente, carrega dados nesta tabela. Os dados dessa tabela são usados para atualizar a tabela de destino.  O esquema de saída de `transformSql` deve corresponder ao esquema da tabela de destinos finais. Se você especificar a opção `transformSql`, uma segunda tabela de preparação será criada a partir da instrução SQL especificada. Os dados na segunda tabela de preparação são, então, atualizados na tabela de destino final.  | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência: "activeInstances":\$1"ref":"myRunnableObjectId"\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência: "cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 | 
| emrStepLog | Registros da etapa do EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência: "waitingOn":\$1"ref":"myRunnableObjectId"\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto. Denota seu lugar no ciclo de vida. Por exemplo, objetos de componentes dão origem a objetos de instância, que executam objetos de tentativa. | String | 

# ShellCommandActivity
<a name="dp-object-shellcommandactivity"></a>

 Executa um comando ou script. Você pode usar `ShellCommandActivity` para executar séries temporais ou tarefas programadas parecidas com Cron. 

Quando o campo `stage` é definido como verdadeiro e usado com um `S3DataNode`, o `ShellCommandActivity` oferece suporte ao conceito de preparação de dados, o que significa que você pode mover dados do Amazon S3 para um local de estágio, como o Amazon EC2 ou seu ambiente local, executar trabalhos nos dados usando scripts e o `ShellCommandActivity`, e movê-los de volta para o Amazon S3. 

Nesse caso, quando o comando shell está conectado a uma entrada `S3DataNode`, os scripts shell operam diretamente nos dados usando `${INPUT1_STAGING_DIR}`, `${INPUT2_STAGING_DIR}` e outros campos, referindo aos campos de entrada `ShellCommandActivity`. 

Da mesma forma, a saída do comando de shell pode ser preparada em um diretório de saída para ser automaticamente enviada ao Amazon S3, referenciada por `${OUTPUT1_STAGING_DIR}`, `${OUTPUT2_STAGING_DIR}` e assim por diante. 

Essas expressões podem passar como argumentos de linha de comando para o comando de shell para que você possa usá-las na lógica de transformação de dados.

`ShellCommandActivity` retorna códigos de erro e strings no estilo do Linux. Se `ShellCommandActivity` resulta em um erro, o `error` retornado é um valor diferente de zero.

## Exemplo
<a name="shellcommandactivity-example"></a>

Veja a seguir um exemplo deste tipo de objeto.

```
{
  "id" : "CreateDirectory",
  "type" : "ShellCommandActivity",
  "command" : "mkdir new-directory"
}
```

## Sintaxe
<a name="shellcommandactivity-syntax"></a>


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento |  Esse objeto é invocado durante a execução de um intervalo `schedule`. Para definir a ordem de execução de dependência desse objeto, especifique uma referência `schedule` a outro objeto.  Para atender a esse requisito, defina explicitamente um `schedule` no objeto, por exemplo, especificando `"schedule": {"ref": "DefaultSchedule"}`.  Na maioria dos casos, é melhor colocar a referência `schedule` no objeto de pipeline padrão para que todos os objetos herdem essa programação. Se o pipeline consiste em uma árvore de programações (programações aninhadas na programação principal), crie um objeto pai que tenha uma referência de programação.  Para distribuir a carga, AWS Data Pipeline cria objetos físicos um pouco antes do previsto, mas os executa dentro do cronograma.  Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html).  | Objeto de referência, por exemplo, “agenda”: \$1"ref”:” myScheduleId “\$1 | 

 


****  

| Grupo obrigatório (um dos seguintes é obrigatório) | Description | Tipo de slot | 
| --- | --- | --- | 
| command | O comando a ser executado. Use \$1 para fazer referência aos parâmetros posicionais e scriptArgument para especificar os parâmetros para o comando. Este valor e quaisquer parâmetros associados precisam funcionar no ambiente do qual você está executando o Task Runner. | String | 
| scriptUri | Um caminho de URI do Amazon S3 para um arquivo do qual você fará download e executará como um comando shell. Especifique somente um campo scriptUri ou command. scriptUri não pode usar parâmetros, portanto, em vez disso, use command. | String | 

 


****  

| Grupo obrigatório (um dos seguintes é obrigatório) | Description | Tipo de slot | 
| --- | --- | --- | 
| runsOn | O recurso computacional para executar a atividade ou o comando, por exemplo, uma instância do Amazon EC2; ou um cluster do Amazon EMR. | Objeto de referência, por exemplo, “runsOn”: \$1"ref”:” myResourceId “\$1 | 
| workerGroup | Usado para tarefas de roteamento. Se você fornecer um valor de runsOn e workerGroup existir, será ignorado.workerGroup | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | O status mais recente da atividade remota. | String | 
| attemptTimeout | O tempo limite para conclusão do trabalho remoto. Se definido, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| dependsOn | Especifica uma dependência em outro objeto executável. | Objeto de referência, por exemplo, “dependsOn”: \$1"ref”:” myActivityId “\$1 | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| input | O local dos dados de entrada. | Objeto de referência, por exemplo, “input”: \$1"ref”:” myDataNode Id "\$1 | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | A quantidade máxima de novas tentativas após uma falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi programado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| saída | O local dos dados de saída. | Objeto de referência, por exemplo, “output”: \$1"ref”:” myDataNode Id "\$1 | 
| parent | O pai do objeto atual do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| pipelineLogUri | O URI do Amazon S3, como 's3://BucketName/Key/', para fazer upload de logs para o pipeline. | String | 
| precondition | Opcionalmente define uma precondição. Um nó de dados não fica marcado como "READY" até que todas as precondições tenham sido atendidas. | Objeto de referência, por exemplo, “pré-condição”: \$1"ref”:” myPreconditionId “\$1 | 
| reportProgressTimeout | O tempo limite para chamadas sucessivas para reportProgress por atividades remotas. Se configurada, as atividades remotas sem progresso para o período especificado poderão ser consideradas como interrompidas e serão executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| scheduleType |  Permite que você especifique se os objetos na definição do pipeline devem ser programados no início ou no final do intervalo.  Os valores possíveis são: `cron`, `ondemand` e `timeseries`. Se definido como `timeseries`, as instâncias são programadas no final de cada intervalo.  Se definido como `Cron`, as instâncias são programadas no início de cada intervalo.  Se definido como `ondemand`, você pode executar um pipeline uma vez por ativação. Isso significa que você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação `ondemand`, deverá especificá-la no objeto padrão como o único `scheduleType` para objetos no pipeline. Para usar pipelines `ondemand`, chame a operação `ActivatePipeline` para cada execução subsequente.   | Enumeração | 
| scriptArgument | Um conjunto de strings em formato JSON para ser passado ao comando especificado pelo comando. Por exemplo, se o comando for echo \$11 \$12, especifique scriptArgument como "param1", "param2". Para vários argumentos e parâmetros, passe o scriptArgument da seguinte forma: "scriptArgument":"arg1","scriptArgument":"param1","scriptArgument":"arg2","scriptArgument":"param2". O scriptArgument só pode ser usado com command. Usá-lo com scriptUri causa um erro. | String | 
| stage | Determina se a preparação está ou não ativada e permite que os comandos shell tenham acesso às variáveis de dados preparados, como \$1\$1INPUT1\$1STAGING\$1DIR\$1 e  \$1\$1OUTPUT1\$1STAGING\$1DIR\$1. | Booleano | 
| stderr | O caminho do que recebe mensagens de erro do sistema redirecionadas do comando. Se você usar o campo runsOn, ele precisará ser um caminho do Amazon S3 devido à natureza transitória do recurso que está executando sua atividade. No entanto, se você especificar o campo workerGroup, poderá usar um caminho de arquivo local. | String | 
| stdout | O caminho do Amazon S3 que recebe saídas redirecionadas do comando. Se você usar o campo runsOn, ele precisará ser um caminho do Amazon S3 devido à natureza transitória do recurso que está executando sua atividade. No entanto, se você especificar o campo workerGroup, poderá usar um caminho de arquivo local. | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | A lista dos objetos da instância ativa programados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | O horário em que a execução desse objeto foi concluída. | DateTime | 
| @actualStartTime | O horário em que a execução desse objeto foi iniciada. | DateTime | 
| cancellationReason | O cancellationReason se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | A descrição da cadeia de dependências que causou a falha no objeto. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Registros da etapa do Amazon EMR disponíveis somente nas tentativas de atividade do Amazon EMR. | String | 
| errorId | O errorId se esse objeto apresentou falha. | String | 
| errorMessage | O errorMessage se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @finishedTime | O horário em que a execução do objeto foi concluída. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas no Amazon EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | O ID do último objeto de instância que entrou em um estado concluído. | String | 
| @ healthStatusUpdated Hora | O horário em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome de host do cliente que pegou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | O horário da última execução concluída. | DateTime | 
| @latestRunTime | O horário da última execução programada. | DateTime | 
| @nextRunTime | O horário da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez em que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | O horário de término programado para o objeto. | DateTime | 
| @scheduledStartTime | O horário de início programado para o objeto. | DateTime | 
| @status | O status do objeto. | String | 
| @version | A AWS Data Pipeline versão usada para criar o objeto. | String | 
| @waitingOn | A descrição da lista de dependências pelas quais esse objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | O erro ao descrever o objeto malformado. | String | 
| @pipelineId | O ID do pipeline ao qual esse objeto pertence. | String | 
| @sphere | O local de um objeto no ciclo de vida. Objetos de componentes dão origem a objetos de instância, que executam objetos de tentativa. | String | 

## Consulte também
<a name="shellcommandactivity-seealso"></a>
+ [CopyActivity](dp-object-copyactivity.md)
+ [EmrActivity](dp-object-emractivity.md)

# SqlActivity
<a name="dp-object-sqlactivity"></a>

Executa uma consulta SQL (script) em um banco de dados.

## Exemplo
<a name="sqlactivity-example"></a>

Veja a seguir um exemplo deste tipo de objeto.

```
{
  "id" : "MySqlActivity",
  "type" : "SqlActivity",
  "database" : { "ref": "MyDatabaseID" },
  "script" : "SQLQuery" | "scriptUri" : s3://scriptBucket/query.sql,
  "schedule" : { "ref": "MyScheduleID" },
}
```

## Sintaxe
<a name="sqlactivity-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| banco de dados | O banco de dados em que o script SQL fornecido será executado. | Objeto de referência, por exemplo, “banco de dados”: \$1"ref”:” myDatabaseId “\$1 | 

 


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento |  Esse objeto é invocado durante a execução de um intervalo de programação. Você deve especificar uma referência de programação para outro objeto para definir a ordem de execução de dependência desse objeto. Você pode definir uma programação explicitamente no objeto, por exemplo, especificando `"schedule": {"ref": "DefaultSchedule"}`.  Na maioria dos casos, é melhor colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação.  Se o pipeline tiver uma árvore de programações aninhada na programação principal, crie um objeto pai que tenha uma referência de programação. Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html).  | Objeto de referência, por exemplo, “agenda”: \$1"ref”:” myScheduleId “\$1 | 

 


****  

| Grupo obrigatório (um dos seguintes é obrigatório) | Description | Tipo de slot | 
| --- | --- | --- | 
| script | O script SQL a ser executado. Você deve especificar script ou scriptUri. Quando o script é armazenado no Amazon S3, o script não é avaliado como uma expressão. Especificar vários valores para scriptArgument é útil quando o script é armazenado no Amazon S3. | String | 
| scriptUri | Um URI especificando o local de um script SQL a ser executado nesta atividade. | String | 

 


****  

| Grupo obrigatório (um dos seguintes é obrigatório) | Description | Tipo de slot | 
| --- | --- | --- | 
| runsOn | O recurso computacional para executar a atividade ou o comando. Por exemplo, uma instância do Amazon EC2 ou um cluster do Amazon EMR. | Objeto de referência, por exemplo, “runsOn”: \$1"ref”:” myResourceId “\$1 | 
| workerGroup | O grupo de operadores. Isso é usado para tarefas de roteamento. Se você fornecer um valor de runsOn e workerGroup existir, será ignorado.workerGroup | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se configurada, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| dependsOn | Especifique a dependência em outro objeto executável. | Objeto de referência, por exemplo, “dependsOn”: \$1"ref”:” myActivityId “\$1 | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| input | Local dos dados de entrada. | Objeto de referência, por exemplo, “input”: \$1"ref”:” myDataNode Id "\$1 | 
| lateAfterTimeout | O período desde o início programado do pipeline no qual a execução do objeto deve começar. | Período | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | Quantidade máxima de novas tentativas com falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não tiver sido programado ou ainda não tiver sido concluído no período de tempo desde o início programado do pipeline, conforme especificado por 'lateAfterTimeout'. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| saída | Local dos dados de saída. Isso só é útil para fazer referência a partir de um script (por exemplo\$1\$1output.tablename\$1) e para criar a tabela de saída definindo 'createTableSql' no nó de dados de saída. O resultado da consulta SQL não é gravado no nó de dados de saída. | Objeto de referência, por exemplo, “output”: \$1"ref”:” myDataNode Id "\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| pipelineLogUri | O URI do S3 (como 's3://BucketName/Key/ ') para carregar registros para o pipeline. | String | 
| precondition | Se desejar, você pode definir uma precondição. Um nó de dados não fica marcado como "READY" até que todas as precondições tenham sido atendidas. | Objeto de referência, por exemplo, “pré-condição”: \$1"ref”:” myPreconditionId “\$1 | 
| queue (fila) | [Apenas para o Amazon Redshift] Corresponde à configuração query\$1group no Amazon Redshift, que permite atribuir e priorizar atividades simultâneas com base em sua colocação em filas. O Amazon Redshift limita o número de conexões simultâneas a 15. Para obter mais informações, consulte [Atribuir consultas a filas](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-executing-queries.html) no Guia do desenvolvedor de banco de dados do Amazon Redshift. | String | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| scheduleType |  O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início ou no final do intervalo. Os valores são: `cron`, `ondemand` e `timeseries`.  A programação `timeseries` significa que as instâncias são programadas no final de cada intervalo. A programação `cron` significa que as instâncias são programadas no início de cada intervalo.  Uma programação `ondemand` permite que você execute um pipeline uma vez por ativação. Isso significa que você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação `ondemand`, ela precisará ser especificada no objeto padrão, além de ser a única `scheduleType` especificada para objetos no pipeline. Para usar pipelines `ondemand`, chame a operação `ActivatePipeline` para cada execução subsequente.  | Enumeração | 
| scriptArgument | Uma lista de variáveis do script. Além disso, você pode colocar expressões diretamente no campo do script. Vários valores para scriptArgument são úteis quando o script é armazenado no Amazon S3. Exemplo: \$1 \$1format (@scheduledStartTime, "YY-MM-DD HH:MM:SS"\$1\$1n\$1 \$1format (plusPeriod (@scheduledStartTime, “1 dia”), "HH:MM:SS"\$1 YY-MM-DD  | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Registros da etapa do EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# Recursos
<a name="dp-object-resources"></a>

A seguir estão os objetos AWS Data Pipeline de recursos:

**Topics**
+ [Ec2Resource](dp-object-ec2resource.md)
+ [EmrCluster](dp-object-emrcluster.md)
+ [HttpProxy](dp-object-httpproxy.md)

# Ec2Resource
<a name="dp-object-ec2resource"></a>

Uma instância do Amazon EC2 que executa o trabalho definido por uma atividade de pipeline.

AWS Data Pipeline agora oferece suporte ao IMDSv2 para a instância do Amazon EC2, que usa um método orientado por sessão para lidar melhor com a autenticação ao recuperar informações de metadados das instâncias. Uma sessão inicia e encerra uma série de solicitações que o software executado em uma instância do Amazon EC2 usa para acessar os metadados e as credenciais da instância do Amazon EC2 armazenados localmente. O software inicia uma sessão com uma simples solicitação HTTP PUT para o IMDSv2. O IMDSv2 retorna um token secreto para o software executado na instância do Amazon EC2, que usará o token como senha para fazer solicitações de metadados e credenciais. IMDSv2 

**nota**  
Para usar o IMDSv2 para sua instância do Amazon EC2, você precisará modificar as configurações, pois a AMI padrão não é compatível com. IMDSv2 Você pode especificar uma nova versão da AMI que pode ser recuperada por meio do seguinte parâmetro SSM: `/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs`.

Para obter informações sobre instâncias padrão do Amazon EC2 que são AWS Data Pipeline criadas se você não especificar uma instância, consulte. [Instâncias do Amazon EC2 padrão por região da AWS](dp-ec2-default-instance-types.md)

## Exemplos
<a name="ec2resource-example"></a>

**EC2-Classic**

**Importante**  
Somente AWS contas criadas antes de 4 de dezembro de 2013 oferecem suporte à plataforma EC2-Classic. Se você tiver uma dessas contas, poderá ter a opção de criar objetos EC2Resource para um pipeline em uma rede EC2-Classic ao invés de usar VPC. É altamente recomendável que você crie recursos para todos os seus pipelines em VPCs. Além disso, se você tiver recursos existentes no EC2-Classic, recomendamos que você migre do EC2-Classic para uma VPC.

O exemplo a seguir inicia uma instância do EC2 no EC2-Classic, com alguns campos opcionais definidos.

```
{
  "id" : "MyEC2Resource",
  "type" : "Ec2Resource",
  "actionOnTaskFailure" : "terminate",
  "actionOnResourceFailure" : "retryAll",
  "maximumRetries" : "1",
  "instanceType" : "m5.large",
  "securityGroups" : [
    "test-group",
    "default"
  ],
  "keyPair" : "my-key-pair"
}
```

**EC2-VPC**

O exemplo a seguir inicia uma instância do EC2 em uma VPC não padrão, com alguns campos opcionais definidos.

```
{
  "id" : "MyEC2Resource",
  "type" : "Ec2Resource",
  "actionOnTaskFailure" : "terminate",
  "actionOnResourceFailure" : "retryAll",
  "maximumRetries" : "1",
  "instanceType" : "m5.large",
  "securityGroupIds" : [
    "sg-12345678",
    "sg-12345678"
  ],
  "subnetId": "subnet-12345678",
  "associatePublicIpAddress": "true",
  "keyPair" : "my-key-pair"
}
```

## Sintaxe
<a name="ec2resource-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| resourceRole | O perfil do IAM que controla os recursos que a instância do Amazon EC2 pode acessar. | String | 
| perfil | A função do IAM AWS Data Pipeline usada para criar a instância do EC2. | String | 

 


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento |  Esse objeto é invocado durante a execução de um intervalo de programação.  Para definir a ordem de execução de dependência desse objeto, especifique uma referência de programação para outro objeto. Você pode fazer isso por meio de uma das seguintes maneiras: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/datapipeline/latest/DeveloperGuide/dp-object-ec2resource.html)  | Objeto de referência. Por exemplo "schedule":\$1"ref":"myScheduleId"\$1 | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| actionOnResourceFalha | A ação executada após uma falha de recurso para este recurso. Os valores válidos são "retryall" e "retrynone". | String | 
| actionOnTaskFalha | A ação executada após uma falha de tarefa para este recurso. Os valores válidos são "continue" ou "terminate". | String | 
| associatePublicIpEndereço | Indica se um endereço IP público deve ou não ser atribuído à instância. Se as instâncias estiverem no Amazon EC2 ou na Amazon VPC, o valor padrão será true. Caso contrário, o valor padrão será false. | Booleano | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | O tempo limite para a conclusão do trabalho remoto. Se definido, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| availabilityZone | A zona de disponibilidade na qual a instância do Amazon EC2 será iniciada. | String | 
| desabilitar IMDSv1 | O valor padrão é falso e ativa tanto IMDSv1 IMDSv2 e. Se você defini-lo como verdadeiro, ele desativará IMDSv1 e fornecerá apenas IMDSv2s | Booleano | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| httpProxy | O host proxy que os clientes usam para se conectar aos AWS serviços. | Objeto de referência. Por exemplo: "httpProxy":\$1"ref":"myHttpProxyId"\$1 | 
| imageId | O ID da AMI a ser usado para a instância. Por padrão, AWS Data Pipeline usa o tipo de virtualização HVM AMI. As AMI específicas IDs usadas são baseadas em uma região. Você pode substituir a AMI padrão especificando a AMI do HVM de sua escolha. Para obter mais informações sobre tipos de AMI, consulte [Tipos de virtualização da AMI no Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html) e [Como localizar uma AMI no Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html) em *Guia do usuário do Amazon EC2*.  | String | 
| initTimeout | A quantidade de tempo de espera antes da inicialização do recurso.  | Período | 
| instanceCount | Suspenso. | Inteiro | 
| instanceType | O tipo de instância do Amazon EC2 a ser iniciado. | String | 
| keyPair | O nome do par de chaves. Se você executar uma instância do Amazon EC2 sem especificar um par de chaves, não poderá fazer logon nela. | String | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | A quantidade máxima de novas tentativas após uma falha. | Inteiro | 
| minInstanceCount | Suspenso. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência. Por exemplo  "onFail":\$1"ref":"myActionId"\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi programado ou ainda está em execução. | Objeto de referência. Por exemplo "onLateAction":\$1"ref":"myActionId"\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência. Por exemplo: "onSuccess":\$1"ref":"myActionId"\$1 | 
| parent | O pai do objeto atual a partir do qual os slots são herdados. | Objeto de referência. Por exemplo: "parent":\$1"ref":"myBaseObjectId"\$1 | 
| pipelineLogUri | O URI do Amazon S3 (como o 's3://BucketName/Key/') para fazer upload de logs para o pipeline. | String | 
| region |  O código da região na qual a instância do Amazon EC2 deve ser executada. Por padrão, a instância é executada na mesma região que o pipeline. Você pode executar a instância na mesma região como um conjunto de dados dependente. | Enumeração | 
| reportProgressTimeout | O tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e serão executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| runAsUser | O usuário que executará TaskRunner o. | String | 
| runsOn | Esse campo não é permitido neste objeto. | Objeto de referência. Por exemplo: "runsOn":\$1"ref":"myResourceId"\$1 | 
| scheduleType |  O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início do intervalo, no final do intervalo ou sob demanda. Os valores são: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/datapipeline/latest/DeveloperGuide/dp-object-ec2resource.html)  | Enumeração | 
| securityGroupIds | Os IDs de um ou mais grupos de segurança do Amazon EC2 a serem usados nas instâncias do grupo de recursos. | String | 
| securityGroups | Um ou mais grupos de segurança do Amazon EC2 a serem usados nas instâncias do grupo de recursos. | String | 
| spotBidPrice | O valor máximo por hora para sua instância spot em dólares, que é um valor decimal entre 0 e 20,00, exclusivos. | String | 
| subnetId | O ID da sub-rede do Amazon EC2 em que a instância será iniciada. | String | 
| terminateAfter | O número de horas após o qual encerrar o recurso. | Período | 
| useOnDemandOnLastAttempt | Na última tentativa de solicitar uma instância spot, faça um pedido para instâncias sob demanda em vez de uma instância spot. Isso garante que, se todas as tentativas anteriores falharam, a última tentativa não será interrompida. | Booleano | 
| workerGroup | Esse campo não é permitido neste objeto. | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência. Por exemplo: "activeInstances":\$1"ref":"myRunnableObjectId"\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O cancellationReason se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependências na qual o objeto apresentou falha. | Objeto de referência. Por exemplo: "cascadeFailedOn":\$1"ref":"myRunnableObjectId"\$1 | 
| emrStepLog | Os registros das etapas estão disponíveis somente nas tentativas de atividade do Amazon EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @failureReason | O motivo da falha de recurso. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades do Amazon EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez em que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | O horário de término programado para o objeto. | DateTime | 
| @scheduledStartTime | O horário de início programado para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência. Por exemplo: "waitingOn":\$1"ref":"myRunnableObjectId"\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | O local de um objeto no ciclo de vida. Objetos de componentes dão origem a objetos de instância, que executam objetos de tentativa. | String | 

# EmrCluster
<a name="dp-object-emrcluster"></a>

Representa a configuração de um cluster do Amazon EMR. Esse objeto é usado por [EmrActivity](dp-object-emractivity.md) e [HadoopActivity](dp-object-hadoopactivity.md) para iniciar um cluster.

**Topics**
+ [Programadores](#emrcluster-schedulers)
+ [Versão de lançamento do Amazon EMR](#dp-emrcluster-release-versions)
+ [Permissões do Amazon EMR](#w2aac52c17b9c11)
+ [Sintaxe](#emrcluster-syntax)
+ [Exemplos](emrcluster-example.md)
+ [Consulte também](#emrcluster-seealso)

## Programadores
<a name="emrcluster-schedulers"></a>

Os programadores fornecem uma maneira de especificar a alocação de recursos e a priorização de trabalhos dentro de um cluster Hadoop. Administradores ou usuários podem escolher um programador para várias classes de usuários e aplicativos. Um programador pode usar filas para alocar recursos para usuários e aplicativos. Você configura essas filas ao criar o cluster. Em seguida, você pode configurar a prioridade de certos tipos de trabalhos e usuários. Com isso, é possível usar recursos de cluster de maneira eficiente enquanto mais de um usuário envia trabalhos ao cluster. Existem três tipos de programadores disponíveis:
+ [FairScheduler](https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/FairScheduler.html)— Tentativas de programar recursos uniformemente por um período significativo de tempo.
+ [CapacityScheduler](https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html)— Usa filas para permitir que administradores de cluster atribuam usuários a filas de prioridade e alocação de recursos variáveis. 
+ Default – Usado pelo cluster e pode ser configurado pelo seu site.

## Versão de lançamento do Amazon EMR
<a name="dp-emrcluster-release-versions"></a>

Uma versão do Amazon EMR corresponde a um conjunto de aplicações de código aberto do ecossistema de big data. Cada versão contém diferentes aplicações de big data, componentes e recursos que você seleciona para que o Amazon EMR instale e configure quando você criar um cluster. Especificar a versão usando o rótulo da versão. Os rótulos de versão estão no formato `emr-x.x.x`. Por exemplo, .`emr-5.30.0` Os clusters do Amazon EMR baseados no rótulo de versão `emr-4.0.0` e posterior usam a propriedade `releaseLabel` para especificar o rótulo de versão de um objeto `EmrCluster`. Versões anteriores usam a propriedade `amiVersion`.

**Importante**  
Todos os clusters do Amazon EMR criados usando a versão 5.22.0 ou posterior usam o [Signature versão 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) para autenticar solicitações ao Amazon S3. Algumas versões anteriores usam o Signature versão 2. O suporte ao Signature versão 2 está sendo descontinuado. Para obter mais informações, consulte [Atualização do Amazon S3 – Período de defasagem do SigV2 estendido e modificado](https://aws.amazon.com/blogs/aws/amazon-s3-update-sigv2-deprecation-period-extended-modified/). É altamente recomendável que você use uma versão do Amazon EMR que ofereça suporte ao Signature versão 4. Para versões anteriores, começando com o EMR 4.7.x, a versão mais recente da série foi atualizada para oferecer suporte ao Signature versão 4. Ao usar uma versão anterior do EMR, recomendamos que você use a versão mais recente da série. Além disso, evite versões anteriores ao EMR 4.7.0.

### Condições e limitações
<a name="dp-emrcluster-considerations"></a>

#### Use a versão mais recente do Task Runner
<a name="dp-task-runner-latest"></a>

Se você estiver usando um objeto `EmrCluster` autogerenciado com um rótulo de release, use o Task Runner mais atual. Para mais informações sobre o Task Runner, consulte [Trabalhar com o Task Runner](dp-using-task-runner.md). Você pode configurar valores de propriedade para todas as classificações de configuração do Amazon EMR. Para obter mais informações, consulte [Configurar aplicativos](https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/emr-configure-apps.html) no *Guia de apresentação do Amazon EMR* e nas referências de objeto [EmrConfiguration](dp-object-emrconfiguration.md) e [Propriedade](dp-object-property.md). 

#### Support for IMDSv2
<a name="dp-emr-imdsv2-support"></a>

Anteriormente, somente AWS Data Pipeline suportado IMDSv1. Agora, AWS Data Pipeline oferece suporte IMDSv2 no Amazon EMR 5.23.1, 5.27.1 e 5.32 ou posterior e no Amazon EMR 6.2 ou posterior. IMDSv2 usa um método orientado à sessão para lidar melhor com a autenticação ao recuperar informações de metadados das instâncias. Você deve configurar suas instâncias para fazer IMDSv2 chamadas criando recursos gerenciados pelo usuário usando TaskRunner -2.0.

#### Amazon EMR 5.32 ou posterior e Amazon EMR 6.x
<a name="dp-emr-6-classpath"></a>

As séries de lançamento do Amazon EMR 5.32 ou posterior e Amazon EMR 6.x usam o Hadoop versão 3.x, que introduziu mudanças significativas na forma como o classpath do Hadoop é avaliado em comparação com a versão 2.x do Hadoop. Bibliotecas comuns como Joda-Time foram removidas do classpath.

Se [EmrActivity](dp-object-emractivity.md) ou [HadoopActivity](dp-object-hadoopactivity.md) executa um arquivo Jar que tem dependências em uma biblioteca que foi removida no Hadoop 3.x, a etapa falhará com o erro `java.lang.NoClassDefFoundError` ou `java.lang.ClassNotFoundException`. Isso pode acontecer para os arquivos Jar executados sem problemas usando as versões de lançamento 5.x do Amazon EMR.

Para corrigir o problema, você deve copiar as dependências do arquivo Jar para o classpath do Hadoop em um objeto `EmrCluster` antes de iniciar o `EmrActivity` ou o `HadoopActivity`. Fornecemos um script bash para isso. O script bash está disponível no seguinte local, onde *MyRegion* é a AWS região em que seu `EmrCluster` objeto é executado, por exemplo`us-west-2`.

```
s3://datapipeline-MyRegion/MyRegion/bootstrap-actions/latest/TaskRunner/copy-jars-to-hadoop-classpath.sh
```

A forma de executar o script depende se ele `EmrActivity` `HadoopActivity` é executado em um recurso gerenciado AWS Data Pipeline ou executado em um recurso autogerenciado.

Se você usa um recurso gerenciado por AWS Data Pipeline, adicione um `bootstrapAction` ao `EmrCluster` objeto. O `bootstrapAction` especifica o script e os arquivos Jar a serem copiados como argumentos. Você pode adicionar até 255 campos `bootstrapAction` por objeto `EmrCluster` e adicionar um campo `bootstrapAction` a um objeto `EmrCluster` que já tenha ações de bootstrap.

Para especificar esse script como uma ação de bootstrap, use a seguinte sintaxe, onde `JarFileRegion` é a região em que o arquivo Jar é salvo e cada um *MyJarFile*n** é o caminho absoluto no Amazon S3 de um arquivo Jar a ser copiado para o classpath do Hadoop. Não especifique arquivos Jar que estão no classpath do Hadoop por padrão.

```
s3://datapipeline-MyRegion/MyRegion/bootstrap-actions/latest/TaskRunner/copy-jars-to-hadoop-classpath.sh,JarFileRegion,MyJarFile1,MyJarFile2[, ...]
```

O exemplo a seguir especifica uma ação de bootstrap que copia dois arquivos Jar no Amazon S3: `my-jar-file.jar` e o `emr-dynamodb-tool-4.14.0-jar-with-dependencies.jar`. A Região usada no exemplo é us-west-2.

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
  "keyPair" : "my-key-pair",
  "masterInstanceType" : "m5.xlarge",
  "coreInstanceType" : "m5.xlarge",
  "coreInstanceCount" : "2",
  "taskInstanceType" : "m5.xlarge",
  "taskInstanceCount": "2",
  "bootstrapAction" : ["s3://datapipeline-us-west-2/us-west-2/bootstrap-actions/latest/TaskRunner/copy-jars-to-hadoop-classpath.sh,us-west-2,s3://path/to/my-jar-file.jar,s3://dynamodb-dpl-us-west-2/emr-ddb-storage-handler/4.14.0/emr-dynamodb-tools-4.14.0-jar-with-dependencies.jar"]
}
```

Você precisa salvar e ativar o pipeline para que a alteração no novo `bootstrapAction` seja habilitada.

Se você usa um recurso autogerenciado, pode baixar o script para a instância do cluster e executá-lo na linha de comando usando SSH. O script cria um diretório chamado `/etc/hadoop/conf/shellprofile.d` e um arquivo chamado `datapipeline-jars.sh` nesse diretório. Os arquivos jar fornecidos como argumentos de linha de comando são copiados para um diretório que o script cria chamado `/home/hadoop/datapipeline_jars`. Se seu cluster estiver configurado de forma diferente, modifique o script adequadamente após baixá-lo.

A sintaxe para executar o script na linha de comando é um pouco diferente de usar a `bootstrapAction` exibida no exemplo anterior. Use espaços ao invés de vírgulas entre os argumentos, conforme mostrado no exemplo a seguir.

```
./copy-jars-to-hadoop-classpath.sh us-west-2 s3://path/to/my-jar-file.jar s3://dynamodb-dpl-us-west-2/emr-ddb-storage-handler/4.14.0/emr-dynamodb-tools-4.14.0-jar-with-dependencies.jar
```

## Permissões do Amazon EMR
<a name="w2aac52c17b9c11"></a>

Ao criar um perfil do IAM personalizado, considere cuidadosamente as permissões mínimas necessárias para que seu cluster realize os trabalhos. Certifique-se de conceder acesso aos recursos necessários, como arquivos no Amazon S3 ou dados no Amazon RDS, Amazon Redshift ou DynamoDB. Se você quiser definir `visibleToAllUsers` como "False", sua função precisará das permissões adequadas. `DataPipelineDefaultRole` não tem essas permissões. Você precisa fornecer uma união das funções `DefaultDataPipelineResourceRole` e `DataPipelineDefaultRole` como a função de objeto `EmrCluster` ou criar sua própria função para essa finalidade.

## Sintaxe
<a name="emrcluster-syntax"></a>


****  

| Campos de invocação de objetos | Description | Tipo de slot | 
| --- | --- | --- | 
| agendamento | Esse objeto é invocado durante a execução de um intervalo de programação. Especifique uma referência de programação para outro objeto para definir a ordem de execução de dependência desse objeto. É possível satisfazer esse requisito definindo explicitamente uma programação no objeto, por exemplo, ao especificar "schedule": \$1"ref": "DefaultSchedule"\$1. Na maioria dos casos, é melhor colocar a referência de programação no objeto de pipeline padrão para que todos os objetos herdem essa programação. Como alternativa, se o pipeline tiver uma árvore de programações (outras programações dentro de uma programação principal), você poderá criar um objeto principal que tenha uma referência de programação. Para obter mais informações sobre o exemplo de configurações opcionais de programação, consulte [https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html](https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html). | Objeto de referência. Por exemplo: "schedule":\$1"ref":"myScheduleId"\$1 | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| actionOnResourceFalha | A ação executada após uma falha de recurso para este recurso. Os valores válidos são "retryall", que tentará executar todas as tarefas para o cluster pela duração especificada e "retrynone". | String | 
| actionOnTaskFalha | A ação executada após uma falha de tarefa para este recurso. Os valores válidos são "continuar", que significa que não encerrar o cluster, e "encerrar". | String | 
| additionalMasterSecurityGroupIds | O identificador de grupos de segurança principais adicionais do cluster do EMR, que segue o formato sg-01. XXXX6a Para obter mais informações, consulte [Grupos de segurança adicionais do Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-additional-sec-groups.html) no Guia de gerenciamento do Amazon EMR. | String | 
| additionalSlaveSecurityGroupIds | O identificador de security groups subordinados adicionais do cluster do EMR, que segue o formulário sg-01XXXX6a. | String | 
| amiVersion | A versão da imagem de máquina da Amazon (AMI) que o Amazon EMR usa para instalar nós do cluster. Para obter mais informações, consulte o [Guia de gerenciamento do Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/). | String | 
| aplicações | Aplicativos a serem instalados no cluster com argumentos separados por vírgula. Por padrão, o Hive e o Pig estão instalados. Esse parâmetro é aplicável apenas para a versão 4.0 do Amazon EMR e versões posteriores. | String | 
| attemptStatus | O status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se definida, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| availabilityZone | A zona de disponibilidade na qual o cluster será executado. | String | 
| bootstrapAction | Uma ação para ser executada quando o cluster é iniciado. Você pode especificar argumentos separados por vírgula. Para especificar várias ações, até 255, adicione vários campos bootstrapAction. O comportamento padrão é iniciar o cluster sem quaisquer ações de bootstrap. | String | 
| configuration | Configuração de cluster do Amazon EMR. Esse parâmetro é aplicável apenas para a versão 4.0 do Amazon EMR e versões posteriores. | Objeto de referência. Por exemplo: "configuration":\$1"ref":"myEmrConfigurationId"\$1 | 
| coreInstanceBidPreço | O preço máximo de instância spot que você está disposto a pagar por instâncias do Amazon EC2. Se uma sugestão de preço for especificada, o Amazon EMR usará instâncias spot para o grupo de instâncias. Especificado em dólares americanos (USD). | String | 
| coreInstanceCount | O número de nós core a serem usados no cluster. | Inteiro | 
| coreInstanceType | O tipo de instância do Amazon EC2 a ser usado nos nós centrais. Consulte [Instâncias do Amazon EC2 compatíveis com clusters do Amazon EMR](dp-emr-supported-instance-types.md). | String | 
| coreGroupConfiguration | A configuração para o cluster de grupo de instâncias core do Amazon EMR. Esse parâmetro é aplicável apenas para a versão 4.0 do Amazon EMR e versões posteriores. | Objeto de referência. Por exemplo “configuration”: \$1“ref”: “myEmrConfigurationId”\$1 | 
| coreEbsConfiguration | A configuração para volumes do Amazon EBS que serão anexadas a cada um dos nós centrais no grupo central do cluster do Amazon EMR. Para obter mais informações, consulte [Tipos de instâncias que oferecem suporte à otimização do EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) no Guia do usuário do Amazon EC2. | Objeto de referência. Por exemplo “coreEbsConfiguration”: \$1“ref”: “myEbsConfiguration”\$1 | 
| customAmiId | Aplica-se apenas às versões 5.7.0 e posterior do Amazon EMR. Especifica a ID de AMI de uma AMI personalizada a ser usada quando o Amazon EMR disponibiliza instâncias do Amazon EC2. Ele também pode ser usado em vez de ações de bootstrap para personalizar as configurações dos nós do cluster. Para obter mais informações, consulte o tópico referente no Guia de Gerenciamento do Amazon EMR. [Usar uma AMI personalizada](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html) | String | 
| EbsBlockDeviceConfig |  A configuração de um dispositivo de blocos do Amazon EBS solicitado que está associado ao grupo de instâncias. Inclui um número especificado dos volumes que serão associados a cada instância no grupo de instâncias. Inclui `volumesPerInstance` e `volumeSpecification`, em que:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/datapipeline/latest/DeveloperGuide/dp-object-emrcluster.html)  | Objeto de referência. Por exemplo “EbsBlockDeviceConfig”: \$1“ref”: “myEbsBlockDeviceConfig”\$1 | 
| emrManagedMasterSecurityGroupId | O identificador do grupo de segurança principal do cluster do Amazon EMR, que segue a forma sg-01XXXX6a. Para obter mais informações, consulte [Configurar grupos de segurança](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-groups.html) no Guia de gerenciamento do Amazon EMR. | String | 
| emrManagedSlaveSecurityGroupId | O identificador do grupo de segurança subordinado do cluster do Amazon EMR, que segue a forma sg-01XXXX6a. | String | 
| enableDebugging | Ativa a depuração no cluster do Amazon EMR. | String | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| hadoopSchedulerType | O tipo de programador do cluster. Os tipos válidos são: PARALLEL\$1FAIR\$1SCHEDULING, PARALLEL\$1CAPACITY\$1SCHEDULING e  DEFAULT\$1SCHEDULER. | Enumeração | 
| httpProxy | O host do proxy que os clientes utilizarão na conexão com serviços da AWS. | Objeto de referência, por exemplo, “HttpProxy”: \$1"ref”:” myHttpProxy Id "\$1 | 
| initTimeout | A quantidade de tempo de espera antes da inicialização do recurso.  | Período | 
| keyPair | O par de chaves do Amazon EC2 usado para fazer logon no nó principal do cluster do Amazon EMR. | String | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| masterInstanceBidPreço | O preço máximo de instância spot que você está disposto a pagar por instâncias do Amazon EC2. É um valor decimal entre 0 e 20,00, exclusivos. Especificado em dólares americanos (USD). A definição deste valor permite instâncias spot para o nó principal do cluster do Amazon EMR. Se uma sugestão de preço for especificada, o Amazon EMR usará instâncias spot para o grupo de instâncias. | String | 
| masterInstanceType | O tipo de instância do Amazon EC2 a ser usado no nó principal. Consulte [Instâncias do Amazon EC2 compatíveis com clusters do Amazon EMR](dp-emr-supported-instance-types.md). | String | 
| masterGroupConfiguration | A configuração para o cluster de grupo de instâncias principal do Amazon EMR. Esse parâmetro é aplicável apenas para a versão 4.0 do Amazon EMR e versões posteriores. | Objeto de referência. Por exemplo “configuration”: \$1“ref”: “myEmrConfigurationId”\$1 | 
| masterEbsConfiguration | A configuração para volumes do Amazon EBS que serão anexadas a cada um dos nós principais no grupo principal do cluster do Amazon EMR. Para obter mais informações, consulte [Tipos de instâncias que oferecem suporte à otimização do EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) no Guia do usuário do Amazon EC2. | Objeto de referência. Por exemplo “masterEbsConfiguration”: \$1“ref”: “myEbsConfiguration”\$1 | 
| maxActiveInstances | O número máximo de instâncias ativas simultâneas de um componente. Novas execuções não contam para o número de instâncias ativas. | Inteiro | 
| maximumRetries | Quantidade máxima de novas tentativas com falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência. Por exemplo: "onFail":\$1"ref":"myActionId"\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência. Por exemplo: "onLateAction":\$1"ref":"myActionId"\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, como "onSuccess":\$1"ref":"myActionId"\$1 | 
| parent | Pai do objeto atual a partir do qual os slots são herdados. | Objeto de referência. Por exemplo: "parent":\$1"ref":"myBaseObjectId"\$1 | 
| pipelineLogUri | O URI do Amazon S3 (como 's3://BucketName/Key/ ') para carregar registros para o pipeline. | String | 
| region | O código da região na qual a instância do cluster do Amazon EMR deve ser executada. Por padrão, o cluster é executado na mesma região que o pipeline. Você pode executar um cluster na mesma região como um conjunto de dados dependente.  | Enumeração | 
| releaseLabel | Rótulo de liberação para o cluster do EMR. | String | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| resourceRole | A função do IAM AWS Data Pipeline usada para criar o cluster do Amazon EMR. A função padrão é DataPipelineDefaultRole.  | String | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| perfil | O perfil do IAM passado para o Amazon EMR para criar nós de EC2. | String | 
| runsOn | Esse campo não é permitido neste objeto. | Objeto de referência. Por exemplo: "runsOn":\$1"ref":"myResourceId"\$1 | 
| securityConfiguration | O identificador da configuração de segurança do EMR que será aplicado ao cluster. Esse parâmetro é aplicável apenas para a versão 4.8.0 do Amazon EMR e versões posteriores. | String | 
| serviceAccessSecurityGroupId | O identificador do grupo de segurança de acesso ao serviço do cluster do Amazon EMR.  | String. Segue a forma sg-01XXXX6a. Por exemplo: sg-1234abcd. | 
| scheduleType | O tipo de programação permite que você especifique se os objetos na sua definição de pipeline devem ser programados no início ou final do intervalo. Os valores são: cron, ondemand e timeseries. A programação timeseries significa que as instâncias são programadas no final de cada intervalo. A programação cron significa que as instâncias são programadas no início de cada intervalo. Uma programação ondemand permite que você execute um pipeline uma vez por ativação. Você não precisa clonar nem recriar o pipeline para executá-lo novamente. Se você usar uma programação ondemand, ela precisará ser especificada no objeto padrão, além de ser a única scheduleType especificada para objetos no pipeline. Para usar pipelines ondemand, chame a operação ActivatePipeline para cada execução subsequente. | Enumeração | 
| subnetId | O identificador da subrede em que o cluster do Amazon EMR será executado. | String | 
| supportedProducts | Um parâmetro que instala software de terceiros em um cluster do Amazon EMR, por exemplo, uma distribuição de terceiros do Hadoop. | String | 
| taskInstanceBidPreço | O preço máximo de instância spot que você está disposto a pagar por instâncias do EC2. Um valor decimal entre 0 e 20,00, exclusive. Especificado em dólares americanos (USD). Se uma sugestão de preço for especificada, o Amazon EMR usará instâncias spot para o grupo de instâncias. | String | 
| taskInstanceCount | O número de nós de tarefa a serem usados no cluster do Amazon EMR. | Inteiro | 
| taskInstanceType | O tipo de instância do Amazon EC2 a ser usado nos nós de tarefa. | String | 
| taskGroupConfiguration | A configuração para o cluster de grupo de instâncias de tarefa do Amazon EMR. Esse parâmetro é aplicável apenas para a versão 4.0 do Amazon EMR e versões posteriores.  | Objeto de referência. Por exemplo “configuration”: \$1“ref”: “myEmrConfigurationId”\$1 | 
| taskEbsConfiguration | A configuração para volumes do Amazon EBS que serão anexadas a cada um dos nós de tarefa no grupo de tarefa do cluster do Amazon EMR. Para obter mais informações, consulte [Tipos de instâncias que oferecem suporte à otimização do EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html) no Guia do usuário do Amazon EC2. | Objeto de referência. Por exemplo “taskEbsConfiguration”: \$1“ref”: “myEbsConfiguration”\$1 | 
| terminateAfter | Encerrar o recurso após tantas horas. | Inteiro | 
| VolumeSpecification |   As especificações de volume do Amazon EBS, como tipo de volume, IOPS e tamanho em Gigibytes (GiB), que serão solicitadas para o volume do Amazon EBS anexado a uma instância do Amazon EC2 no cluster do Amazon EMR. O nó pode ser um nó core, principal ou de tarefa.  `VolumeSpecification` inclui: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/datapipeline/latest/DeveloperGuide/dp-object-emrcluster.html)  | Objeto de referência. Por exemplo “VolumeSpecification”: \$1“ref”: “myVolumeSpecification”\$1 | 
| useOnDemandOnLastAttempt | Na última tentativa de solicitar um recurso, faça um pedido para instâncias sob demanda em vez de instâncias spot. Isso garante que, se todas as tentativas anteriores falharam, a última tentativa não será interrompida.  | Booleano | 
| workerGroup | Campo não é permitido neste objeto. | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependências na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Logs da etapa do disponíveis somente nas tentativas de atividade do Amazon EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| @failureReason | O motivo da falha de recurso. | String | 
| @finishedTime | A hora em que esse objeto terminou a execução. | DateTime | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades do Amazon EMR. | String | 
| @healthStatus | O status de integridade do objeto que indica se houve sucesso ou falha na última instância concluída do objeto. | String | 
| @healthStatusFromInstanceId | ID do último objeto da instância concluído. | String | 
| @ healthStatusUpdated Hora | Hora em que o status de integridade foi atualizado pela última vez. | DateTime | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| @lastDeactivatedTime | A hora em que esse objeto foi desativado pela última vez. | DateTime | 
| @ latestCompletedRun Hora | Hora da última execução concluída. | DateTime | 
| @latestRunTime | Hora da última execução programada. | DateTime | 
| @nextRunTime | Hora da próxima execução a ser programada. | DateTime | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | O local de um objeto no ciclo de vida. Objetos de componentes dão origem a objetos de instância, que executam objetos de tentativa. | String | 

# Exemplos
<a name="emrcluster-example"></a>

Veja a seguir exemplos desse tipo de objeto.

**Topics**
+ [Executar um cluster do Amazon EMR com hadoopVersion](emrcluster-example-launch.md)
+ [Iniciar um cluster do Amazon EMR com rótulo de release emr-4.x ou superior](emrcluster-example-release-label.md)
+ [Instalar um software adicional no seu cluster do Amazon EMR](emrcluster-example-install-software.md)
+ [Desativar a criptografia do lado do servidor em versões 3.x](emrcluster-example1-disable-encryption.md)
+ [Desativar a criptografia do lado do servidor em versões 4.x](emrcluster-example2-disable-encryption.md)
+ [Configure o Hadoop KMS ACLs e crie zonas de criptografia no HDFS](emrcluster-example-hadoop-kms.md)
+ [Especificar funções personalizadas do IAM](emrcluster-example-custom-iam-roles.md)
+ [Use o EmrCluster recurso no AWS SDK para Java](emrcluster-example-java.md)
+ [Configurar um cluster do Amazon EMR em uma sub-rede privada](emrcluster-example-private-subnet.md)
+ [Anexe os volumes do EBS aos nós de cluster](emrcluster-example-ebs.md)

# Executar um cluster do Amazon EMR com hadoopVersion
<a name="emrcluster-example-launch"></a>

**Example**  <a name="example1"></a>
O exemplo a seguir inicia um cluster do Amazon EMR usando a AMI versão 1.0 e o Hadoop 0.20.  

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
  "hadoopVersion" : "0.20",
  "keyPair" : "my-key-pair",
  "masterInstanceType" : "m3.xlarge",
  "coreInstanceType" : "m3.xlarge",
  "coreInstanceCount" : "10",
  "taskInstanceType" : "m3.xlarge",
  "taskInstanceCount": "10",
  "bootstrapAction" : ["s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,arg1,arg2,arg3","s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop/configure-other-stuff,arg1,arg2"]
}
```

# Iniciar um cluster do Amazon EMR com rótulo de release emr-4.x ou superior
<a name="emrcluster-example-release-label"></a>

**Example**  
O exemplo a seguir inicia um cluster do Amazon EMR usando o campo `releaseLabel` mais recente:  

```
{
  "id" : "MyEmrCluster",
  "type" : "EmrCluster",
  "keyPair" : "my-key-pair",
  "masterInstanceType" : "m3.xlarge",
  "coreInstanceType" : "m3.xlarge",
  "coreInstanceCount" : "10",
  "taskInstanceType" : "m3.xlarge",
  "taskInstanceCount": "10",
  "releaseLabel": "emr-4.1.0",
  "applications": ["spark", "hive", "pig"],
  "configuration": {"ref":"myConfiguration"}  
}
```

# Instalar um software adicional no seu cluster do Amazon EMR
<a name="emrcluster-example-install-software"></a>

**Example**  <a name="example2"></a>
O `EmrCluster` fornece o campo `supportedProducts` que instala software de terceiros em um cluster do Amazon EMR. Por exemplo, permite a instalação de uma distribuição personalizada do Hadoop, como MapR. Ele aceita uma lista de argumentos separados por vírgulas para os softwares de terceiros lerem e operarem. O exemplo a seguir mostra como usar o campo `supportedProducts` de `EmrCluster` para criar um cluster de edição MapR M3 personalizado com o Karmasphere Analytics instalado e executar um objeto `EmrActivity` nele.  

```
{
    "id": "MyEmrActivity",
    "type": "EmrActivity",
    "schedule": {"ref": "ResourcePeriod"},
    "runsOn": {"ref": "MyEmrCluster"},
    "postStepCommand": "echo Ending job >> /mnt/var/log/stepCommand.txt",    
    "preStepCommand": "echo Starting job > /mnt/var/log/stepCommand.txt",
    "step": "/home/hadoop/contrib/streaming/hadoop-streaming.jar,-input,s3n://elasticmapreduce/samples/wordcount/input,-output, \
     hdfs:///output32113/,-mapper,s3n://elasticmapreduce/samples/wordcount/wordSplitter.py,-reducer,aggregate"
  },
  {    
    "id": "MyEmrCluster",
    "type": "EmrCluster",
    "schedule": {"ref": "ResourcePeriod"},
    "supportedProducts": ["mapr,--edition,m3,--version,1.2,--key1,value1","karmasphere-enterprise-utility"],
    "masterInstanceType": "m3.xlarge",
    "taskInstanceType": "m3.xlarge"
}
```

# Desativar a criptografia do lado do servidor em versões 3.x
<a name="emrcluster-example1-disable-encryption"></a>

**Example**  <a name="example3"></a>
Uma `EmrCluster` atividade com uma versão 2.x do Hadoop criada por AWS Data Pipeline habilita a criptografia do lado do servidor por padrão. Se você quiser desativar a criptografia do lado do servidor, precisará especificar uma ação de bootstrap na definição de objeto do cluster.  
O exemplo a seguir cria uma atividade `EmrCluster` com criptografia do lado do servidor desativada:  

```
{  
   "id":"NoSSEEmrCluster",
   "type":"EmrCluster",
   "hadoopVersion":"2.x",
   "keyPair":"my-key-pair",
   "masterInstanceType":"m3.xlarge",
   "coreInstanceType":"m3.large",
   "coreInstanceCount":"10",
   "taskInstanceType":"m3.large",
   "taskInstanceCount":"10",
   "bootstrapAction":["s3://Region.elasticmapreduce/bootstrap-actions/configure-hadoop,-e, fs.s3.enableServerSideEncryption=false"]
}
```

# Desativar a criptografia do lado do servidor em versões 4.x
<a name="emrcluster-example2-disable-encryption"></a>

**Example**  <a name="example4"></a>
Você precisa desativar a criptografia do lado do servidor usando um objeto `EmrConfiguration`.  
O exemplo a seguir cria uma atividade `EmrCluster` com criptografia do lado do servidor desativada:  

```
   {
      "name": "ReleaseLabelCluster",
      "releaseLabel": "emr-4.1.0",
      "applications": ["spark", "hive", "pig"],
      "id": "myResourceId",
      "type": "EmrCluster",
      "configuration": {
        "ref": "disableSSE"
      }
    },
    {
      "name": "disableSSE",
      "id": "disableSSE",
      "type": "EmrConfiguration",
      "classification": "emrfs-site",
      "property": [{
        "ref": "enableServerSideEncryption"
      }
      ]
    },
    {
      "name": "enableServerSideEncryption",
      "id": "enableServerSideEncryption",
      "type": "Property",
      "key": "fs.s3.enableServerSideEncryption",
      "value": "false"
    }
```

# Configure o Hadoop KMS ACLs e crie zonas de criptografia no HDFS
<a name="emrcluster-example-hadoop-kms"></a>

**Example**  <a name="example5"></a>
Os objetos a seguir são criados ACLs para o Hadoop KMS e criam zonas de criptografia e chaves de criptografia correspondentes no HDFS:  

```
{
      "name": "kmsAcls",
      "id": "kmsAcls",
      "type": "EmrConfiguration",
      "classification": "hadoop-kms-acls",
      "property": [
        {"ref":"kmsBlacklist"},
        {"ref":"kmsAcl"}
      ]
    },
    {
      "name": "hdfsEncryptionZone",
      "id": "hdfsEncryptionZone",
      "type": "EmrConfiguration",
      "classification": "hdfs-encryption-zones",
      "property": [
        {"ref":"hdfsPath1"},
        {"ref":"hdfsPath2"}
      ]
    },
    {
      "name": "kmsBlacklist",
      "id": "kmsBlacklist",
      "type": "Property",
      "key": "hadoop.kms.blacklist.CREATE",
      "value": "foo,myBannedUser"
    },
    {
      "name": "kmsAcl",
      "id": "kmsAcl",
      "type": "Property",
      "key": "hadoop.kms.acl.ROLLOVER",
      "value": "myAllowedUser"
    },
    {
      "name": "hdfsPath1",
      "id": "hdfsPath1",
      "type": "Property",
      "key": "/myHDFSPath1",
      "value": "path1_key"
    },
    {
      "name": "hdfsPath2",
      "id": "hdfsPath2",
      "type": "Property",
      "key": "/myHDFSPath2",
      "value": "path2_key"
    }
```

# Especificar funções personalizadas do IAM
<a name="emrcluster-example-custom-iam-roles"></a>

**Example**  <a name="example6"></a>
Por padrão, AWS Data Pipeline passa `DataPipelineDefaultRole` como função de serviço do Amazon EMR e `DataPipelineDefaultResourceRole` como perfil de instância do Amazon EC2 para criar recursos em seu nome. No entanto, você pode criar uma função de serviço personalizada do Amazon EMR e um perfil de instância personalizado e usá-los em vez disso. AWS Data Pipeline deve ter permissões suficientes para criar clusters usando o papel personalizado e você deve adicionar AWS Data Pipeline como uma entidade confiável.  
O objeto de exemplo a seguir especifica funções personalizadas para o cluster do Amazon EMR:  

```
{  
   "id":"MyEmrCluster",
   "type":"EmrCluster",
   "hadoopVersion":"2.x",
   "keyPair":"my-key-pair",
   "masterInstanceType":"m3.xlarge",
   "coreInstanceType":"m3.large",
   "coreInstanceCount":"10",
   "taskInstanceType":"m3.large",
   "taskInstanceCount":"10",
   "role":"emrServiceRole",
   "resourceRole":"emrInstanceProfile"
}
```

# Use o EmrCluster recurso no AWS SDK para Java
<a name="emrcluster-example-java"></a>

**Example**  <a name="example7"></a>
O exemplo a seguir mostra como usar `EmrCluster` e `EmrActivity` para criar um cluster do Amazon EMR 4.x para executar uma etapa Spark usando o SDK para Java:  

```
public class dataPipelineEmr4 {

  public static void main(String[] args) {
    
	AWSCredentials credentials = null;
	credentials = new ProfileCredentialsProvider("/path/to/AwsCredentials.properties","default").getCredentials();
	DataPipelineClient dp = new DataPipelineClient(credentials);
	CreatePipelineRequest createPipeline = new CreatePipelineRequest().withName("EMR4SDK").withUniqueId("unique");
	CreatePipelineResult createPipelineResult = dp.createPipeline(createPipeline);
	String pipelineId = createPipelineResult.getPipelineId();
    
	PipelineObject emrCluster = new PipelineObject()
	    .withName("EmrClusterObj")
	    .withId("EmrClusterObj")
	    .withFields(
			new Field().withKey("releaseLabel").withStringValue("emr-4.1.0"),
			new Field().withKey("coreInstanceCount").withStringValue("3"),
			new Field().withKey("applications").withStringValue("spark"),
			new Field().withKey("applications").withStringValue("Presto-Sandbox"),
			new Field().withKey("type").withStringValue("EmrCluster"),
			new Field().withKey("keyPair").withStringValue("myKeyName"),
			new Field().withKey("masterInstanceType").withStringValue("m3.xlarge"),
			new Field().withKey("coreInstanceType").withStringValue("m3.xlarge")        
			);
  
	PipelineObject emrActivity = new PipelineObject()
	    .withName("EmrActivityObj")
	    .withId("EmrActivityObj")
	    .withFields(
			new Field().withKey("step").withStringValue("command-runner.jar,spark-submit,--executor-memory,1g,--class,org.apache.spark.examples.SparkPi,/usr/lib/spark/lib/spark-examples.jar,10"),
			new Field().withKey("runsOn").withRefValue("EmrClusterObj"),
			new Field().withKey("type").withStringValue("EmrActivity")
			);
      
	PipelineObject schedule = new PipelineObject()
	    .withName("Every 15 Minutes")
	    .withId("DefaultSchedule")
	    .withFields(
			new Field().withKey("type").withStringValue("Schedule"),
			new Field().withKey("period").withStringValue("15 Minutes"),
			new Field().withKey("startAt").withStringValue("FIRST_ACTIVATION_DATE_TIME")
			);
      
	PipelineObject defaultObject = new PipelineObject()
	    .withName("Default")
	    .withId("Default")
	    .withFields(
			new Field().withKey("failureAndRerunMode").withStringValue("CASCADE"),
			new Field().withKey("schedule").withRefValue("DefaultSchedule"),
			new Field().withKey("resourceRole").withStringValue("DataPipelineDefaultResourceRole"),
			new Field().withKey("role").withStringValue("DataPipelineDefaultRole"),
			new Field().withKey("pipelineLogUri").withStringValue("s3://myLogUri"),
			new Field().withKey("scheduleType").withStringValue("cron")
			);     
      
	List<PipelineObject> pipelineObjects = new ArrayList<PipelineObject>();
    
	pipelineObjects.add(emrActivity);
	pipelineObjects.add(emrCluster);
	pipelineObjects.add(defaultObject);
	pipelineObjects.add(schedule);
    
	PutPipelineDefinitionRequest putPipelineDefintion = new PutPipelineDefinitionRequest()
	    .withPipelineId(pipelineId)
	    .withPipelineObjects(pipelineObjects);
    
	PutPipelineDefinitionResult putPipelineResult = dp.putPipelineDefinition(putPipelineDefintion);
	System.out.println(putPipelineResult);
    
	ActivatePipelineRequest activatePipelineReq = new ActivatePipelineRequest()
	    .withPipelineId(pipelineId);
	ActivatePipelineResult activatePipelineRes = dp.activatePipeline(activatePipelineReq);
	
      System.out.println(activatePipelineRes);
      System.out.println(pipelineId);
    
    }

}
```

# Configurar um cluster do Amazon EMR em uma sub-rede privada
<a name="emrcluster-example-private-subnet"></a>

**Example**  <a name="example8"></a>
Este exemplo inclui uma configuração que executa o cluster em uma sub-rede privada dentro de uma VPC. Para obter mais informações, consulte [Executar clusters do Amazon EMR em uma VPC](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-vpc-launching-job-flows.html) no *Guia de gerenciamento do Amazon EMR*. Essa configuração é opcional. Você pode usá-la em qualquer pipeline que usa um objeto `EmrCluster`.  
Para executar um cluster do Amazon EMR em uma subrede privada, especifique `SubnetId`, `emrManagedMasterSecurityGroupId`, `emrManagedSlaveSecurityGroupId` e `serviceAccessSecurityGroupId` na sua configuração de `EmrCluster`.  

```
{
  "objects": [
    {
      "output": {
        "ref": "S3BackupLocation"
      },
      "input": {
        "ref": "DDBSourceTable"
      },
      "maximumRetries": "2",
      "name": "TableBackupActivity",
      "step": "s3://dynamodb-emr-#{myDDBRegion}/emr-ddb-storage-handler/2.1.0/emr-ddb-2.1.0.jar,org.apache.hadoop.dynamodb.tools.DynamoDbExport,#{output.directoryPath},#{input.tableName},#{input.readThroughputPercent}",
      "id": "TableBackupActivity",
      "runsOn": {
        "ref": "EmrClusterForBackup"
      },
      "type": "EmrActivity",
      "resizeClusterBeforeRunning": "false"
    },
    {
      "readThroughputPercent": "#{myDDBReadThroughputRatio}",
      "name": "DDBSourceTable",
      "id": "DDBSourceTable",
      "type": "DynamoDBDataNode",
      "tableName": "#{myDDBTableName}"
    },
    {
      "directoryPath": "#{myOutputS3Loc}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}",
      "name": "S3BackupLocation",
      "id": "S3BackupLocation",
      "type": "S3DataNode"
    },
    {
      "name": "EmrClusterForBackup",
      "coreInstanceCount": "1",
      "taskInstanceCount": "1",
      "taskInstanceType": "m4.xlarge",
      "coreInstanceType": "m4.xlarge",
      "releaseLabel": "emr-4.7.0",
      "masterInstanceType": "m4.xlarge",
      "id": "EmrClusterForBackup",
      "subnetId": "#{mySubnetId}",
      "emrManagedMasterSecurityGroupId": "#{myMasterSecurityGroup}",
      "emrManagedSlaveSecurityGroupId": "#{mySlaveSecurityGroup}",
      "serviceAccessSecurityGroupId": "#{myServiceAccessSecurityGroup}",
      "region": "#{myDDBRegion}",
      "type": "EmrCluster",
      "keyPair": "user-key-pair"
    },
    {
      "failureAndRerunMode": "CASCADE",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "#{myPipelineLogUri}",
      "scheduleType": "ONDEMAND",
      "name": "Default",
      "id": "Default"
    }
  ],
  "parameters": [
    {
      "description": "Output S3 folder",
      "id": "myOutputS3Loc",
      "type": "AWS::S3::ObjectKey"
    },
    {
      "description": "Source DynamoDB table name",
      "id": "myDDBTableName",
      "type": "String"
    },
    {
      "default": "0.25",
      "watermark": "Enter value between 0.1-1.0",
      "description": "DynamoDB read throughput ratio",
      "id": "myDDBReadThroughputRatio",
      "type": "Double"
    },
    {
      "default": "us-east-1",
      "watermark": "us-east-1",
      "description": "Region of the DynamoDB table",
      "id": "myDDBRegion",
      "type": "String"
    }
  ],
  "values": {
     "myDDBRegion": "us-east-1",
      "myDDBTableName": "ddb_table",
      "myDDBReadThroughputRatio": "0.25",
      "myOutputS3Loc": "s3://s3_path",
      "mySubnetId": "subnet_id",
      "myServiceAccessSecurityGroup":  "service access security group",
      "mySlaveSecurityGroup": "slave security group",
      "myMasterSecurityGroup": "master security group",
      "myPipelineLogUri": "s3://s3_path"
  }
}
```

# Anexe os volumes do EBS aos nós de cluster
<a name="emrcluster-example-ebs"></a>

**Example**  <a name="example8"></a>
Você pode anexar volumes do EBS a qualquer tipo de nó no cluster do EMR no seu pipeline. Para anexar volumes do EBS aos nós, use `coreEbsConfiguration`, `masterEbsConfiguration` e `TaskEbsConfiguration` na sua configuração `EmrCluster`.   
Este exemplo de cluster do Amazon EMR usa volumes do Amazon EBS para seus nós central, principal e de tarefa. Para obter mais informações, consulte [Volumes de Amazon EBS no Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-storage.html) no *Guia de gerenciamento do Amazon EMR*.  
Essas configurações são opcionais. Você pode usá-las em qualquer pipeline que usa um objeto `EmrCluster`.  
No pipeline, clique na configuração do objeto `EmrCluster`, escolha **Configuração do EBS principal**, **Configuração do EBS básico** ou **Configuração do EBS de tarefas** e insira os detalhes de configuração semelhantes ao exemplo a seguir.  

```
{
  "objects": [
    {
      "output": {
        "ref": "S3BackupLocation"
      },
      "input": {
        "ref": "DDBSourceTable"
      },
      "maximumRetries": "2",
      "name": "TableBackupActivity",
      "step": "s3://dynamodb-emr-#{myDDBRegion}/emr-ddb-storage-handler/2.1.0/emr-ddb-2.1.0.jar,org.apache.hadoop.dynamodb.tools.DynamoDbExport,#{output.directoryPath},#{input.tableName},#{input.readThroughputPercent}",
      "id": "TableBackupActivity",
      "runsOn": {
        "ref": "EmrClusterForBackup"
      },
      "type": "EmrActivity",
      "resizeClusterBeforeRunning": "false"
    },
    {
      "readThroughputPercent": "#{myDDBReadThroughputRatio}",
      "name": "DDBSourceTable",
      "id": "DDBSourceTable",
      "type": "DynamoDBDataNode",
      "tableName": "#{myDDBTableName}"
    },
    {
      "directoryPath": "#{myOutputS3Loc}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}",
      "name": "S3BackupLocation",
      "id": "S3BackupLocation",
      "type": "S3DataNode"
    },
    {
      "name": "EmrClusterForBackup",
      "coreInstanceCount": "1",
      "taskInstanceCount": "1",
      "taskInstanceType": "m4.xlarge",
      "coreInstanceType": "m4.xlarge",
      "releaseLabel": "emr-4.7.0",
      "masterInstanceType": "m4.xlarge",
      "id": "EmrClusterForBackup",
      "subnetId": "#{mySubnetId}",
      "emrManagedMasterSecurityGroupId": "#{myMasterSecurityGroup}",
      "emrManagedSlaveSecurityGroupId": "#{mySlaveSecurityGroup}",
      "region": "#{myDDBRegion}",
      "type": "EmrCluster",
      "coreEbsConfiguration": {
        "ref": "EBSConfiguration"
      },
      "masterEbsConfiguration": {
        "ref": "EBSConfiguration"
      },
      "taskEbsConfiguration": {
        "ref": "EBSConfiguration"
      },
      "keyPair": "user-key-pair"
    },
    {
       "name": "EBSConfiguration",
        "id": "EBSConfiguration",
        "ebsOptimized": "true",
        "ebsBlockDeviceConfig" : [
            { "ref": "EbsBlockDeviceConfig" }
        ],
        "type": "EbsConfiguration"
    },
    {
        "name": "EbsBlockDeviceConfig",
        "id": "EbsBlockDeviceConfig",
        "type": "EbsBlockDeviceConfig",
        "volumesPerInstance" : "2",
        "volumeSpecification" : {
            "ref": "VolumeSpecification"
        }
    },
    {
      "name": "VolumeSpecification",
      "id": "VolumeSpecification",
      "type": "VolumeSpecification",
      "sizeInGB": "500",
      "volumeType": "io1",
      "iops": "1000"
    },
    {
      "failureAndRerunMode": "CASCADE",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "#{myPipelineLogUri}",
      "scheduleType": "ONDEMAND",
      "name": "Default",
      "id": "Default"
    }
  ],
  "parameters": [
    {
      "description": "Output S3 folder",
      "id": "myOutputS3Loc",
      "type": "AWS::S3::ObjectKey"
    },
    {
      "description": "Source DynamoDB table name",
      "id": "myDDBTableName",
      "type": "String"
    },
    {
      "default": "0.25",
      "watermark": "Enter value between 0.1-1.0",
      "description": "DynamoDB read throughput ratio",
      "id": "myDDBReadThroughputRatio",
      "type": "Double"
    },
    {
      "default": "us-east-1",
      "watermark": "us-east-1",
      "description": "Region of the DynamoDB table",
      "id": "myDDBRegion",
      "type": "String"
    }
  ],
  "values": {
     "myDDBRegion": "us-east-1",
      "myDDBTableName": "ddb_table",
      "myDDBReadThroughputRatio": "0.25",
      "myOutputS3Loc": "s3://s3_path",
      "mySubnetId": "subnet_id",
      "mySlaveSecurityGroup": "slave security group",
      "myMasterSecurityGroup": "master security group",
      "myPipelineLogUri": "s3://s3_path"
  }
}
```

## Consulte também
<a name="emrcluster-seealso"></a>
+ [EmrActivity](dp-object-emractivity.md)

# HttpProxy
<a name="dp-object-httpproxy"></a>

HttpProxy permite que você configure seu próprio proxy e faça com que o Task Runner acesse o AWS Data Pipeline serviço por meio dele. Você não precisa configurar um Task Runner em execução com essas informações.

## Exemplo de uma HttpProxy entrada TaskRunner
<a name="example9"></a>

A seguinte definição do pipeline mostra um objeto `HttpProxy`:

```
{
  "objects": [
    {
      "schedule": {
        "ref": "Once"
      },
      "pipelineLogUri": "s3://myDPLogUri/path",
      "name": "Default",
      "id": "Default"
    },
    {
      "name": "test_proxy",
      "hostname": "hostname",
      "port": "port",
      "username": "username",
      "*password": "password",
      "windowsDomain": "windowsDomain",
      "type": "HttpProxy",
      "id": "test_proxy",
    },
    {
      "name": "ShellCommand",
      "id": "ShellCommand",
      "runsOn": {
        "ref": "Resource"
      },
      "type": "ShellCommandActivity",
      "command": "echo 'hello world' "
    },
    {
      "period": "1 day",
      "startDateTime": "2013-03-09T00:00:00",
      "name": "Once",
      "id": "Once",
      "endDateTime": "2013-03-10T00:00:00",
      "type": "Schedule"
    },
    {
      "role": "dataPipelineRole",
      "httpProxy": {
        "ref": "test_proxy"
      },
      "actionOnResourceFailure": "retrynone",
      "maximumRetries": "0",
      "type": "Ec2Resource",
      "terminateAfter": "10 minutes",
      "resourceRole": "resourceRole",
      "name": "Resource",
      "actionOnTaskFailure": "terminate",
      "securityGroups": "securityGroups",
      "keyPair": "keyPair",
      "id": "Resource",
      "region": "us-east-1"
    }
  ],
  "parameters": []
}
```

## Sintaxe
<a name="httpproxy-slots"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| hostname | Host do proxy que os clientes utilizarão na conexão com os Serviços da AWS. | String | 
| porta | Porta do host do proxy que os clientes utilizarão na conexão com os Serviços da AWS. | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| \$1password | Senha para o proxy. | String | 
| s3 NoProxy | Desative o proxy HTTP ao se conectar com o Amazon S3 | Booleano | 
| username | Nome do usuário para o proxy. | String | 
| windowsDomain | O nome de domínio do Windows para o proxy NTLM. | String | 
| windowsWorkgroup | O nome do grupo de trabalho do Windows para o proxy NTLM. | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# Precondições
<a name="dp-object-preconditions"></a>

A seguir estão os objetos de AWS Data Pipeline pré-condição:

**Topics**
+ [O Dynamo existe DBData](dp-dynamodbdataexists.md)
+ [O Dynamo existe DBTable](dp-dynamodbtableexists.md)
+ [Existe](dp-object-exists.md)
+ [S3 KeyExists](dp-object-S3KeyExists.md)
+ [S3 PrefixNotEmpty](dp-object-s3prefixnotempty.md)
+ [ShellCommandPrecondition](dp-object-shellcommandprecondition.md)

# O Dynamo existe DBData
<a name="dp-dynamodbdataexists"></a>

 Uma precondição para verificar se os dados existem em uma tabela do DynamoDB. 

## Sintaxe
<a name="dp-dynamodbdataexists-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| perfil | Especifica a função a ser usada para executar a precondição. | String | 
| tableName | Tabela do DynamoDB para verificação. | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se configurada, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maximumRetries | Quantidade máxima de novas tentativas com falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| preconditionTimeout | O período inicial após o qual a precondição é marcada como "com falha" se ainda não tiver sido atendida. | Período | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| currentRetryCount | O número de vezes que a precondição foi testada nesta tentativa. | String | 
| emrStepLog | Registros da etapa do EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| lastRetryTime | Última vez em que a precondição foi testada nessa tentativa. | String | 
| nó | O nó para o qual esta precondição está sendo realizada. | Objeto de referência, por exemplo, “node”: \$1"ref”:” myRunnableObject Id "\$1 | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# O Dynamo existe DBTable
<a name="dp-dynamodbtableexists"></a>

 Uma precondição para verificar se a tabela do DynamoDB existe. 

## Sintaxe
<a name="dp-dynamodbtableexists-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| perfil | Especifica a função a ser usada para executar a precondição. | String | 
| tableName | Tabela do DynamoDB para verificação. | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se configurada, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maximumRetries | Quantidade máxima de novas tentativas com falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| preconditionTimeout | O período inicial após o qual a precondição é marcada como "com falha" se ainda não tiver sido atendida. | Período | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| currentRetryCount | O número de vezes que a precondição foi testada nesta tentativa. | String | 
| emrStepLog | Registros da etapa do EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| lastRetryTime | Última vez em que a precondição foi testada nessa tentativa. | String | 
| nó | O nó para o qual esta precondição está sendo realizada. | Objeto de referência, por exemplo, “node”: \$1"ref”:” myRunnableObject Id "\$1 | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# Existe
<a name="dp-object-exists"></a>

 Verifica se existe um objeto de nó de dados. 

**nota**  
Recomendamos que você use as precondições gerenciadas pelo sistema. Para obter mais informações, consulte [Precondições](dp-concepts-preconditions.md).

## Exemplo
<a name="exists-example"></a>

Veja a seguir um exemplo deste tipo de objeto. O objeto `InputData` faz referência a esse objeto, `Ready`, e a outro objeto que você definir no mesmo arquivo de definição de pipeline. `CopyPeriod` é um objeto `Schedule`.

```
{
  "id" : "InputData",
  "type" : "S3DataNode",
  "schedule" : { "ref" : "CopyPeriod" },
  "filePath" : "s3://amzn-s3-demo-bucket/InputData/#{@scheduledStartTime.format('YYYY-MM-dd-hh:mm')}.csv",
  "precondition" : { "ref" : "Ready" }
},
{
  "id" : "Ready",
  "type" : "Exists"
}
```

## Sintaxe
<a name="exists-syntax"></a>


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se configurada, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maximumRetries | Quantidade máxima de novas tentativas com falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| preconditionTimeout | O período inicial após o qual a precondição é marcada como "com falha" se ainda não tiver sido atendida. | Período | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Registros da etapa do EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| nó | O nó para o qual esta precondição está sendo realizada. | Objeto de referência, por exemplo, “node”: \$1"ref”:” myRunnableObject Id "\$1 | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

## Consulte também
<a name="exists-seealso"></a>
+ [ShellCommandPrecondition](dp-object-shellcommandprecondition.md)

# S3 KeyExists
<a name="dp-object-S3KeyExists"></a>

 Verifica se existe uma chave em um nó de dados do Amazon S3.

## Exemplo
<a name="dp-object-S3KeyExists-example"></a>

Veja a seguir um exemplo deste tipo de objeto. A precondição será acionada quando a chave, `s3://amzn-s3-demo-bucket/mykey`, referenciada pelo parâmetro `s3Key`, existir. 

```
{
"id" : "InputReady",
"type" : "S3KeyExists",
"role" : "test-role",
"s3Key" : "s3://amzn-s3-demo-bucket/mykey"
}
```

Você também pode usar `S3KeyExists` como uma precondição no segundo pipeline que aguarda a conclusão do primeiro pipeline. Para fazer isso:

1. Grave um arquivo no Amazon S3 ao final da conclusão do primeiro pipeline.

1. Crie uma precondição `S3KeyExists` no segundo pipeline.

## Sintaxe
<a name="S3KeyExists-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| perfil | Especifica a função a ser usada para executar a precondição. | String | 
| s3Key | A chave do Amazon S3. | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite antes de tentar concluir o trabalho remoto mais uma vez. Se configurada, uma atividade remota não concluída dentro do prazo definido após a inicialização poderá ser executada novamente. | Período | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maximumRetries | Número máximo de tentativas que são iniciadas em caso de falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| preconditionTimeout | O período inicial após o qual a precondição é marcada como "com falha" se ainda não tiver sido atendida. | Período | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se configurada, as atividades remotas sem progresso para o período especificado poderão ser consideradas como interrompidas e serão executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas tentativas sucessivas. | Período | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| currentRetryCount | O número de vezes que a precondição foi testada nesta tentativa. | String | 
| emrStepLog | Registros da etapa do EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| lastRetryTime | Última vez em que a precondição foi testada nessa tentativa. | String | 
| nó | O nó para o qual esta precondição está sendo realizada. | Objeto de referência, por exemplo, “node”: \$1"ref”:” myRunnableObject Id "\$1 | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

## Consulte também
<a name="S3KeyExists-seealso"></a>
+ [ShellCommandPrecondition](dp-object-shellcommandprecondition.md)

# S3 PrefixNotEmpty
<a name="dp-object-s3prefixnotempty"></a>

Uma precondição para verificar se os objetos do Amazon S3 com um determinado prefixo (representado como um URI) estão presentes.

## Exemplo
<a name="s3prefixnotempty-example"></a>

Veja a seguir um exemplo desse tipo de objeto usando campos obrigatórios, opcionais e de expressão.

```
{
  "id" : "InputReady",
  "type" : "S3PrefixNotEmpty",
  "role" : "test-role",
  "s3Prefix" : "#{node.filePath}"
}
```

## Sintaxe
<a name="s3prefixnotempty-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| perfil | Especifica a função a ser usada para executar a precondição. | String | 
| s3Prefix | O prefixo do Amazon S3 para verificar a existência de objetos. | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se configurada, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maximumRetries | Quantidade máxima de novas tentativas com falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| preconditionTimeout | O período inicial após o qual a precondição é marcada como "com falha" se ainda não tiver sido atendida. | Período | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| currentRetryCount | O número de vezes que a precondição foi testada nesta tentativa. | String | 
| emrStepLog | Registros da etapa do EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| lastRetryTime | Última vez em que a precondição foi testada nessa tentativa. | String | 
| nó | O nó para o qual esta precondição está sendo realizada. | Objeto de referência, por exemplo, “node”: \$1"ref”:” myRunnableObject Id "\$1 | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

## Consulte também
<a name="s3prefixnotempty-seealso"></a>
+ [ShellCommandPrecondition](dp-object-shellcommandprecondition.md)

# ShellCommandPrecondition
<a name="dp-object-shellcommandprecondition"></a>

 Um comando Unix/Linux shell que pode ser executado como condição prévia. 

## Exemplo
<a name="shellcommandprecondition-example"></a>

Veja a seguir um exemplo deste tipo de objeto.

```
{
  "id" : "VerifyDataReadiness",
  "type" : "ShellCommandPrecondition",
  "command" : "perl check-data-ready.pl"
}
```

## Sintaxe
<a name="shellcommandprecondition-syntax"></a>


****  

| Grupo obrigatório (um dos seguintes é obrigatório) | Description | Tipo de slot | 
| --- | --- | --- | 
| command | O comando a ser executado. Este valor e quaisquer parâmetros associados precisam funcionar no ambiente do qual você está executando o Task Runner. | String | 
| scriptUri | Um caminho de URI do Amazon S3 para um arquivo do qual você fará download e executará como um comando shell. Apenas um campo de comando ou scriptUri deve estar presente. scriptUri não pode usar parâmetros, portanto, em vez disso, use o comando. | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| attemptStatus | Status mais recente da atividade remota. | String | 
| attemptTimeout | Tempo limite para conclusão do trabalho remoto. Se configurada, uma atividade remota não concluída dentro do prazo definido poderá ser executada novamente. | Período | 
| failureAndRerunModo | Descreve o comportamento do nó do consumidor quando as dependências apresentam falhas ou são executadas novamente. | Enumeração | 
| lateAfterTimeout | O tempo decorrido após o início do pipeline no qual o objeto deve ser concluído. Ele é acionado somente quando o tipo de programação não está definido como ondemand. | Período | 
| maximumRetries | Quantidade máxima de novas tentativas com falha. | Inteiro | 
| onFail | Uma ação a ser executada quando há falha no objeto atual. | Objeto de referência, por exemplo, “onFail”: \$1"ref”:” myActionId “\$1 | 
| onLateAction | Ações que devem ser acionadas se um objeto ainda não foi agendado ou não foi concluído. | Objeto de referência, por exemplo, "onLateAction“: \$1" ref”:” myActionId “\$1 | 
| onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, “onSuccess”: \$1"ref”:” myActionId “\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| preconditionTimeout | O período inicial após o qual a precondição é marcada como "com falha" se ainda não tiver sido atendida. | Período | 
| reportProgressTimeout | Tempo limite para as chamadas sucessivas de trabalho remoto para reportProgress. Se definidas, as atividades remotas sem progresso para o período especificado podem ser consideradas como interrompidas e executadas novamente. | Período | 
| retryDelay | A duração do tempo limite entre duas novas tentativas. | Período | 
| scriptArgument | Argumento a ser passado para o script de shell | String | 
| stderr | O caminho do Amazon S3 que recebe mensagens de erro do sistema redirecionadas do comando. Se você usar o campo runsOn, ele precisará ser um caminho do Amazon S3 devido à natureza transitória do recurso que está executando sua atividade. No entanto, se você especificar o campo workerGroup, poderá usar um caminho de arquivo local. | String | 
| stdout | O caminho do Amazon S3 que recebe saídas redirecionadas do comando. Se você usar o campo runsOn, ele precisará ser um caminho do Amazon S3 devido à natureza transitória do recurso que está executando sua atividade. No entanto, se você especificar o campo workerGroup, poderá usar um caminho de arquivo local. | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @activeInstances | Lista dos objetos da instância ativa agendados no momento. | Objeto de referência, por exemplo, “ActiveInstances”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @actualEndTime | Hora em que a execução deste objeto foi concluída. | DateTime | 
| @actualStartTime | Hora em que a execução deste objeto foi iniciada. | DateTime | 
| cancellationReason | O motivo do cancelamento, se esse objeto foi cancelado. | String | 
| @cascadeFailedOn | Descrição da cadeia de dependência na qual o objeto apresentou falha. | Objeto de referência, por exemplo, "cascadeFailedOn“: \$1" ref”:” myRunnableObject Id "\$1 | 
| emrStepLog | Registros da etapa do EMR disponíveis somente nas tentativas de atividade do EMR. | String | 
| errorId | O ID do erro se esse objeto apresentou falha. | String | 
| errorMessage | A mensagem de erro se esse objeto apresentou falha. | String | 
| errorStackTrace | O rastreamento de pilha com erro se esse objeto apresentou falha. | String | 
| hadoopJobLog | Registos de trabalho do Hadoop disponíveis nas tentativas de atividades baseadas em EMR. | String | 
| hostname | O nome do host do cliente que capturou a tentativa da tarefa. | String | 
| nó | O nó para o qual esta precondição está sendo realizada. | Objeto de referência, por exemplo, “node”: \$1"ref”:” myRunnableObject Id "\$1 | 
| reportProgressTime | A última vez que a atividade remota relatou progresso. | DateTime | 
| @scheduledEndTime | Horário de término da programação para o objeto. | DateTime | 
| @scheduledStartTime | Horário de início da programação para o objeto. | DateTime | 
| @status | O status deste objeto. | String | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 
| @waitingOn | Descrição da lista de dependências em que este objeto está aguardando. | Objeto de referência, por exemplo, “waitingOn”: \$1"ref”:” myRunnableObject Id "\$1 | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

## Consulte também
<a name="shellcommandprecondition-seealso"></a>
+ [ShellCommandActivity](dp-object-shellcommandactivity.md)
+ [Existe](dp-object-exists.md)

# Bancos de dados
<a name="dp-object-databases"></a>

A seguir estão os objetos do AWS Data Pipeline banco de dados:

**Topics**
+ [JdbcDatabase](dp-object-jdbcdatabase.md)
+ [RdsDatabase](dp-object-rdsdatabase.md)
+ [RedshiftDatabase](dp-object-redshiftdatabase.md)

# JdbcDatabase
<a name="dp-object-jdbcdatabase"></a>

Define um banco de dados JDBC.

## Exemplo
<a name="jdbcdatabase-example"></a>

Veja a seguir um exemplo deste tipo de objeto.

```
{
  "id" : "MyJdbcDatabase",
  "type" : "JdbcDatabase",
  "connectionString" : "jdbc:redshift://hostname:portnumber/dbname",
  "jdbcDriverClass" : "com.amazon.redshift.jdbc41.Driver",
  "jdbcDriverJarUri" : "s3://redshift-downloads/drivers/RedshiftJDBC41-1.1.6.1006.jar",
  "username" : "user_name",
  "*password" : "my_password"
}
```

## Sintaxe
<a name="jdbcdatabase-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| connectionString | A string de conexão JDBC para acessar o banco de dados. | String | 
| jdbcDriverClass | A classe de driver a ser carregada antes de estabelecer a conexão JDBC. | String | 
| \$1password | A senha a ser informada. | String | 
| username | O nome de usuário a ser informado ao se conectar com o banco de dados. | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| databaseName | Nome do banco de dados lógico para se conectar | String | 
| jdbcDriverJarUri | O local no Amazon S3 do arquivo JAR do driver JDBC usado para se conectar ao banco de dados. O AWS Data Pipeline precisa ter permissão para ler esse arquivo JAR. | String | 
| jdbcProperties | Pares da forma A=B que serão definidos como propriedades em conexões JDBC para este banco de dados. | String | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# RdsDatabase
<a name="dp-object-rdsdatabase"></a>

Define um banco de dados do Amazon RDS.

**nota**  
RdsDatabase não é compatível com Aurora. Em vez disso, use [JdbcDatabase](dp-object-jdbcdatabase.md) para Aurora.

## Exemplo
<a name="rdsdatabase-example"></a>

Veja a seguir um exemplo deste tipo de objeto.

```
{
  "id" : "MyRdsDatabase",
  "type" : "RdsDatabase",
  "region" : "us-east-1",
  "username" : "user_name",
  "*password" : "my_password",
  "rdsInstanceId" : "my_db_instance_identifier"
}
```

Para o mecanismo da Oracle, o campo `jdbcDriverJarUri` é necessário, e você pode especificar o seguinte driver: `http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html`. Para o mecanismo do SQL Server, o campo `jdbcDriverJarUri` é necessário, e você pode especificar o seguinte driver: `https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774`. Para os mecanismos do MySQL e PostgreSQL, o campo `jdbcDriverJarUri` é opcional.

## Sintaxe
<a name="rdsdatabase-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| \$1password | A senha a ser informada. | String | 
| rdsInstanceId | A propriedade DBInstanceIdentifier da instância de banco de dados. | String | 
| username | O nome de usuário a ser informado ao se conectar com o banco de dados. | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| databaseName | Nome do banco de dados lógico para se conectar | String | 
| jdbcDriverJarUri | O local no Amazon S3 do arquivo JAR do driver JDBC usado para se conectar ao banco de dados. O AWS Data Pipeline precisa ter permissão para ler esse arquivo JAR. Para os mecanismos MySQL e PostgreSQL, o driver padrão é usado se este campo não for especificado, mas você pode substituir o padrão usando este campo. Para mecanismos Oracle e SQL Server, este campo é obrigatório. | String | 
| jdbcProperties | Pares da forma A=B que serão definidos como propriedades em conexões JDBC para este banco de dados. | String | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| region | O código da região na qual o banco de dados está. Por exemplo, us-east-1. | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# RedshiftDatabase
<a name="dp-object-redshiftdatabase"></a>

Define um banco de dados do Amazon Redshift. O `RedshiftDatabase` representa as propriedades do banco de dados usado pelo seu pipeline.

## Exemplo
<a name="redshiftdatabase-example"></a>

Veja a seguir um exemplo deste tipo de objeto.

```
{
  "id" : "MyRedshiftDatabase",
  "type" : "RedshiftDatabase",
  "clusterId" : "myRedshiftClusterId",
  "username" : "user_name",
  "*password" : "my_password",
  "databaseName" : "database_name"
}
```

Por padrão, o objeto usa o driver Postgres, que exige o campo `clusterId`. Para usar o driver do Amazon Redshift, especifique a string de conexão do banco de dados do Amazon Redshift no console do Amazon Redshift (inicia com "jdbc:redshift:") no campo `connectionString`.

## Sintaxe
<a name="redshiftdatabase-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| \$1password | A senha a ser informada. | String | 
| username | O nome de usuário a ser informado ao se conectar com o banco de dados. | String | 

 


****  

| Grupo obrigatório (um dos seguintes é obrigatório) | Description | Tipo de slot | 
| --- | --- | --- | 
| clusterId | O identificador fornecido pelo usuário quando o cluster do Amazon Redshift foi criado. Por exemplo, se o endpoint para o cluster do Amazon Redshift for mydb.example.us-east-1.redshift.amazonaws.com, o identificador correto será mydb. No console do Amazon Redshift, você pode obter este valor no identificador ou no nome do cluster. | String | 
| connectionString | O endpoint JDBC para se conectar a uma instância do Amazon Redshift pertencente a uma conta que não seja a do pipeline. Não é possível especificar ambos connectionString e clusterId. | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| databaseName | Nome do banco de dados lógico para se conectar. | String | 
| jdbcProperties | Pares da forma A=B que serão definidos como propriedades em conexões JDBC para este banco de dados. | String | 
| parent | Pai do objeto atual a partir do qual os slots são herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| region | O código da região na qual o banco de dados está. Por exemplo, us-east-1. | Enumeração | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# Formatos de dados
<a name="dp-object-dataformats"></a>

A seguir estão os objetos AWS Data Pipeline de formato de dados:

**Topics**
+ [Formatos de dados CSV](dp-object-csv.md)
+ [Formato de dados personalizado](dp-object-custom.md)
+ [Formato Dynamo DBData](dp-object-dynamodbdataformat.md)
+ [Dínamo DBExport DataFormat](dp-object-dynamodbexportdataformat.md)
+ [RegEx Formato de dados](dp-object-regex.md)
+ [Formatos de dados TSV](dp-object-tsv.md)

# Formatos de dados CSV
<a name="dp-object-csv"></a>

Um formato de dados delimitado por vírgulas em que o separador de colunas é a vírgula e o separador de registros é o caractere de nova linha.

## Exemplo
<a name="csv-example"></a>

Veja a seguir um exemplo deste tipo de objeto. 

```
{
  "id" : "MyOutputDataType",
  "type" : "CSV",
  "column" : [
    "Name STRING",
    "Score INT",
    "DateOfBirth TIMESTAMP"
  ]
}
```

## Sintaxe
<a name="csv-syntax"></a>


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| column | Nome da coluna com o tipo dos dados especificado por campo para os dados descritos por esse nó de dados. Ex: nome de host STRING para vários valores. Use nomes de colunas e tipos de dados separados por um espaço. | String | 
| escapeChar | Um caractere, por exemplo"\$1", que instrui o analisador para ignorar o próximo caractere. | String | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# Formato de dados personalizado
<a name="dp-object-custom"></a>

Um formato de dados personalizado definido pela combinação de um determinado separador de colunas, separador de registros e caractere de escape.

## Exemplo
<a name="custom-example"></a>

Veja a seguir um exemplo deste tipo de objeto. 

```
{
  "id" : "MyOutputDataType",
  "type" : "Custom",
  "columnSeparator" : ",",
  "recordSeparator" : "\n",
  "column" : [
    "Name STRING",
    "Score INT",
    "DateOfBirth TIMESTAMP"
  ]
}
```

## Sintaxe
<a name="custom-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| columnSeparator | Um caractere que indica o fim de uma coluna em um arquivo de dados. | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| column | Nome da coluna com o tipo dos dados especificado por campo para os dados descritos por esse nó de dados. Ex: nome de host STRING para vários valores. Use nomes de colunas e tipos de dados separados por um espaço. | String | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| recordSeparator | Um caractere que indica o fim de uma linha em um arquivo de dados, por exemplo "\$1n". Há suporte apenas para caracteres únicos. | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# Formato Dynamo DBData
<a name="dp-object-dynamodbdataformat"></a>

Aplica um esquema a uma tabela do DynamoDB para que ela possa ser acessada por uma consulta do Hive. O `DynamoDBDataFormat` é usado como um objeto `HiveActivity` e uma entrada e saída `DynamoDBDataNode`. O `DynamoDBDataFormat` exige que você especifique todas as colunas na consulta do Hive. Para ter mais flexibilidade de especificar certas colunas em uma consulta do Hive ou receber suporte para o Amazon S3, consulte [Dínamo DBExport DataFormat](dp-object-dynamodbexportdataformat.md).

**nota**  
Os booleanos do tipos DynamoDB não são mapeados para os tipos booleanos do Hive. No entanto, é possível mapear valores de 0 ou 1 inteiros do DynamoDB para os tipos booleanos do Hive.

## Exemplo
<a name="dynamodbdataformat-example"></a>

O exemplo a seguir mostra como usar `DynamoDBDataFormat` para atribuir um esquema a uma entrada `DynamoDBDataNode`, permitindo que um objeto `HiveActivity` acesse os dados por colunas nomeadas e copie os dados para uma saída `DynamoDBDataNode`. 

```
{
  "objects": [
    {
      "id" : "Exists.1",
      "name" : "Exists.1",
      "type" : "Exists"
    },
    {
      "id" : "DataFormat.1",
      "name" : "DataFormat.1",
      "type" : "DynamoDBDataFormat",
      "column" : [ 
         "hash STRING", 
        "range STRING" 
      ]
    },
    {
      "id" : "DynamoDBDataNode.1",
      "name" : "DynamoDBDataNode.1",
      "type" : "DynamoDBDataNode",
      "tableName" : "$INPUT_TABLE_NAME",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.1" }
    },
    {
      "id" : "DynamoDBDataNode.2",
      "name" : "DynamoDBDataNode.2",
      "type" : "DynamoDBDataNode",
      "tableName" : "$OUTPUT_TABLE_NAME",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.1" }
    },
    {
      "id" : "EmrCluster.1",
      "name" : "EmrCluster.1",
      "type" : "EmrCluster",
      "schedule" : { "ref" : "ResourcePeriod" },
      "masterInstanceType" : "m1.small",
      "keyPair" : "$KEYPAIR"
    },
    {
      "id" : "HiveActivity.1",
      "name" : "HiveActivity.1",
      "type" : "HiveActivity",
      "input" : { "ref" : "DynamoDBDataNode.1" },
      "output" : { "ref" : "DynamoDBDataNode.2" },
      "schedule" : { "ref" : "ResourcePeriod" },
      "runsOn" : { "ref" : "EmrCluster.1" },
      "hiveScript" : "insert overwrite table ${output1} select * from ${input1} ;"
    },
    {
      "id" : "ResourcePeriod",
      "name" : "ResourcePeriod",
      "type" : "Schedule",
      "period" : "1 day",
      "startDateTime" : "2012-05-04T00:00:00",
      "endDateTime" : "2012-05-05T00:00:00"
    }
  ]
}
```

## Sintaxe
<a name="dynamodbdataformat-syntax"></a>


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| column | O nome da coluna com o tipo dos dados especificado por campo para os dados descritos por esse nó de dados. Por exemplo, .hostname STRING Para vários valores, use nomes de colunas e tipos de dados separados por um espaço. | String | 
| parent | O pai do objeto atual do qual os slots serão herdados. | Objeto de referência, como “parent”: \$1"ref”:” myBaseObject Id "\$1 | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @version | A versão do pipeline usada para criar o objeto. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | O erro ao descrever o objeto malformado. | String | 
| @pipelineId | O ID do pipeline ao qual esse objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# Dínamo DBExport DataFormat
<a name="dp-object-dynamodbexportdataformat"></a>

Aplica um esquema a uma tabela do DynamoDB para que ela possa ser acessada por uma consulta do Hive. Use `DynamoDBExportDataFormat` com um objeto `HiveCopyActivity` e a entrada e a saída `DynamoDBDataNode` ou `S3DataNode`. O `DynamoDBExportDataFormat` apresenta os seguintes benefícios: 
+ Fornece suporte tanto para o DynamoDB quanto para o Amazon S3
+ Permite que você filtre dados por determinadas colunas na sua consulta do Hive
+ Exporta todos os atributos do DynamoDB mesmo que você tenha um esquema esparso

**nota**  
Os booleanos do tipos DynamoDB não são mapeados para os tipos booleanos do Hive. No entanto, é possível mapear valores de 0 ou 1 inteiros do DynamoDB para os tipos booleanos do Hive.

## Exemplo
<a name="dynamodbexportdataformat-example"></a>

O exemplo a seguir mostra como usar `HiveCopyActivity` e `DynamoDBExportDataFormat` para copiar dados de um `DynamoDBDataNode` para outro ao aplicar filtros com base em um time stamp.

```
{
  "objects": [
    {
      "id" : "DataFormat.1",
      "name" : "DataFormat.1",
      "type" : "DynamoDBExportDataFormat",
      "column" : "timeStamp BIGINT"
    },
    {
      "id" : "DataFormat.2",
      "name" : "DataFormat.2",
      "type" : "DynamoDBExportDataFormat"
    },
    {
      "id" : "DynamoDBDataNode.1",
      "name" : "DynamoDBDataNode.1",
      "type" : "DynamoDBDataNode",
      "tableName" : "item_mapped_table_restore_temp",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.1" }
    },
    {
      "id" : "DynamoDBDataNode.2",
      "name" : "DynamoDBDataNode.2",
      "type" : "DynamoDBDataNode",
      "tableName" : "restore_table",
      "region" : "us_west_1",
      "schedule" : { "ref" : "ResourcePeriod" },
      "dataFormat" : { "ref" : "DataFormat.2" }
    },
    {
      "id" : "EmrCluster.1",
      "name" : "EmrCluster.1",
      "type" : "EmrCluster",
      "schedule" : { "ref" : "ResourcePeriod" },
      "masterInstanceType" : "m1.xlarge",
      "coreInstanceCount" : "4"
    },
    {
      "id" : "HiveTransform.1",
      "name" : "Hive Copy Transform.1",
      "type" : "HiveCopyActivity",
      "input" : { "ref" : "DynamoDBDataNode.1" },
      "output" : { "ref" : "DynamoDBDataNode.2" },
      "schedule" : { "ref" : "ResourcePeriod" },
      "runsOn" : { "ref" : "EmrCluster.1" },
      "filterSql" : "`timeStamp` > unix_timestamp(\"#{@scheduledStartTime}\", \"yyyy-MM-dd'T'HH:mm:ss\")"
    },
    {
      "id" : "ResourcePeriod",
      "name" : "ResourcePeriod",
      "type" : "Schedule",
      "period" : "1 Hour",
      "startDateTime" : "2013-06-04T00:00:00",
      "endDateTime" : "2013-06-04T01:00:00"
    }
  ]
}
```

## Sintaxe
<a name="dynamodbexportdataformat-syntax"></a>


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| column | Nome da coluna com o tipo dos dados especificado por campo para os dados descritos por esse nó de dados. Ex: hostname STRING | String | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# RegEx Formato de dados
<a name="dp-object-regex"></a>

Um formato de dados personalizado definido por uma expressão regular.

## Exemplo
<a name="regex-example"></a>

Veja a seguir um exemplo deste tipo de objeto. 

```
{
  "id" : "MyInputDataType",
  "type" : "RegEx",
  "inputRegEx" : "([^ ]*) ([^ ]*) ([^ ]*) (-|\\[[^\\]]*\\]) ([^ \"]*|\"[^\"]*\") (-|[0-9]*) (-|[0-9]*)(?: ([^ \"]*|\"[^\"]*\") ([^ \"]*|\"[^\"]*\"))?",
  "outputFormat" : "%1$s %2$s %3$s %4$s %5$s %6$s %7$s %8$s %9$s",
  "column" : [
    "host STRING",
    "identity STRING",
    "user STRING",
    "time STRING",
    "request STRING",
    "status STRING",
    "size STRING",
    "referer STRING",
    "agent STRING"
  ]
}
```

## Sintaxe
<a name="regex-syntax"></a>


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| column | Nome da coluna com o tipo dos dados especificado por campo para os dados descritos por esse nó de dados. Ex: nome de host STRING para vários valores. Use nomes de colunas e tipos de dados separados por um espaço. | String | 
| inputRegEx | A expressão regular para analisar um arquivo de entrada do S3. inputRegEx fornece uma maneira de recuperar colunas de dados relativamente não estruturados em um arquivo. | String | 
| outputFormat | Os campos da coluna recuperados por inputRegEx, mas referenciados como %1\$1s %2\$1s usando a sintaxe do formatador Java. | String | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# Formatos de dados TSV
<a name="dp-object-tsv"></a>

Um formato de dados delimitado por vírgulas em que o separador de colunas é o caractere de tabulação e o separador de registros é o caractere de nova linha.

## Exemplo
<a name="tsv-example"></a>

Veja a seguir um exemplo deste tipo de objeto. 

```
{
  "id" : "MyOutputDataType",
  "type" : "TSV",
  "column" : [
    "Name STRING",
    "Score INT",
    "DateOfBirth TIMESTAMP"
  ]
}
```

## Sintaxe
<a name="tsv-syntax"></a>


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| column | Nome da coluna e o tipo dos dados descritos por esse nó de dados. Por exemplo "Name STRING" indica uma coluna chamada Name com campos para tipo de dados STRING. Separe vários pares de nome da coluna e tipo de dados com vírgulas (como exibido no exemplo). | String | 
| columnSeparator | O caractere que separa os campos em uma coluna de campos na próxima coluna. Assume '\$1t' como padrão. | String | 
| escapeChar | Um caractere, por exemplo"\$1", que instrui o analisador para ignorar o próximo caractere. | String | 
| parent | Pai do objeto atual a partir do qual os slots são herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| recordSeparator | O caractere que separa registros. Assume '\$1n' como padrão. | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# Ações
<a name="dp-object-actions"></a>

A seguir estão os objetos de AWS Data Pipeline ação:

**Topics**
+ [SnsAlarm](dp-object-snsalarm.md)
+ [Encerrar](dp-object-terminate.md)

# SnsAlarm
<a name="dp-object-snsalarm"></a>

 Envia uma mensagem de notificação do Amazon SNS quando uma atividade falha ou é concluída com êxito. 

## Exemplo
<a name="snsalarm-example"></a>

Veja a seguir um exemplo deste tipo de objeto. Os valores de `node.input` e `node.output` são retirados do nó de dados ou da atividade que faz referência a este objeto no seu respectivo campo `onSuccess`. 

```
{
  "id" : "SuccessNotify",
  "name" : "SuccessNotify",
  "type" : "SnsAlarm",
  "topicArn" : "arn:aws:sns:us-east-1:28619EXAMPLE:ExampleTopic",
  "subject" : "COPY SUCCESS: #{node.@scheduledStartTime}",
  "message" : "Files were copied from #{node.input} to #{node.output}."
}
```

## Sintaxe
<a name="snsalarm-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| message | O texto do corpo da notificação do Amazon SNS. | String | 
| perfil | A função do IAM a ser usada para criar o alarme do Amazon SNS. | String | 
| subject | A linha de assunto da mensagem de notificação do Amazon SNS. | String | 
| topicArn | O ARN do tópico do Amazon SNS de destino para a mensagem. | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| nó | O nó para o qual esta ação está sendo realizada. | Objeto de referência, por exemplo, “node”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# Encerrar
<a name="dp-object-terminate"></a>

Uma ação para acionar o cancelamento de uma atividade, recurso ou nó de dados pendente ou inacabado. AWS Data Pipeline tenta colocar a atividade, o recurso ou o nó de dados no estado CANCELADO se ele não começar pelo `lateAfterTimeout` valor. 

Não é possível encerrar ações que incluem os recursos `onSuccess`, `OnFail` ou `onLateAction`.

## Exemplo
<a name="terminate-example"></a>

Veja a seguir um exemplo deste tipo de objeto. Neste exemplo, o campo `onLateAction` de `MyActivity` contém uma referência para a ação `DefaultAction1`. Ao fornecer uma ação para `onLateAction`, você também deve fornecer um valor `lateAfterTimeout` para indicar o período decorrido desde o início programado do pipeline, depois do qual a atividade será considerada como atrasada.

```
{
  "name" : "MyActivity",
  "id" : "DefaultActivity1",
  "schedule" : {
    "ref" : "MySchedule"
  },
  "runsOn" : {
    "ref" : "MyEmrCluster"
  },
  "lateAfterTimeout" : "1 Hours",
  "type" : "EmrActivity",
  "onLateAction" : {
    "ref" : "DefaultAction1"
  },
  "step" : [
    "s3://amzn-s3-demo-bucket/myPath/myStep.jar,firstArg,secondArg",
    "s3://amzn-s3-demo-bucket/myPath/myOtherStep.jar,anotherArg"
  ]
},
{
  "name" : "TerminateTasks",
  "id" : "DefaultAction1",
  "type" : "Terminate"
}
```

## Sintaxe
<a name="terminate-syntax"></a>


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| parent | Pai do objeto atual a partir do qual os slots são herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| nó | O nó para o qual esta ação está sendo realizada. | Objeto de referência, por exemplo “node”: \$1"ref”:” myRunnableObject Id "\$1 | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# Agendamento
<a name="dp-object-schedule"></a>

Define o tempo de um evento programado, como quando uma atividade é executada.

**nota**  
Quando o horário de início de um cronograma está no passado, AWS Data Pipeline preenche seu pipeline e começa a programar as execuções imediatamente, começando no horário de início especificado. Para testes/desenvolvimento, use um intervalo relativamente curto. Caso contrário, AWS Data Pipeline tente enfileirar e programar todas as execuções do seu pipeline para esse intervalo. AWS Data Pipeline tenta evitar preenchimentos acidentais se o componente da tubulação `scheduledStartTime` for anterior a 1 dia atrás, bloqueando a ativação da tubulação.

## Exemplos
<a name="schedule-example"></a>

Veja a seguir um exemplo deste tipo de objeto. Ele define uma programação de hora em hora com início em 00:00:00 de 2012-09-01 e término em 00:00:00 de 2012-10-01. O primeiro período termina às 01:00:00 de 2012-09-01.

```
{
  "id" : "Hourly",
  "type" : "Schedule",
  "period" : "1 hours",
  "startDateTime" : "2012-09-01T00:00:00",
  "endDateTime" : "2012-10-01T00:00:00"
}
```

O pipeline a seguir é iniciado em `FIRST_ACTIVATION_DATE_TIME` e executado de hora em hora até 22:00:00 de 2014-04-25.

```
{
     "id": "SchedulePeriod",
     "name": "SchedulePeriod",
     "startAt": "FIRST_ACTIVATION_DATE_TIME",
     "period": "1 hours",
     "type": "Schedule",
     "endDateTime": "2014-04-25T22:00:00"
   }
```

O pipeline a seguir tem início em `FIRST_ACTIVATION_DATE_TIME`, é executado de hora em hora e concluído após três ocorrências.

```
{
     "id": "SchedulePeriod",
     "name": "SchedulePeriod",
     "startAt": "FIRST_ACTIVATION_DATE_TIME",
     "period": "1 hours",
     "type": "Schedule",
     "occurrences": "3"
   }
```

O pipeline a seguir tem início às 22:00:00 de 2014-04-25, é executado de hora em hora e concluído após três ocorrências.

```
{
     "id": "SchedulePeriod",
     "name": "SchedulePeriod",
     "startDateTime": "2014-04-25T22:00:00",
     "period": "1 hours",
     "type": "Schedule",
     "occurrences": "3"
   }
```

Sob demanda usando o objeto Default

```
{
  "name": "Default",
  "resourceRole": "DataPipelineDefaultResourceRole",
  "role": "DataPipelineDefaultRole",
  "scheduleType": "ondemand"
}
```

Sob demanda com objeto Schedule explícito

```
{
  "name": "Default",
  "resourceRole": "DataPipelineDefaultResourceRole",
  "role": "DataPipelineDefaultRole",
  "scheduleType": "ondemand"
},
{
  "name": "DefaultSchedule",
  "type": "Schedule",
  "id": "DefaultSchedule",
  "period": "ONDEMAND_PERIOD",
  "startAt": "ONDEMAND_ACTIVATION_TIME"
},
```

Os exemplos a seguir demonstram como um objeto Schedule pode ser herdado do objeto Default, explicitamente definido para esse objeto ou fornecido por uma referência principal:

Schedule herdado do objeto Default

```
{
  "objects": [
  {       
      "id": "Default",
      "failureAndRerunMode":"cascade",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "s3://myLogsbucket",
      "scheduleType": "cron",
      "schedule": {
        "ref": "DefaultSchedule"
      }
   },
   {
      "type": "Schedule",
      "id": "DefaultSchedule",
      "occurrences": "1",
      "period": "1 Day",
      "startAt": "FIRST_ACTIVATION_DATE_TIME"
    },
    { 
      "id": "A_Fresh_NewEC2Instance",
      "type": "Ec2Resource",
      "terminateAfter": "1 Hour"
    },
    {
      "id": "ShellCommandActivity_HelloWorld",
      "runsOn": {
        "ref": "A_Fresh_NewEC2Instance"
      },
      "type": "ShellCommandActivity",
      "command": "echo 'Hello World!'"
    }
  ]
}
```

Schedule explícito no objeto

```
{
  "objects": [
  {       
      "id": "Default",
      "failureAndRerunMode":"cascade",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "s3://myLogsbucket",
      "scheduleType": "cron"
      
   },
   {
      "type": "Schedule",
      "id": "DefaultSchedule",
      "occurrences": "1",
      "period": "1 Day",
      "startAt": "FIRST_ACTIVATION_DATE_TIME"
    },
    { 
      "id": "A_Fresh_NewEC2Instance",
      "type": "Ec2Resource",
      "terminateAfter": "1 Hour"
    },
    {
      "id": "ShellCommandActivity_HelloWorld",
      "runsOn": {
        "ref": "A_Fresh_NewEC2Instance"
      },
      "schedule": {
        "ref": "DefaultSchedule"
      },
      "type": "ShellCommandActivity",
      "command": "echo 'Hello World!'"
    }
  ]
}
```

Schedule de uma referência principal

```
{
  "objects": [
  {       
      "id": "Default",
      "failureAndRerunMode":"cascade",
      "resourceRole": "DataPipelineDefaultResourceRole",
      "role": "DataPipelineDefaultRole",
      "pipelineLogUri": "s3://myLogsbucket",
      "scheduleType": "cron"
      
   },
   {       
      "id": "parent1",
      "schedule": {
        "ref": "DefaultSchedule"
      }
      
   },
   {
      "type": "Schedule",
      "id": "DefaultSchedule",
      "occurrences": "1",
      "period": "1 Day",
      "startAt": "FIRST_ACTIVATION_DATE_TIME"
    },
    { 
      "id": "A_Fresh_NewEC2Instance",
      "type": "Ec2Resource",
      "terminateAfter": "1 Hour"
    },
    {
      "id": "ShellCommandActivity_HelloWorld",
      "runsOn": {
        "ref": "A_Fresh_NewEC2Instance"
      },
      "parent": {
        "ref": "parent1"
      },
      "type": "ShellCommandActivity",
      "command": "echo 'Hello World!'"
    }
  ]
}
```

## Sintaxe
<a name="schedule-syntax"></a>


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| período | Com que frequência o pipeline deve ser executado. O formato é "N [minutes\$1hours\$1days\$1weeks\$1months]", em que N é um número seguido de um dos especificadores de tempo. Por exemplo, "15 minutes", executa o pipeline a cada 15 minutos. O período mínimo é de 15 minutos, e o máximo é de 3 anos. | Período | 

 


****  

| Grupo obrigatório (um dos seguintes é obrigatório) | Description | Tipo de slot | 
| --- | --- | --- | 
| startAt | A data e a hora para iniciar as execuções programadas do pipeline. O valor válido é FIRST\$1ACTIVATION\$1DATE\$1TIME, que é obsoleto em favor da criação de um pipeline sob demanda. | Enumeração | 
| startDateTime | A data e a hora para iniciar as execuções programadas. Você deve usar um startDateTime ou startAt, mas não ambos. | DateTime | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| endDateTime | A data e a hora para terminar as execuções programadas. Deve ser uma data e hora posteriores ao valor de startDateTime ou startAt. O comportamento padrão é agendar as execuções até que o pipeline seja desligado.  | DateTime | 
| ocorrências | O número de vezes para executar o pipeline depois que ele é ativado. Você não pode usar ocorrências com endDateTime. | Inteiro | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @firstActivationTime | O tempo de criação do objeto. | DateTime | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# Serviços públicos
<a name="dp-object-utilities"></a>

Os seguintes objetos utilitários configuram outros objetos do pipeline:

**Topics**
+ [ShellScriptConfig](dp-object-shellscriptconfig.md)
+ [EmrConfiguration](dp-object-emrconfiguration.md)
+ [Propriedade](dp-object-property.md)

# ShellScriptConfig
<a name="dp-object-shellscriptconfig"></a>

Use com uma atividade para executar um script de shell para preActivityTask Config e Config postActivityTask. Esse objeto está disponível para [HadoopActivity[HiveActivity[HiveCopyActivity](dp-object-hivecopyactivity.md)](dp-object-hiveactivity.md)](dp-object-hadoopactivity.md),, [PigActivity](dp-object-pigactivity.md)e. Você especifica um URI do S3 e uma lista de argumentos para o script.

## Exemplo
<a name="shellscriptconfig-example"></a>

R ShellScriptConfig com argumentos:

```
{
   "id" : "ShellScriptConfig_1”,
   "name" : “prescript”,
   "type" : "ShellScriptConfig",
   "scriptUri": “s3://my-bucket/shell-cleanup.sh”,
   "scriptArgument" : ["arg1","arg2"]
 }
```

## Sintaxe
<a name="shellscriptconfig-syntax"></a>

Este objeto inclui os seguintes campos.


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| parent | Pai do objeto atual a partir do qual os slots são herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| scriptArgument | Uma lista de argumentos para uso com script de shell. | String | 
| scriptUri | O URI de script no Amazon S3 que deve ser obtido por download e executado. | String | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

# EmrConfiguration
<a name="dp-object-emrconfiguration"></a>

O EmrConfiguration objeto é a configuração usada para clusters do EMR com versões 4.0.0 ou superiores. As configurações (como uma lista) são um parâmetro para a chamada da RunJobFlow API. A API de configuração do Amazon EMR usa uma classificação e propriedades. AWS Data Pipeline usa EmrConfiguration com objetos de propriedade correspondentes para configurar um [EmrCluster](dp-object-emrcluster.md) aplicativo como Hadoop, Hive, Spark ou Pig em clusters do EMR lançados em uma execução de pipeline. Como a configuração só pode ser alterada para novos clusters, você não pode fornecer um EmrConfiguration objeto para os recursos existentes. Para obter mais informações, consulte [https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/](https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/).

## Exemplo
<a name="emrconfiguration-example"></a>

O seguinte objeto de configuração define as propriedades `io.file.buffer.size` e `fs.s3.block.size` em `core-site.xml`:

```
[
   {  
      "classification":"core-site",
      "properties":
      {
         "io.file.buffer.size": "4096",
         "fs.s3.block.size": "67108864"
      }
   }
]
```

A definição do objeto de pipeline correspondente usa um EmrConfiguration objeto e uma lista de objetos de propriedade no `property` campo:

```
{
  "objects": [
    {
      "name": "ReleaseLabelCluster",
      "releaseLabel": "emr-4.1.0",
      "applications": ["spark", "hive", "pig"],
      "id": "ResourceId_I1mCc",
      "type": "EmrCluster",
      "configuration": {
        "ref": "coresite"
      }
    },
    {
      "name": "coresite",
      "id": "coresite",
      "type": "EmrConfiguration",
      "classification": "core-site",
      "property": [{
        "ref": "io-file-buffer-size"
      },
      {
        "ref": "fs-s3-block-size"
      }
      ]
    },
    {
      "name": "io-file-buffer-size",
      "id": "io-file-buffer-size",
      "type": "Property",
      "key": "io.file.buffer.size",
      "value": "4096"
    },
    {
      "name": "fs-s3-block-size",
      "id": "fs-s3-block-size",
      "type": "Property",
      "key": "fs.s3.block.size",
      "value": "67108864"
    }
  ]
}
```

O exemplo a seguir é uma configuração aninhada usada para definir o ambiente Hadoop com a classificação `hadoop-env`:

```
[
  {
    "classification": "hadoop-env",
    "properties": {},
    "configurations": [
      {
        "classification": "export",
        "properties": {
          "YARN_PROXYSERVER_HEAPSIZE": "2396"
        }
      }
    ]
  }
]
```

Veja a seguir o objeto de definição de pipeline correspondente que usa essa configuração:

```
{
  "objects": [
    {
      "name": "ReleaseLabelCluster",
      "releaseLabel": "emr-4.0.0",
      "applications": ["spark", "hive", "pig"],
      "id": "ResourceId_I1mCc",
      "type": "EmrCluster",
      "configuration": {
        "ref": "hadoop-env"
      }
    },
    {
      "name": "hadoop-env",
      "id": "hadoop-env",
      "type": "EmrConfiguration",
      "classification": "hadoop-env",
      "configuration": {
        "ref": "export"
      }
    },
    {
      "name": "export",
      "id": "export",
      "type": "EmrConfiguration",
      "classification": "export",
      "property": {
        "ref": "yarn-proxyserver-heapsize"
      }
    },
    {
      "name": "yarn-proxyserver-heapsize",
      "id": "yarn-proxyserver-heapsize",
      "type": "Property",
      "key": "YARN_PROXYSERVER_HEAPSIZE",
      "value": "2396"
    },
  ]
}
```

O exemplo a seguir modifica uma propriedade específica do Hive para um cluster do EMR:

```
{
    "objects": [
        {
            "name": "hivesite",
            "id": "hivesite",
            "type": "EmrConfiguration",
            "classification": "hive-site",
            "property": [
                {
                    "ref": "hive-client-timeout"
                }
            ]
        },
        {
            "name": "hive-client-timeout",
            "id": "hive-client-timeout",
            "type": "Property",
            "key": "hive.metastore.client.socket.timeout",
            "value": "2400s"
        }
    ]
}
```

## Sintaxe
<a name="emrconfiguration-syntax"></a>

Este objeto inclui os seguintes campos.


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| classificação | Classificação para a configuração. | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| configuration | Subconfiguração para esta configuração. | Objeto de referência, por exemplo, “configuração”: \$1"ref”:” myEmrConfiguration Id "\$1 | 
| parent | Pai do objeto atual a partir do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 
| property | Propriedade de configuração. | Objeto de referência, por exemplo, “propriedade”: \$1"ref”:” myPropertyId “\$1 | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

## Consulte também
<a name="emrconfiguration-seealso"></a>
+ [EmrCluster](dp-object-emrcluster.md)
+ [Propriedade](dp-object-property.md)
+ [Guia de apresentação do Amazon EMR](https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/)

# Propriedade
<a name="dp-object-property"></a>

Uma única propriedade de valor-chave para uso com um objeto EmrConfiguration .

## Exemplo
<a name="property-example"></a>

A definição de pipeline a seguir mostra um EmrConfiguration objeto e os objetos de propriedade correspondentes para iniciar um EmrCluster:

```
{
  "objects": [
    {
      "name": "ReleaseLabelCluster",
      "releaseLabel": "emr-4.1.0",
      "applications": ["spark", "hive", "pig"],
      "id": "ResourceId_I1mCc",
      "type": "EmrCluster",
      "configuration": {
        "ref": "coresite"
      }
    },
    {
      "name": "coresite",
      "id": "coresite",
      "type": "EmrConfiguration",
      "classification": "core-site",
      "property": [{
        "ref": "io-file-buffer-size"
      },
      {
        "ref": "fs-s3-block-size"
      }
      ]
    },
    {
      "name": "io-file-buffer-size",
      "id": "io-file-buffer-size",
      "type": "Property",
      "key": "io.file.buffer.size",
      "value": "4096"
    },
    {
      "name": "fs-s3-block-size",
      "id": "fs-s3-block-size",
      "type": "Property",
      "key": "fs.s3.block.size",
      "value": "67108864"
    }
  ]
}
```

## Sintaxe
<a name="property-syntax"></a>

Este objeto inclui os seguintes campos.


****  

| Campos obrigatórios | Description | Tipo de slot | 
| --- | --- | --- | 
| key | key | String | 
| valor | valor | String | 

 


****  

| Campos opcionais | Description | Tipo de slot | 
| --- | --- | --- | 
| parent | Pai do objeto atual a partir do qual os slots são herdados. | Objeto de referência, por exemplo, “parent”: \$1"ref”:” myBaseObject Id "\$1 | 

 


****  

| Campos de tempo de execução | Description | Tipo de slot | 
| --- | --- | --- | 
| @version | A versão do pipeline com que o objeto foi criado. | String | 

 


****  

| Campos do sistema | Description | Tipo de slot | 
| --- | --- | --- | 
| @error | Erro ao descrever o objeto malformado. | String | 
| @pipelineId | ID do pipeline ao qual este objeto pertence. | String | 
| @sphere | A esfera de um objeto denota seu lugar no ciclo de vida: os objetos componentes dão origem aos objetos de instância que executam os objetos de tentativa. | String | 

## Consulte também
<a name="property-seealso"></a>
+ [EmrCluster](dp-object-emrcluster.md)
+ [EmrConfiguration](dp-object-emrconfiguration.md)
+ [Guia de apresentação do Amazon EMR](https://docs.aws.amazon.com/ElasticMapReduce/latest/ReleaseGuide/)