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. |
Examples
const ObjectStorage = require('@nginstack/engine/lib/cloud/ObjectStorage.js');
const storage = ObjectStorage.fromConfig(99999999);
const info = storage.uploadData('a/path/to/my-file.txt', 'my file content');
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');
Members
-
readOnly :boolean
-
Indica se o acesso ao serviço está sendo feito em modo somente leitura.
O acesso será somente para leitura se:
- No cadastro do serviço, localizado em "Administração do sistema > Serviços em nuvem > Armazenamento de objetos" o campo "Somente leitura" estiver marcado.
- Se o Engine não conseguir confirmar que a base de dados corrente é a base proprietária do bucket. Isso pode acontecer se no bucket informado no cadastro do serviço não for encontrado o arquivo de manifesto ou se o manifesto não indicar que a base de dados corrente é a base proprietária do bucket.
Type:
- boolean
Methods
-
<static> fromConfig(key [, options])
-
Retorna uma instancia de ObjectStorage referente ao servidor cadastrado.
Parameters:
Name Type Argument Description keynumber Chave do cadastro do serviço de armazenamento.
optionsObject <optional>
Opções de conexão ao serviço.
Properties
Name Type Argument Description ignoreOwnershipboolean <optional>
Conecta ao serviço no modo somente leitura, independente da configuração do serviço no processo de cadastro.
takeOwnershipboolean <optional>
Força a associação do bucket à base de dados corrente. Essa opção deve ser utilizada com cuidado, pois somente um bucket pode estar vinculado a uma base de dados com acesso de escrita. Antes de vincular a esta base de dados, verifique se há uma outra base de dados que esteja utilizando este bucket e que perderá o acesso de escrita após o novo vínculo, evitando a interrupção de processos importantes que utilizem o bucket.
Returns:
Instancia de ObjectStorage.
- Type
- ObjectStorage
-
delete(location)
-
Remove o objeto localizado no caminho informado.
Parameters:
Name Type Description locationstring 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 locationstring 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
-
exists(location)
-
Retorna se o objeto no caminho informado existe ou não.
Parameters:
Name Type Description locationstring Caminho do objeto a ser consultado.
Returns:
- Type
- boolean
-
info(location)
-
Retorna os detalhes do objeto localizado no caminho informado.
Parameters:
Name Type Description locationstring 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 prefixstring <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 locationstring Caminho completo do objeto no repositório remoto.
contentstring | ArrayBuffer | Uint8Array Conteúdo do objeto. Se for informada uma String, será considerada como string binária previamente codificada.
optionsUploadOptions <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 locationstring Caminho completo do objeto no repositório remoto.
filePathstring Caminho do arquivo que será enviado para o repositório.
optionsUploadOptions <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 locationstring Caminho completo do objeto no repositório remoto.
contentstring Conteúdo do objeto. Se for informada uma String, será considerada como string binária previamente codificada.
optionsUploadOptions <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