Todos os produtos
Search
Central de documentação

DataWorks:Nó Shell

Última atualização: Jun 30, 2026

O nó Shell do DataWorks destina-se a engenheiros de dados. Ele executa scripts shell padrão não interativos e é ideal para tarefas de automação, como processamento de arquivos no Object Storage Service (OSS) e invocação de ferramentas. O nó integra o ossutil nativamente, permitindo acesso seguro ao OSS por meio de arquivos de configuração ou parâmetros de linha de comando. Além disso, oferece suporte à injeção de parâmetros de agendamento, referência de recursos e extensão do ambiente de execução com imagens personalizadas, atendendo aos requisitos de agendamento e O&M em nível de produção.

Permissões

Adicione a conta RAM usada no desenvolvimento do nó ao workspace de destino e conceda a ela a função de desenvolvedor ou administrador do workspace. Para mais detalhes, consulte Adicionar um membro a um workspace.

Tipos de nós de processamento de dados

O DataWorks oferece diversos tipos de nós de processamento de dados. Selecione um nó adequado ao seu cenário de negócios para executar tarefas de limpeza de dados em larga escala. As opções não se limitam a scripts shell.

  • Nó de sincronização em lote: Recomendado para migração e transformação de dados em grande escala, com suporte à sincronização em lote entre diferentes fontes de dados.

  • Nó MaxCompute SQL: Indicado para ETL baseado em SQL em conjuntos de dados massivos, com suporte a computação distribuída.

  • Nó Shell (este tópico): Projetado para chamar ferramentas externas ou executar lógicas de script personalizadas.

  • Nó de atribuição combinado com um nó for-each: Ideal para processamento em lote em loops, permitindo iterar sobre um conjunto de dados e executar operações em cada item.

Observações de uso

  1. Limitações de sintaxe

    • Há suporte à sintaxe shell padrão, mas não à sintaxe interativa.

  2. Ambiente de execução e acesso à rede

    • Um nó Shell pode ser executado em um grupo de recursos serverless (recomendado) ou em um grupo de recursos exclusivo para agendamento (versões anteriores). Para adquirir e utilizar um grupo de recursos serverless, consulte Usar grupos de recursos serverless.

    • Ao executar um nó Shell em um grupo de recursos serverless, adicione o endereço IP ou bloco CIDR do grupo de recursos serverless à lista de permissões do destino, caso haja uma configurada.

    • No uso de grupos de recursos serverless, uma única tarefa suporta configuração máxima de 64CU. Para evitar escassez de recursos que impeça o início da tarefa, não ultrapasse 16CU.

  3. Extensão do ambiente de desenvolvimento

    • Se sua tarefa exigir um ambiente de desenvolvimento específico, utilize o recurso de imagem personalizada no DataWorks para criar um ambiente adequado às suas necessidades. Para mais informações, consulte Imagem personalizada.

  4. Recursos e múltiplas chamadas de script

    • Evite iniciar muitos subprocessos em um nó Shell. Como atualmente não há limites de recursos para esses nós, subprocessos excessivos podem impactar outras tarefas executadas no mesmo grupo de recursos de agendamento.

    • O tamanho do código da tarefa não pode exceder 128 KB.

Início rápido

O exemplo a seguir demonstra todo o processo de criação, depuração, configuração e implantação de um nó Shell que exibe "Hello DataWorks!".

Desenvolvimento do nó

  1. Faça login no console do DataWorks. Após alternar para a região de destino, clique em Data Development and O&M > Data Development no painel de navegação à esquerda. Selecione o workspace desejado na lista suspensa e clique em Go to DataStudio.

  2. Passe o mouse sobre o ícone Create e clique em Create Node > General > Shell. Na caixa de diálogo Create Node, insira o nome e o caminho do nó.

  3. Insira o código shell padrão no editor de scripts (não há suporte à sintaxe interativa):

    echo "Hello DataWorks!"
  4. Após concluir o código, clique em image, selecione o grupo de recursos e a imagem de destino e execute a tarefa do nó Shell.

  5. Depois que o script passar pela depuração, clique em Scheduling Settings no lado direito para configurar políticas de agendamento de nível de produção, como horário de execução e propriedades de recursos. Isso permite que o nó seja executado periodicamente conforme planejado. Para mais informações sobre como configurar as propriedades de agendamento do nó, consulte Configurar definições de agendamento.

