Object Storage API
Descubra como usar a API de Functions para gerenciar dados no Azion Object Storage, incluindo métodos para armazenar, recuperar e excluir objetos.
A Functions Storage API é uma interface que permite o acesso ao Azion Object Storage. Através dessa interface, é possível ler e escrever dados no storage e seus buckets.
Instanciação da classe
Para a utilização dessa API, é necessário importar e instanciar a classe Storage, passando o nome do bucket.
Sintaxe
Importação:
Instanciação:
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
bucket | String | Nome de um bucket |
Valor de Retorno
Objeto Storage usado para acessar o Object Storage.
Métodos
async storage.put
O método Storage.put é usado para inserir um novo objeto no storage.
Sintaxe
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
key | String | Identificador que permite a busca por um objeto no storage |
value | ArrayBuffer ou ReadableStream | Conteúdo do objeto sendo armazenado. No caso de value implementar um ReadableStream, as APIs de Stream podem ser usadas e a opção content-length é obrigatória |
options | Object | Os atributos options são descritos na tabela abaixo |
options
Para passar o parâmetro options, você deve fornecer um objeto com os seguintes atributos:
| Atributo | Tipo | Descrição |
|---|---|---|
content-type | String | O content-type do objeto sendo criado. É semelhante ao cabeçalho HTTP content-type e descreve como o conteúdo do Object Storage deve ser tratado. content-type é opcional. O valor padrão é application/octet-stream |
content-length | String | O tamanho do objeto a ser criado, em bytes. É obrigatório quando o valor é ReadableStream |
metadata | Object | Qualquer objeto JavaScript contendo informações sobre o objeto que será armazenado no Storage. Todas as propriedades do objeto devem ser strings |
Retorno
| Sucesso | Erro |
|---|---|
| Nenhuma resposta | Lança um StorageError |
Exemplo de Código
- Para persistir o corpo da requisição:
- Para persistir um objeto JSON:
- Para salvar um JSON com metadados:
async storage.get(key)
O método storage.get(key) é usado para recuperar um objeto.
Sintaxe
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
key | String | Identificador que permite a busca por um objeto no bucket |
Retorno
| Sucesso | Erro |
|---|---|
Retorna um objeto da classe StorageObject | Lança um StorageError |
Exemplo de Código
- Para recuperar e retornar o conteúdo do storage:
- Para obter um JSON do storage:
- Para ler os metadados de um objeto:
async storage.delete(key)
O Storage.delete(key) é usado para remover um objeto do Object Storage.
Sintaxe
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
key | String | Identificador que permite a busca por um objeto no bucket |
Retorno
| Sucesso | Erro |
|---|---|
| Nenhuma resposta | Lança um StorageError |
Exemplo de Código
- Para excluir um objeto armazenado no Object Storage:
async storage.list()
O método Storage.list() é usado para listar todos os objetos pertencentes ao bucket específico.
Sintaxe
Retorno
| Sucesso | Erro |
|---|---|
| Retorna StorageObjectList | Lança um StorageError |
Exemplo de Código
- Listando objetos do Object Storage:
Métodos da Classe StorageObject
| Método | Descrição |
|---|---|
StorageObject.content | Propriedade de leitura contendo um ReadableStream para o conteúdo armazenado no storage |
async StorageObject.arrayBuffer() | Função assíncrona que retorna um ArrayBuffer com o conteúdo armazenado no storage. Este método consome o ReadableStream da propriedade de content |
StorageObject.metadata | Propriedade de leitura contendo um objeto Map com os metadados do objeto armazenados no storage |
StorageObject.contentType | Propriedade de leitura contendo o content-type do conteúdo armazenado no storage |
StorageObject.contentLength | Propriedade de leitura contendo o tamanho em bytes do conteúdo armazenado no storage |