O nó SSH no DataWorks conecta-se a um host remoto por meio de uma fonte de dados Secure Shell (SSH) e executa scripts conforme uma programação. Um caso de uso comum é executar scripts periodicamente em uma instância do Elastic Compute Service (ECS) diretamente pelo DataWorks.
Comportamento e limitações
|
Aspecto |
Detalhe |
|
Isolamento de processo |
Se uma tarefa do nó SSH for encerrada inesperadamente (por exemplo, devido a tempo limite expirado), o processo em execução no host remoto continuará sem interrupções. O DataWorks não envia comando de parada ao host remoto. |
|
Sintaxe de shell |
Os nós SSH aceitam a sintaxe padrão de Shell. Não há suporte para sintaxe interativa. |
|
Espaço em disco |
Ao executar um script em uma instância ECS, o nó SSH cria um arquivo temporário na instância. Verifique se há espaço em disco suficiente e se o limite máximo de arquivos atende aos seus requisitos. |
|
Concorrência de arquivos |
Evite executar várias tarefas simultaneamente no mesmo arquivo. O acesso concomitante pode causar erros nas tarefas. |
|
Grupo de recursos |
As tarefas SSH são executadas em grupos de recursos Serverless. Para mais informações, consulte Usar grupos de recursos Serverless. |
|
Tamanho máximo do código |
128 KB por nó SSH |
|
Regiões suportadas |
China (Hangzhou), China (Shanghai), China (Beijing), China (Shenzhen), China (Hong Kong), Japão (Tóquio), Singapura, Malásia (Kuala Lumpur), Indonésia (Jacarta), Alemanha (Frankfurt), Reino Unido (Londres), EUA (Vale do Silício) e EUA (Virgínia) |
Pré-requisitos
Antes de começar, verifique se você tem:
Um workflow. As operações de desenvolvimento no DataStudio ocorrem dentro de workflows. Para mais informações, consulte Criar um workflow.
Uma fonte de dados SSH configurada com uma string de conexão Java Database Connectivity (JDBC). Confirme se a fonte de dados alcança o grupo de recursos pela rede. Para mais informações, consulte Fonte de dados SSH.
(Obrigatório para usuários RAM) Adicione o usuário RAM ao workspace como membro com a função Develop ou Workspace Administrator atribuída. A função Workspace Administrator concede permissões mais amplas que o necessário; atribua-a com cautela. Para mais informações, consulte Adicionar membros ao workspace e atribuir funções.
Etapa 1: Criar um nó SSH
Acesse a página do DataStudio. Faça login no console do DataWorks. Na barra de navegação superior, selecione a região de destino. No painel de navegação à esquerda, escolha Data Development and O&M > Data Development. Selecione o workspace desejado na lista suspensa e clique em Go to Data Development.
Clique com o botão direito no fluxo de negócios alvo e escolha Create Node > SSH.
Na caixa de diálogo Create Node, insira um Name para o nó e clique em OK.
Etapa 2: Desenvolver a tarefa SSH
Selecionar uma fonte de dados SSH (opcional)
Se o workspace tiver múltiplas fontes de dados SSH, selecione uma na página de edição do nó SSH. Caso exista apenas uma fonte de dados SSH, o sistema a utilizará automaticamente.
Os nós SSH aceitam apenas fontes de dados SSH criadas com uma string de conexão JDBC. Certifique-se de que a fonte de dados alcance o grupo de recursos via rede.
Executar um script shell em um host remoto
Escreva o código da tarefa no editor de código. O exemplo a seguir prepara e executa um script shell no host remoto:
# Step 1: Prepare the script on the remote host.
# For testing, create a nihao.sh file in the /tmp directory of the remote host.
echo "echo nihao,dataworks" > /tmp/nihao.sh
# Step 2: Run the script on the remote host.
sh /tmp/nihao.sh
Usar parâmetros de agendamento para passar valores dinâmicos
Os Scheduling Parameters do DataWorks permitem injetar valores dinâmicos em tarefas recorrentes. Defina variáveis no código usando o formato ${variable_name} e atribua valores a elas em Schedule > Parameters no painel de navegação à direita.
Para formatos de variáveis suportados, consulte Formatos suportados de parâmetros de agendamento. Para obter um guia passo a passo, veja Configurar e usar parâmetros de agendamento.
O exemplo abaixo grava o horário de execução do nó em um arquivo de log diariamente, utilizando a variável ${myDate} com o valor $[yyyy-mm-dd hh24:mi:ss] atribuído na seção Parameters:
# Write the current run time to /tmp/sshnode.log.
echo ${myDate} > /tmp/sshnode.log
cat /tmp/sshnode.log
Etapa 3: Configurar propriedades de agendamento da tarefa
Para executar uma tarefa em uma programação recorrente, clique em Properties no painel de navegação à direita e configure as propriedades de agendamento conforme suas necessidades. Para mais informações, consulte Visão geral.
Configure os parâmetros Rerun e Parent Nodes na aba Properties antes de enviar a tarefa.
Etapa 4: Depurar o código da tarefa
-
(Opcional) Selecione um grupo de recursos e atribua valores aos parâmetros de agendamento.
Clique no ícone
na barra de ferramentas. Na caixa de diálogo Parameters, selecione o grupo de recursos para depuração.Se o código da tarefa utilizar parâmetros de agendamento, atribua valores de teste às variáveis. Para detalhes sobre a atribuição de valores, consulte Procedimento de depuração.
Salve e execute o código da tarefa. Clique no ícone
para salvar o código e, em seguida, clique no ícone
para executá-lo.(Opcional) Realize testes de fumaça. Ao enviar o nó ou após o envio, execute testes de fumaça no ambiente de desenvolvimento para verificar se o comportamento está conforme o esperado. Para mais informações, consulte Realizar testes de fumaça.
Etapa 5: Enviar e implantar a tarefa
Clique no ícone
para salvar a tarefa.-
Clique no ícone
para enviar a tarefa. Na caixa de diálogo Submit, insira uma Change description e escolha se deseja acionar uma revisão de código.Configure os parâmetros Rerun e Parent Nodes na aba Properties antes de enviar.
Se a revisão de código estiver ativada, a implantação do nó só ocorrerá após a aprovação do código. Para mais informações, consulte Revisão de código.
(Apenas para workspaces no modo Standard) Implante a tarefa no ambiente de produção. Clique em Deploy no canto superior direito da página de edição do nó. Para mais informações, consulte Implantar tarefas.
Monitorar e gerenciar a tarefa
Após o envio e a implantação, a tarefa é executada automaticamente conforme o agendamento configurado. Clique em Operation Center no canto superior direito da página de edição do nó para visualizar o status do agendamento e gerenciar as instâncias da tarefa. Para mais informações, consulte Visualizar e gerenciar tarefas acionadas automaticamente.