Implantar e gerenciar nós

  1. Após configurar as propriedades de agendamento, envie o nó para o ambiente de desenvolvimento e, em seguida, implante-o no ambiente de produção para agendamento periódico.

  2. Com o nó implantado, a tarefa será executada periodicamente com base no cronograma definido. Clique no ícone image no canto superior esquerdo e selecione All Products > Data Development and O&M > Operation Center na página de navegação exibida para acessar o Operation Center. Em seguida, no menu à esquerda, acesse Task O&M > Auto Triggered Task O&M > Periodic tasks para visualizar as tarefas agendadas implantadas. Para mais informações, consulte Gerenciar tarefas agendadas.

Uso avançado

Referenciar recursos

  1. O DataWorks permite carregar recursos por meio do gerenciamento de recursos para uso em nós Shell. Para mais informações, consulte Gerenciar recursos.

    Nota

    Envie um recurso antes de referenciá-lo em um nó. Se o recurso for exigido por uma tarefa de produção, implante-o também nesse ambiente. Para mais detalhes, consulte Implantar nós.

  2. Localize o recurso carregado na árvore de diretórios à esquerda do Data Studio.

  3. Clique com o botão direito no recurso e selecione Insert Resource Path. O recurso será então referenciado no nó atual, permitindo escrever código na página de edição do nó para executá-lo.

    Nota

    Após uma referência bem-sucedida, o sistema insere automaticamente um comentário de declaração no formato ##@resource_reference{resource_name} no topo do script.

    Esse comentário é um identificador obrigatório para que o DataWorks reconheça as dependências de recursos e monte automaticamente o recurso correspondente no ambiente de execução durante o runtime. Não o modifique ou exclua manualmente.

Usar parâmetros de agendamento

Os parâmetros de agendamento são injetados nos nós Shell como parâmetros posicionais, sem suporte a nomes de variáveis personalizados. O DataWorks transmite os valores configurados nas Scheduling Settings do nó para o script shell, na ordem definida, como parâmetros posicionais: $1, $2, $3, etc. Ao utilizar mais de 9 parâmetros, adote a sintaxe com chaves, como ${10} e ${11}, para garantir a análise correta. Separe múltiplos valores de parâmetros por espaços e mantenha a ordem estritamente correspondente às referências posicionais no script.

Neste exemplo:

  • O parâmetro integrado $1 recebe a data de negócio: $bizdate.

  • O parâmetro personalizado $2 recebe a data de negócio: ${yyyymmdd}.

  • O parâmetro personalizado $3 recebe a data de negócio: $[yyyymmdd].

Nota
  • Se um valor de parâmetro contiver espaços, coloque-o entre aspas. Todo o conteúdo dentro das aspas será tratado como um único parâmetro.

  • Para mais informações sobre como configurar e usar parâmetros de agendamento, consulte Configurar parâmetros de agendamento.

Usar ossutil para acessar o OSS

O nó Shell do DataWorks suporta nativamente a ferramenta de linha de comando do Alibaba Cloud OSS, ossutil, que possibilita o gerenciamento de buckets, upload e download de arquivos, operações em lote, entre outras tarefas. Configure as credenciais de acesso para utilizar o ossutil no acesso ao OSS por meio de um arquivo de configuração ou parâmetros de linha de comando.

Apêndice: Códigos de saída de script

Utilize os códigos de saída do script para determinar se a execução foi bem-sucedida.

  • Código de saída 0: Indica sucesso.

  • Código de saída -1: Sinaliza que o processo foi encerrado.

  • Código de saída 2: A plataforma precisa reexecutar a tarefa automaticamente uma vez.

  • Outros códigos de saída: Indicam falha.

Abaixo está um exemplo de log de execução quando o nó Shell é concluído com êxito (código de saída 0).

INFO Exit code of the Shell command 0 INFO --- Invocation of Shell command completed --- INFO Shell run successfully!

Nota

Devido ao mecanismo subjacente do shell, o código de saída de todo o script em um nó Shell corresponde ao código de saída do último comando executado.

Referência

Para saber como usar comandos Python 2 ou Python 3 em um nó Shell para executar scripts Python, consulte Executar scripts Python em um nó Shell.