Digibee Storage

A Digibee Integration Platform oferece várias opções para armazenamento de arquivos. O Portal de Documentação ajuda os usuários a identificar a melhor solução. Esse artigo aborda Digibee Storage.

O Digibee Storage se conecta ao storage da Digibee Integration Platform, possibilitando que sejam realizadas as seguintes operações com arquivos: List, Download, Upload e Delete.

Parâmetros

Dê uma olhada nos parâmetros de configuração do componente. Parâmetros suportados por expressões Double Braces estão marcados com (DB).

Parâmetro
Descrição
Valor padrão
Tipo de dado

Operation

Operação a ser executada (Upload, Download, List ou Delete).

Upload

String

File Name (DB)

Nome do arquivo ou caminho completo (full file path) para o arquivo local, disponível apenas nas operações Download e Upload.

local-pdf-test.pdf

String

Remote File Name (DB)

Nome do arquivo remoto ou caminho relativo (ex.: tmp/file.txt) para o arquivo remoto. Este parâmetro é apresentado nas operações Download, Upload e Delete.

pdf-test.pdf

String

Page Size

Tamanho da página, ou seja, a quantidade de itens a serem retornados quando a operação List é utilizada. Se o valor não for especificado, todos os itens são retornados. Caso haja mais itens do que a quantidade determinada neste parâmetro, é possível solicitar uma segunda página (veja Page Token), a qual retorna os itens restantes. Disponível apenas se o parâmetro Operation assumir valor List.

Todos os itens retornados

Inteiro

Page Token

Token utilizado para solicitar a próxima página quando a operação List é executada. Nessa próxima página será retornada a quantidade de itens definidos no parâmetro Page Size.

N/A

String

Remote Directory

Diretório remoto base no qual será realizada a operação selecionada. Este parâmetro é apresentado nas operações List, Download, Upload e Delete.

Folder

String

Generate Download Link

Se a opção estiver ativada, um link público para download do arquivo é gerado. Este parâmetro é aplicável apenas na operação Upload.

False

Booleano

Link Expiration

Tempo para expiração do link, em milissegundos. Este parâmetro é válido apenas se a opção Generate Download Link estiver ativada.

N/A

Inteiro

Fail On Error

Se a opção estiver habilitada, a execução do pipeline com erro será interrompida; do contrário, a execução do pipeline continua, mas o resultado vai mostrar um valor falso para a propriedade "success".

False

Booleano

Fluxo de mensagens

Entrada

Não se espera nenhuma mensagem de entrada específica, mas apenas o preenchimento dos parâmetros obrigatórios que variam conforme a operação selecionada. Veja abaixo a obrigatoriedade de parâmetros para cada operação:

  • List: todos os parâmetros são opcionais

  • Download: File Name e Remote File Name

  • Upload: File Name e Remote File Name

  • Delete: Remote File Name

No caso da operação Update, o arquivo informado no parâmetro File Name precisa estar no diretório local do pipeline.

Saída

Ao executar o componente utilizando a operação List, a seguinte estrutura de JSON será gerada:

{
  "content": [
    {
      "name": "temp//tmp/processed/file-3.txt",
      "contentType": "application/octet-stream",
      "contentEncoding": null,
      "createTime": 1581689153448,
      "bucket": "test-bucket",
      "size": 10
    },
    { ... }
  ],
  "pageToken": "XXXXXXXXXXXXL3RtcC9wcm9jZXNzZWQvZmlsZS0zLnR4dA==",
  "fileName": null,
  "remoteFileName": null,
  "remoteDirectory": "",
  "success": true
}
  • content: um vetor (array) de objetos para cada arquivo encontrado.

    • name: nome do arquivo remoto.

    • contentType: MIME type do arquivo.

    • contentEncoding: encoding do arquivo, caso exista.

    • createTime: timestamp da data de criação do arquivo.

    • bucket: bucket onde o arquivo se encontra.

    • size: tamanho do arquivo em bytes.

  • pageToken: token para recuperar próxima página quando o parâmetro Page Size é informado.

  • fileName: nome do arquivo local.

  • remoteFileName: nome do arquivo remoto.

  • remoteDirectory: nome da pasta base remota.

  • success: "true" se a última operação ocorreu com sucesso.

  • error: surge se um erro ocorreu e o Fail on Error é "false".

Ao executar o componente utilizando as operações Download, Upload e Delete, a seguinte estrutura de JSON será gerada:

