Ler e escrever arquivos no Box usando o Jitterbit Studio
Introdução
O conector Box fornece duas atividades dedicadas no nível de arquivo: Download File para ler arquivos do Box e Upload File para escrever arquivos no Box. Ambas as atividades trocam conteúdo de arquivo como strings codificadas em Base64. Use Base64Decode para decodificar o conteúdo baixado ao processar texto e Base64Encode para codificar o conteúdo antes de fazer upload.
Antes de criar as operações descritas neste guia, configure uma conexão Box com credenciais JWT conforme descrito em Pré-requisitos do Box.
Padrão de design
O padrão usa dois grupos de operações independentes.
Lendo arquivos do Box
A operação Search localiza arquivos em uma pasta do Box e passa o ID do arquivo para uma variável de projeto. A operação Download File, acionada no sucesso da operação Search, usa essa variável como entrada de File ID.
Escrevendo arquivos no Box
A transformação fornece os campos obrigatórios fileName e fileContent para a atividade Upload File. fileContent deve ser uma string codificada em Base64.
Parte 1: Ler um arquivo do Box
Etapa 1: Configurar a operação Search
-
Na tela de design, crie uma nova operação.
-
Adicione uma atividade Search do Box como origem. Clique duas vezes na atividade para abrir sua configuração.
-
Name: Digite um nome como
Search Box Files. -
Ancestor Folder IDs: Digite o ID da pasta do Box para pesquisar. O ID da pasta aparece na URL ao visualizar uma pasta no Box (por exemplo, o ID em
https://app.box.com/folder/123456789é123456789). -
Type: Selecione File.
-
Query: Opcionalmente, digite um nome de arquivo ou palavra-chave para restringir os resultados. Deixe em branco para retornar todos os arquivos da pasta.
-
Clique em Finished.
-
Adicione uma etapa Transformation como destino da operação.
-
Na transformação, adicione um nó de script no nível raiz que armazena o ID do primeiro arquivo correspondente em uma variável de projeto:
$box_file_id = Source.entries[0].id;Nota
A resposta Search inclui um array
entriesonde cada item tem um campoid. Este script seleciona o primeiro resultado. Para processar vários arquivos, percorra o arrayentriese chame a operação de download para cada ID. -
Salve a transformação.
Etapa 2: Configurar a operação Download File
-
Na tela de design, crie uma segunda operação.
-
Adicione uma atividade Download File do Box como origem. Clique duas vezes na atividade para abrir sua configuração.
-
Name: Digite um nome como
Download Box File. -
File ID: Digite
[box_file_id]para referenciar a variável de projeto preenchida pela operação Search. -
Clique em Finished.
-
Adicione uma etapa Transformation após a atividade Download File. O schema de resposta inclui um campo
fileContentcontendo o arquivo baixado como uma string codificada em Base64. Para trabalhar com o conteúdo como texto, decodifique-o em um nó de script:$fileText = Base64Decode(Source.fileContent);Mapeie
fileTextpara os campos de destino conforme exigido pelo destino. -
Adicione uma atividade de destino e configure-a para o destino.
-
Volte para a operação Search. Nas suas configurações de operação, configure a ação On Success para executar a operação Download File. Isso encadeia as duas operações para que o download comece apenas após o ID do arquivo ter sido recuperado.
Parte 2: Gravar um arquivo no Box
Etapa 1: Configurar a atividade Upload File
-
Na tela de design, crie uma nova operação.
-
Adicione uma atividade de origem e configure-a para os dados a serem enviados.
-
Adicione uma atividade Box Upload File como destino. Clique duas vezes na atividade para abrir sua configuração.
-
Name: Digite um nome como
Upload Box File. -
Clique em Finished.
Etapa 2: Configurar a transformação
-
Adicione uma etapa Transformation entre a atividade de origem e a atividade Upload File.
-
O esquema de solicitação do Upload File requer dois campos:
-
fileName: Mapeie um valor de string para o nome do arquivo de destino (por exemplo,"output.csv"). Pode ser um valor literal, um campo dos dados de origem ou uma variável do projeto. -
fileContent: Mapeie uma string codificada em Base64. Para codificar o conteúdo de texto antes de enviar, use um nó de script:Base64Encode(HexToBinary(StringToHex($textContent)))Substitua
$textContentpela variável ou campo de origem que contém o texto a ser enviado.Dica
Se os dados de origem já forem uma string codificada em Base64 (por exemplo, de uma atividade Box Download File anterior), mapeie
fileContentdiretamente sem recodificar.
-
-
Salve a transformação.
Verificar a integração
-
Implante e execute a operação Search manualmente.
-
Nos logs de operação, confirme que a atividade Search retorna resultados. Se
box_file_idestiver vazio ou a pesquisa não retornar entradas, verifique o valor Ancestor Folder IDs e confirme se a conexão Box consegue acessar a pasta de destino. -
Após a conclusão da operação Search, confirme que a operação Download File é executada automaticamente. Nos logs, verifique se o download foi bem-sucedido e se a transformação processou o conteúdo do arquivo conforme esperado.
-
Implante e execute a operação de gravação. Abra o Box e confirme se o arquivo enviado aparece no local esperado com o nome de arquivo e conteúdo corretos.
Dica
Para agendar qualquer uma das operações para executar automaticamente, consulte Schedule an operation to run automatically.