Ir para o conteúdo

Tutorial do conector cenário 3: Colocar arquivo

Ler um arquivo de texto de um servidor FTP e colocá-lo no Dropbox

Este cenário demonstra o uso de uma atividade Dropbox Put File. Neste exemplo, um arquivo de texto é lido de um FTP servidor e, em seguida, é colocado (gravado) no Dropbox. Como 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.

Para isso, você precisará de um arquivo de texto localizado no caminho / no seu servidor FTP. Qualquer arquivo de texto serve, ou você pode usar o arquivo de amostra customers.csv fornecido no assets/sample-data directory de os arquivos de origem do conector do 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 defina uma variável global com o conteúdo do arquivo. A transformação grava essas variáveis no Dropbox usando um Put Atividade de arquivo (“Dropbox Put File”).

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

1. Copie o arquivo de amostra para o Dropbox

Copie o arquivo de amostra (customers.csv) de assets/sample-data directory de o conector do Dropbox à sua conta do Dropbox.

2. Crie um novo workflow

Comece com um novo workflow no projeto atual. Você pode reutilizar componentes dos cenários anteriores, mas um novo workflow torna mais fácil manter as operações separadas.

3. Adicionar um script a uma operação

Adicione um script a uma nova operação. Edite o script, definindo seu nome como “Read FTP to Vars”.

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 base 64 o arquivo de texto em /customers.csv do servidor FTP. Ajuste os valores das variáveis conforme necessário se o seu arquivo estiver em um local ou nome diferente.

Feche o script para retornar ao workflow.

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

Usando o endpoint FTP chamado ” FTP” que você configurou para este tutorial (consulte Cenários do tutorial em Tutorial do conector do Dropbox), arraste um FTP Read tipo de atividade para uma área de inserção de componentes na nova operação, após o script.

Configure como:

  • Nome: Digite “Ler”
  • Caminho: Insira uma variável global chamada [ftpPath]
  • Obter arquivos: Insira uma variável global chamada [ftpFilename]

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

5. Adicione uma atividade de colocar arquivo do dropbox à operação

Arraste um tipo de atividade Dropbox Put File da paleta de componentes para a operação após a atividade “FTP Read”.

Configure o nome do arquivo como [dropboxFilename]:

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

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

Adicione uma transformação antes da atividade “Dropbox Put File”.

Quando a transformação abrir, dê um nome a ela (como “Vars to Put”) e adicione scripts na path e content campos de destino para mapear as variáveis globais dropboxFilepath e dropboxContents para cada campo respectivo.

Quando concluídos, os campos de destino mapeados devem ter esta aparência:

7. Execute a operação

Retorne ao workflow e implantar e execute a operação. Depois que a operação for concluída e o arquivo for colocado em Dropbox, você deve ver mensagens de log como estas no log da operação, com o arquivo copiado com sucesso do Servidor FTP para Dropbox:

Variações

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

Por exemplo, você pode definir o campo de caminho na transformação para uma string vazia e, em seguida, no campo “Dropbox Put File” forneça 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 do Dropbox (put-file-request.xsd) exige que o caminho seja definido, conforme mostrado pelo [1] à esquerda do nome do campo na transformação. No entanto, você pode exigir que seja definido na interface do usuário para a atividade “Dropbox Put File” configurando o código (adapter.json) que descreve a IU.

No caso do conector do Dropbox, o código do conector (PutFileActivity.java) é escrito de forma que o definição dada na atividade “Dropbox Put File”, se especificada, tem precedência sobre o valor que é especificado na transformação.

Qual abordagem você usa depende de como você pretende que um conector seja usado ou configurado.