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