Ir para o conteúdo

Cenário 3 do tutorial do SDK do Conector: Colocar arquivo

Introdução

Este cenário demonstra o uso de uma atividade Colocar Arquivo do Dropbox, onde um arquivo é lido de um servidor FTP e, em seguida, é colocado (escrito) no Dropbox.

Neste cenário, um script primeiro define variáveis globais com um caminho de arquivo e nome de arquivo, lendo de um servidor FTP para definir uma variável global com o conteúdo do arquivo. A transformação então escreve essas variáveis no Dropbox usando uma atividade Colocar Arquivo do Dropbox.

Nota

Semelhante ao Cenário 2: Buscar arquivo, o arquivo é colocado como um arquivo de texto em vez de um arquivo XML com conteúdo e metadados codificados.

Aqui está a operação concluída:

image

Importante

Para concluir esta operação e cenário, complete a configuração pré-requisito necessária no tutorial do conector do Dropbox.

Você deve ter o seguinte:

  • Acesso a uma conta do Dropbox e servidor FTP.
  • Conectores do Dropbox e FTP configurados.
  • Acesso ao diretório assets/sample-data do repositório do conector do Dropbox.

1. Copiar arquivo de exemplo para o Dropbox

Se ainda não estiver presente, copie o arquivo de exemplo (customers.csv) do diretório assets/sample-data do conector do Dropbox para sua conta do Dropbox.

2. Adicionar um script a uma operação

Adicione um script a uma nova operação. Edite o script, definindo seu nome de forma apropriada.

Defina o conteúdo do Script do Jitterbit como:

<trans>
$ftpPath = "/";
$ftpFilename = "customers.csv";
$ftpContents = ReadFile("<TAG>activity:ftp/FTP/ftp_read/Read</TAG>");

WriteToOperationLog("Read from path " + $ftpPath);
WriteToOperationLog("Read file " + $ftpFilename);
WriteToOperationLog("Read " + Length($ftpContents) + " bytes");

$dropboxPath = $ftpPath;
$dropboxFilename = CVTDate(Now(), "GeneralDate", "yyyy_mm_dd_HH_MM_SS")
    + "_" + $ftpFilename;
$dropboxFilepath = $dropboxPath + $dropboxFilename;
$dropboxContents = Base64Encode($ftpContents);

WriteToOperationLog("DropboxFilename: " + $dropboxFilename);
</trans>

Isso irá ler e codificar usando Base64 o arquivo em /customers.csv do servidor FTP. Ajuste os valores das variáveis conforme necessário se seu arquivo estiver em um local ou nome diferente.

Feche o script para retornar ao fluxo de trabalho.

3. Adicione uma atividade de Leitura FTP à operação

Arraste uma atividade de Leitura FTP da paleta de componentes de design para a zona de drop do componente no canvas de design para criar uma instância de uma atividade de Leitura FTP em uma nova operação. Clique duas vezes na atividade para abri-la.

Configure-a como:

  • Nome: Insira um nome identificador apropriado.
  • Caminho: Insira uma variável global chamada [ftpPath]
  • Obter Arquivos: Insira uma variável global chamada [ftpFilename]

image

Clique em Próximo e depois em Concluído para retornar ao fluxo de trabalho.

4. Adicione uma atividade de Colocar Arquivo no Dropbox à operação

Arraste um tipo de atividade Colocar Arquivo do Dropbox da paleta de componentes para a operação após a atividade de Leitura FTP.

Configure o nome do arquivo como [dropboxFilename] e clique em Próximo:

image

Clique em Concluído para retornar ao fluxo de trabalho:

image

5. Adicione uma transformação à operação

Adicione uma transformação antes da atividade Colocar Arquivo no Dropbox.

Quando a transformação abrir, dê um nome a ela e adicione scripts aos campos de destino path e content para mapear as variáveis globais dropboxFilepath e dropboxContents para cada campo respectivo.

Clique no ícone Fechar para salvar a configuração da transformação e retornar ao fluxo de trabalho:

image

6. Execute a operação

Retorne ao fluxo de trabalho e implante e execute a operação. Uma vez que a operação tenha sido concluída e o arquivo tenha sido colocado (escrito) no Dropbox, você deve ver mensagens de log como estas no log da operação, com o arquivo copiado com sucesso do servidor FTP para o Dropbox:

image

Variações

Você pode modificar este exemplo para explorar questões que os desenvolvedores de conectores precisam considerar.

Por exemplo, você poderia definir o campo de caminho na transformação como uma string vazia e, em seguida, na atividade Colocar Arquivo do Dropbox, fornecer o caminho usando um valor fixo ou utilizando uma variável já definida ($dropboxPath). Isso gravará o arquivo na localização definida pelo script.

O código para o conector do Dropbox (put-file-request.xsd) requer que o caminho seja definido, como mostrado pelo [1] à esquerda do nome do campo na transformação. No entanto, você poderia exigir que ele fosse definido na interface do usuário para a atividade Colocar Arquivo do Dropbox, configurando o código (adapter.json) que descreve a UI.

No caso do conector do Dropbox, o código do conector (PutFileActivity.java) é escrito de forma que a definição dada na atividade Colocar Arquivo do Dropbox, se especificada, tenha precedência sobre o valor que é especificado na transformação.

A abordagem que você usa depende de como pretende que um conector seja utilizado ou configurado.