AWS Data Pipeline não está mais disponível para novos clientes. Clientes existentes da AWS Data Pipeline pode continuar usando o serviço normalmente. Saiba mais
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á.
ShellCommandActivity
Executa um comando ou script. Você pode usar ShellCommandActivity
para executar séries temporais ou tarefas programadas parecidas com Cron.
Quando o stage
campo é definido como verdadeiro e usado com umS3DataNode
, ShellCommandActivity
suporta o conceito de armazenamento temporário de dados, o que significa que você pode mover dados do Amazon S3 para um local de estágio, como a EC2 Amazon ou seu ambiente local, realizar trabalhos nos dados usando scripts e o. e movê-los de volta para ShellCommandActivity
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
Veja a seguir um exemplo deste tipo de objeto.
{ "id" : "CreateDirectory", "type" : "ShellCommandActivity", "command" : "mkdir new-directory" }
Sintaxe
Campos de invocação de objetos | Descrição | Tipo de slot |
---|---|---|
schedule |
Esse objeto é invocado durante a execução de um intervalo Para definir a ordem de execução de dependência desse objeto, especifique uma referência Para atender a esse requisito, defina explicitamente um Na maioria dos casos, é melhor colocar a referência 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. |
Objeto de referência, por exemplo, “agenda”: {"ref”:” myScheduleId “} |
Grupo obrigatório (um dos seguintes é obrigatório) | Descrição | Tipo de slot |
---|---|---|
command | O comando a ser executado. Use $ 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 URI caminho do Amazon S3 para um arquivo ser baixado e executado 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) | Descrição | Tipo de slot |
---|---|---|
runsOn | O recurso computacional para executar a atividade ou o comando, por exemplo, uma EC2 instância da Amazon ou um EMR cluster da Amazon. | Objeto de referência, por exemplo, "runsOn“: {" ref”:” myResourceId “} |
workerGroup | 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 | 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“: {" ref”:” myActivityId “} |
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”: {"ref”:” myDataNode Id "} |
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“: {" ref”:” myActionId “} |
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“: {" ref”:” myActionId “} |
onSuccess | Uma ação a ser executada quando o objeto atual é executado com êxito. | Objeto de referência, por exemplo, "onSuccess“: {" ref”:” myActionId “} |
output | O local dos dados de saída. | Objeto de referência, por exemplo, “output”: {"ref”:” myDataNode Id "} |
parent | O pai do objeto atual do qual os slots serão herdados. | Objeto de referência, por exemplo, “parent”: {"ref”:” myBaseObject Id "} |
pipelineLogUri | O Amazon S3URI, como 's3://BucketName/Key/' para fazer upload de registros para o pipeline. |
String |
precondition | Opcionalmente define uma precondição. Um nó de dados não é marcado como "READY" até que todas as condições prévias tenham sido atendidas. | Objeto de referência, por exemplo, “pré-condição”: {"ref”:” myPreconditionId “} |
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: Se definido como Se definido como Se definido como |
Enumeração |
scriptArgument | Uma matriz JSON formatada de strings para passar para o comando especificado pelo comando. Por exemplo, se o comando for echo $1 $2 , 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 ${INPUT1_STAGING_DIR} e
${OUTPUT1_STAGING_DIR} . |
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 | Descrição | Tipo de slot |
---|---|---|
@activeInstances | A lista dos objetos da instância ativa programados no momento. | Objeto de referência, por exemplo, "activeInstances“: {" ref”:” myRunnableObject Id "} |
@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“: {" ref”:” myRunnableObject Id "} |
emrStepLog | Os registros de EMR etapas da Amazon estão disponíveis somente em tentativas de EMR atividade na Amazon. | 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 | Registros de tarefas do Hadoop disponíveis sobre tentativas de atividades EMR baseadas na Amazon. | 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“: {" ref”:” myRunnableObject Id "} |
Campos do sistema | Descrição | 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 |