Ir para o conteúdo

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

%%{init: {"themeVariables": {"lineColor": "#6b7280", "edgeLabelBackground": "#f5f5f5"}}}%% flowchart LR A[Box Search] --> B[Transformation] B -->|On Success| C[Box Download File] --> D[Transformation] --> E[Target activity]

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

%%{init: {"themeVariables": {"lineColor": "#6b7280", "edgeLabelBackground": "#f5f5f5"}}}%% flowchart LR A[Source activity] --> B[Transformation] --> C[Box Upload File]

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

  1. Na tela de design, crie uma nova operação.

  2. Adicione uma atividade Search do Box como origem. Clique duas vezes na atividade para abrir sua configuração.

  3. Name: Digite um nome como Search Box Files.

  4. 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).

  5. Type: Selecione File.

  6. Query: Opcionalmente, digite um nome de arquivo ou palavra-chave para restringir os resultados. Deixe em branco para retornar todos os arquivos da pasta.

  7. Clique em Finished.

  8. Adicione uma etapa Transformation como destino da operação.

  9. 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 entries onde cada item tem um campo id. Este script seleciona o primeiro resultado. Para processar vários arquivos, percorra o array entries e chame a operação de download para cada ID.

  10. Salve a transformação.

Etapa 2: Configurar a operação Download File

  1. Na tela de design, crie uma segunda operação.

  2. Adicione uma atividade Download File do Box como origem. Clique duas vezes na atividade para abrir sua configuração.

  3. Name: Digite um nome como Download Box File.

  4. File ID: Digite [box_file_id] para referenciar a variável de projeto preenchida pela operação Search.

  5. Clique em Finished.

  6. Adicione uma etapa Transformation após a atividade Download File. O schema de resposta inclui um campo fileContent contendo 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 fileText para os campos de destino conforme exigido pelo destino.

  7. Adicione uma atividade de destino e configure-a para o destino.

  8. 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

  1. Na tela de design, crie uma nova operação.

  2. Adicione uma atividade de origem e configure-a para os dados a serem enviados.

  3. Adicione uma atividade Box Upload File como destino. Clique duas vezes na atividade para abrir sua configuração.

  4. Name: Digite um nome como Upload Box File.

  5. Clique em Finished.

Etapa 2: Configurar a transformação

  1. Adicione uma etapa Transformation entre a atividade de origem e a atividade Upload File.

  2. 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 $textContent pela 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 fileContent diretamente sem recodificar.

  3. Salve a transformação.

Verificar a integração

  1. Implante e execute a operação Search manualmente.

  2. Nos logs de operação, confirme que a atividade Search retorna resultados. Se box_file_id estiver 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.

  3. 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.

  4. 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.