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
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, 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 a EC2 Amazon ou seu ambiente local, executar trabalhos nos dados usando scripts e o, 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 |
|---|---|---|
| programar |
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 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) | 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 cluster do Amazon EMR. | 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 “} |
| saída | 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 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”: {"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 | Um conjunto de strings em formato JSON para ser passado ao 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 | 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”: {"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 |