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:
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]
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:
Clique em Concluído para retornar ao workflow:
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:
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:
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.