SqlActivity - AWS Data Pipeline

SqlActivity

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

Exemplo

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

Campos obrigatórios Descrição Tipo de slot
banco de dados O banco de dados em que o script SQL fornecido será executado. Objeto de referência, como “database”:{"ref":"myDatabaseId"}

Campos de invocação de objetos Descrição Tipo de slot
schedule

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.

Objeto de referência, como “schedule”:{"ref":"myScheduleId"}

Grupo obrigatório (um dos seguintes é obrigatório) Descrição 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) Descrição 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, como “runsOn”:{"ref":"myResourceId"}
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 Descrição 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, como “dependsOn”:{"ref":"myActivityId"}
failureAndRerunMode 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, como “entrada”:{"ref":"myDataNodeId"}
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, como “onFail”:{"ref":"myActionId"}
onLateAction Ações que devem ser acionadas se um objeto ainda não tiver sido programado ou ainda não foi concluído no período desde o início agendado do pipeline conforme especificado pelo 'lateAfterTimeout'. Objeto de referência, como “onLateAction”:{"ref":"myActionId"}
onSuccess Uma ação a ser executada quando o objeto atual é executado com êxito. Objeto de referência, como “onSuccess”:{"ref":"myActionId"}
output Local dos dados de saída. Isso só é útil para referência de dentro de um script (por exemplo, #{output.tablename}) 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, como “output”:{"ref":"myDataNodeId"}
parent Pai do objeto atual a partir do qual os slots serão herdados. Objeto de referência, como “parent”:{"ref":"myBaseObjectId"}
pipelineLogUri O URI do S3 (por exemplo, "s3://BucketName/Key/") para fazer upload de logs 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, como “precondition”:{"ref":"myPreconditionId"}
queue (fila) [Apenas para o Amazon Redshift] 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 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: #{format(@scheduledStartTime, "YY-MM-DD HH:MM:SS"}\n#{format(plusPeriod(@scheduledStartTime, "1 dia"), "YY-MM-DD HH:MM:SS"} String

Campos de tempo de execução Descrição Tipo de slot
@activeInstances Lista dos objetos da instância ativa agendados no momento. Objeto de referência, como “activeInstances”:{"ref":"myRunnableObjectId"}
@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”:{"ref":"myRunnableObjectId"}
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
@healthStatusUpdatedTime 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
@latestCompletedRunTime 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, como “waitingOn”:{"ref":"myRunnableObjectId"}

Campos do sistema Descrição 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