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