IMPORTANTE: Esta documentação foi descontinuada. Leia a documentação SSH Remote Command atualizada no nosso novo portal de documentação.
O SSH Remote Command permite que se estabeleça uma conexão com um servidor SSH e que shell scripts sejam executados.
Dê uma olhada nos parâmetros de configuração do componente:
Account: para o componente fazer a autenticação a um serviço SFTP, é necessário usar uma account do tipo BASIC ou PRIVATE KEY. Este parâmetro aceita Double Braces.
Username: deve ser usado apenas quando o account type for PRIVATE KEY.
Host: nome do host ou endereço IP para realizar a conexão. Este parâmetro aceita Double Braces.
Port: número da porta - geralmente 22. Este parâmetro aceita Double Braces.
Custom Environment Variables: se a opção estiver habilitada, você deverá informar as variáveis de ambiente de forma customizada no campo Environment Variables (ex: [{"key": "MYVAR", "value": "VAR_VALUE"}])
Environment Properties: nome e valor das variáveis de ambiente a serem passadas para execução no servidor de SSH remoto. Essas variáveis devem ser cadastradas no sshd_config. Exemplo do cadastro no ssh_config: AcceptEnv MYVAR
Command: campo utilizado para especificar os comandos a serem executados no servidor SSH.
Ignore Output: se a opção estiver habilitada, a execução do pipeline ignora as respostas exibidas no stdout ou stderr no servidor SSH. Caso contrário, serão exibidos os campos stdout e stderr na saída do componente.
Stdout As File: se a opção estiver habilitada, a resposta do resultado stdout será gravada em um arquivo. Caso contrário, será exibida como string na saída do componente.
Stdout File Name: nome do arquivo a ser criado com as informações do stdout.
Stderr As File: se a opção estiver habilitada, a resposta do resultado stderr será gravada em um arquivo. Caso contrário, será exibida como string na saída do componente.
Stderr File Name: nome do arquivo a ser criado com as informações do stderr.
Connection Timeout: tempo de expiração da conexão com o servidor (em milissegundos).
Server Alive Interval: tempo que o componente vai manter a conexão ativa (em milissegundos).
Fail On Error: se a opção estiver habilitada, a execução do pipeline com erro será interrompida; do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade "success".
IMPORTANTE: note que alguns dos parâmetros acima suportam Double Braces. Para entender como essa linguagem funciona, leia o nosso artigo clicando aqui.
Fluxo de mensagens
Entrada
Não se espera nenhuma mensagem específica de entrada.
Saída
Ao executar um componente SFTP utilizando as operações download, upload ou move, a seguinte estrutura de JSON será gerada:
{
"stdout": "xpto",
"stderr": "xpto_err",
"stdoutFileName": "stdout.txt",
"stderrFileName": "stderr.txt",
"success": "true"
}
stdout: resposta com sucesso da execução do script
stderr: resposta com erros da execução do script
stdoutFileName: caminho do arquivo salvo contendo as informações exibidas no stdout. Essa propriedade só será exibida caso a flag Stdout As File esteja habilitada
stderrFileName: caminho do arquivo salvo contendo as informações exibidas no stderr. Essa propriedade só será exibida caso a flag Stderr As File esteja habilitada
success: "true" se houve uma conexão e o script foi executado mesmo se retornar erros no stderr
Saída com erro:
{
"success": false,
"message": "Could not execute the SSH remote command",
"error": "java.net.SocketTimeoutException: connect timed out"
}
success: “false” quando a operação falha
message: mensagem sobre o erro
exception: informação sobre o tipo de erro ocorrido
IMPORTANTE: a manipulação de arquivos dentro de um pipeline ocorre de forma protegida. Os arquivos ficam disponíveis em diretório temporário que somente o pipeline sendo executado tem acesso.
Para entender melhor o fluxo das mensagens na Plataforma, clique aqui e leia o nosso artigo.
SSH Remote Command em Ação
Executando um script e recebendo as informações no JSON de resposta do componente
Hostname: <HOST>
Port: <PORT>
Command: echo $MYNAME && echo error output >&2
Environment Variables: [{"key":"MYNAME", "value":"TEST"}]
Stdout As File: desabilitado
Stderr As File: desabilitado
Fail On Error: desabilitado
Resultado:
{
"stdout": "TEST",
"stderr": "error output",
"success": "true"
}
Executando um script e salvando as informações em arquivos
Hostname: <HOST>
Port: <PORT>
Command: echo $MYNAME && echo error output >&2
Environment Variables: [{"key":"MYNAME", "value":"TEST"}]
Stdout As File: habilitado
Stdout File Name: stdout.txt
Stderr As File: habilitado
Stderr File Name: stderr.txt
Fail On Error: desabilitado
Resultado:
{
"stdoutFileName": "stdout.txt",
"stderrFileName": "stderr.txt",
"success": "true"
}