{
  "fileName": "file.txt",
  "remoteFileName": "tmp/iso-8859-1-test.txt",
  "remoteDirectory": "",
  "success": true
}
  • fileName: nome do arquivo local.

  • remoteFileName: nome do arquivo remoto.

  • remoteDirectory: nome da pasta base remota.

  • success: "true" se a última operação ocorreu com sucesso.

Digibee Storage em Ação

List - lista de arquivos

Entrada

Parâmetros

  • Operation: List

  • Remote Directory: DGB-413

  • Page Size: 2

Saída

{
  "content": [
    {
      "name": "DGB-413/",
      "contentType": "text/plain",
      "contentEncoding": null,
      "createTime": 1552394033410,
      "bucket": "digibee-test-digibee-test-bucket",
      "size": 11
    },
    {
      "name": "DGB-413/iso8859-2.txt",
      "contentType": "text/plain",
      "contentEncoding": null,
      "createTime": 1552395963553,
      "bucket": "digibee-test-digibee-test-bucket",
      "size": 55
    }
  ],
  "pageToken": "ChVER0ItNDEzL2lzbzg4NTktMi50eHQ=",
  "fileName": null,
  "remoteFileName": null,
  "remoteDirectory": "DGB-413",
  "success": true
}

Como é possível ver, o resultado acima retorna a propriedade pageToken com um valor de referência para a próxima página. Essa propriedade será retornada quando o parâmetro Page Size é configurado (no exemplo está definido com o valor 2) e também quando há mais arquivos a serem listados.

List - lista de vários arquivos usando paginação

Entrada

Parâmetros

  • Operation: List

  • Remote Directory: DGB-413

  • Page Size: 2

  • Page Token: ChVER0ItNDEzL2lzbzg4NTktMi50eHQ=

Saída

{
  "content": [
    {
      "name": "DGB-413/utf-16-test.txt",
      "contentType": "text/plain",
      "contentEncoding": null,
      "createTime": 1552394973030,
      "bucket": "digibee-test-digibee-test-bucket",
      "size": 70
    },
    {
      "name": "DGB-413/utf-test.txt",
      "contentType": "text/plain",
      "contentEncoding": null,
      "createTime": 1552394644597,
      "bucket": "digibee-test-digibee-test-bucket",
      "size": 55
    }
  ],
  "fileName": null,
  "remoteFileName": null,
  "remoteDirectory": "DGB-413",
  "success": true
}

No resultado acima a propriedade pageToken não foi retornada. Isso sinaliza que não há mais arquivos a serem listados.

Download de um arquivo

Entrada

Parâmetros

  • Operation: Download

  • File Name: iso8859-2.txt

  • Remote File Name: iso8859-2.txt

  • Remote Directory: DGB-413

Saída

{
  "fileName": "iso8859-2.txt",
  "remoteFileName": "iso8859-2.txt",
  "remoteDirectory": "DGB-413",
  "success": true
}

Será realizado o download do arquivo no diretório local do pipeline.

Upload de um arquivo

Entrada

  • Arquivo local: file.txt

Parâmetros

  • Operation: Upload

  • File Name: file.txt

  • Remote File Name: file.txt

  • Remote Directory: DGB-413

Saída

{
  "fileName": "file.txt",
  "remoteFileName": "file.txt",
  "remoteDirectory": "DGB-413",
  "success": true
}

Entrada

  • Arquivo local: file.txt

Parâmetros

  • Operation: Upload

  • File Name: file.txt

  • Remote File Name: file.txt

  • Remote Directory: DGB-413

  • Generate A Download Link: true

  • Link Expiration (in ms): 604800000

Saída

{
  "fileName": "file.txt",
  "remoteFileName": "file.txt",
  "remoteDirectory": "DGB-413",
  "success": true,
  "urlGenerated": "<URL TO DOWNLOAD THE FILE>"
}

Com a configuração dos parâmetros de entrada acima, o arquivo ficará disponível para download por 7 dias (604800000ms) através do link gerado na propriedade de saída urlGenerated.

Delete - Remoção de um arquivo

Entrada

Parâmetros

  • Operation: Delete

  • Remote File Name: file.txt

  • Remote Directory: DGB-413

Saída

{
  "fileName": null,
  "remoteFileName": "file.txt",
  "remoteDirectory": "DGB-413",
  "success": true
}

Atualizado

Isto foi útil?