Ir para o conteúdo

Tutorial do conector cenário 3: Colocar arquivo

Introdução

Este cenário demonstra o uso de uma atividade Colocar arquivo do Dropbox, na qual um arquivo é lido de um servidor FTP e depois colocado (gravado) 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 grava essas variáveis no Dropbox usando uma atividade Put File do Dropbox.

Nota

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

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

imagem

Importante

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

Você deve ter o seguinte:

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

1. Copie o arquivo de amostra para o Dropbox

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

2. Adicione um script a uma operação

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

Defina o conteúdo do Jitterbit Script 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 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 workflow.

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

Arraste uma atividade FTP Read da paleta de componentes de design para a área de inserção de componentes na quadro de design para criar uma instância de uma atividade FTP Read em uma nova operação. Clique duas vezes na atividade para abri-la.

Configure-o como:

  • Nome: Digite um nome de identificação apropriado.
  • Caminho: Insira uma variável global chamada [ftpPath]
  • Obter arquivos: Insira uma variável global chamada [ftpFilename]

imagem

Clique em Avançar e depois em Concluído para retornar ao workflow.

4. Adicione uma atividade Dropbox Put File à operação

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

Configure o nome do arquivo como [dropboxFilename] e clique em Avançar:

imagem

Clique em Concluído para retornar ao workflow:

imagem

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

Adicione uma transformação antes da atividade Colocar arquivo do Dropbox.

Quando a transformação abrir, dê um nome a ela e adicione scripts a ela. path e content campos de destino 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 workflow:

imagem

6. Execute a operação

Retorne ao workflow e implantar e execute a operação. Assim que a operação for concluída e o arquivo for colocado (gravado) no Dropbox, você deverá ver mensagens de log como estas no log da operação, com o arquivo copiado com sucesso do servidor FTP para o Dropbox:

imagem

Variações

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

Por exemplo, você pode definir o campo de caminho na transformação como uma string vazia e, então, na atividade Put File do Dropbox, fornecer o caminho usando um valor codificado ou usando uma variável já definida ($dropboxPath). Isso gravará o arquivo no local definido pelo script.

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

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

A abordagem usada depende de como você pretende que um conector seja usado ou configurado.