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.