IMPORTANTE: esta documentação foi descontinuada. Leia a documentação Digibee Storage atualizada no nosso novo portal de documentação.
O Digibee Storage se conecta ao storage da Plataforma Digibee, possibilitando que sejam realizadas as seguintes operações com arquivos: List, Download, Upload e Delete.
Dê uma olhada nos parâmetros de configuração do componente:
Operation: operação a ser executada (Upload, Download, List ou Delete).
File Name: nome do arquivo ou caminho completo (full file path) para o arquivo local, disponível apenas nas operações Download e Upload. Este parâmetro aceita Double Braces.
Remote File Name: nome do arquivo remoto ou caminho relativo (ex.: tmp/file.txt) para o arquivo remoto. Este parâmetro aceita Double Braces e é apresentado nas operações Download, Upload e Delete.
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.
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.
Remote Directory: diretório remoto base no qual será realizada a operação selecionada. Este parâmetro aceita Double Braces e é apresentado nas operações List, Download, Upload e Delete.
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.
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.
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".
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
IMPORTANTE: a manipulação de arquivos dentro de um pipeline ocorre de forma protegida. Todos os arquivos podem ser acessados apenas por um diretório temporário, no qual cada pipeline key dá acesso ao seu próprio conjunto de arquivos.
Digibee Storage em Ação
LIST 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 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
}
UPLOAD de um arquivo gerando link para download
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): 600000
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 10 minutos (600000ms) através do link gerado na propriedade de saída urlGenerated.
DELETE 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
}