Class: ObjectStorage

@nginstack/engine/lib/cloud/ObjectStorage~ ObjectStorage


new ObjectStorage(provider, options)

Permite gravar e ler "objetos" nos 3 principais provedores de armazenamento em nuvem do mercado: Google, Amazon e Azure.

Parameters:
Name Type Description
provider string

Provedor de armazenamento em nuvem. Pode ser informado 'google', 'amazon' ou 'azure'.

options GoogleOptions | AmazonOptions | AzureOptions

Objeto contendo o conjunto de variáveis de configuração necessárias para a conexão com o serviço.

Example
const ObjectStorage = require('@nginstack/engine/lib/cloud/ObjectStorage.js');
const gcp = new ObjectStorage('google', {
  'bucketName': '...',
  'applicationCredentials': '...'
});
const info = gcp.uploadData('a/path/to/my-file.txt', 'my file content');

Methods


<static> fromConfig(key)

Retorna uma instancia de ObjectStorage referente ao servidor cadastrado.

Parameters:
Name Type Description
key number

Chave do cadastro do serviço de armazenamento.

Returns:

Instancia de ObjectStorage.

Type
ObjectStorage

delete(location)

Remove o objeto localizado no caminho informado.

Parameters:
Name Type Description
location string

Caminho do objeto a ser removido. Se não for encontrado um objeto no caminho informado será gerado erro.


download(location)

Realiza o download do objeto armazenado no repositório remoto.

Parameters:
Name Type Description
location string

Caminho completo do objeto no repositório. O caminho informado diferencia letras maiúsculas e minúsculas.

Returns:

Objeto baixado do repositório remoto. Se não for encontrado um objeto no caminho informado será gerado erro.

Type
DownloadResult

info(location)

Retorna os detalhes do objeto localizado no caminho informado.

Parameters:
Name Type Description
location string

Caminho completo do objeto no repositório. O caminho informado diferencia letras maiúsculas e minúsculas.

Returns:

Objeto com os detalhes do objeto informado. Se não for encontrado um objeto no caminho informado será gerado erro.

Type
ObjectInfo

list( [prefix])

Lista os objetos gravados no repositório. É possível filtrar os registros retornados utilizando o parâmetro "prefix" para informar o "caminho" dos objetos no repositório.

Parameters:
Name Type Argument Description
prefix string <optional>

Caminho ou parte do caminho do objeto no repositório. Se não for informado, retornará uma lista com os metadados de todos os objetos armazenados no repositório. O caminho informado diferencia letras maiúsculas e minúsculas.

Returns:

Lista com os metadados dos objetos encontrados. Nos dados retornados não há o conteúdo dos objetos. Para obter o conteúdo dos objetos deve ser utilizado o método "download". Se nenhum objeto for encontrado no caminho informado, será retornado um Array vazio.

Type
Array.<ObjectInfo>

uploadData(location, content [, options])

Grava um objeto no repositório utilizando os bytes informados. O conteúdo informado não passará por nenhum tipo de codificação antes da gravação.

Parameters:
Name Type Argument Description
location string

Caminho completo do objeto no repositório remoto.

content string | ArrayBuffer | Uint8Array

Conteúdo do objeto. Se for informada uma String, será considerada como string binária previamente codificada.

options UploadOptions <optional>

Opções de configuração do objeto enviado.

Returns:

Objeto com os detalhes do objeto gravado no repositório remoto.

Type
ObjectInfo

uploadFile(location, filePath [, options])

Grava um objeto no repositório informando o caminho do arquivo de origem no sistema operacional. Da mesma forma que o método "uploadData", este método não realiza a codificação dos dados antes da gravação no repositório.

Parameters:
Name Type Argument Description
location string

Caminho completo do objeto no repositório remoto.

filePath string

Caminho do arquivo que será enviado para o repositório.

options UploadOptions <optional>

Opções de configuração do objeto enviado.

Returns:

Objeto com os detalhes do objeto gravado no repositório remoto.

Type
ObjectInfo

uploadText(location, content [, options])

Grava um objeto no repositório utilizando o texto informado.

Parameters:
Name Type Argument Description
location string

Caminho completo do objeto no repositório remoto.

content string

Conteúdo do objeto. Se for informada uma String, será considerada como string binária previamente codificada.

options UploadOptions <optional>

Opções de configuração do objeto enviado. O conteúdo será codificado em UTF-8 antes de ser gravado no repositório. Por esse motivo, se for informado um "content-type" com "charset" diferente de UTF-8 será gerado um erro. Para realizar upload definindo um "content-type" com "charset" diferente de UTF-8, deve ser utilizado o método "uploadData" ou "uploadFile".

Returns:

Objeto com os detalhes do objeto gravado no repositório remoto.

Type
ObjectInfo