Como fazer upload de um objeto para um bucket do Edge Storage
Este guia descreve o processo de upload de um objeto para um bucket do Edge Storage usando a API da Azion, Azion CLI, e Azion Runtime.
Fazendo o upload de um objeto para um bucket
Para fazer o upload de um objeto, execute a seguinte requisição POST
no seu terminal, substituindo [TOKEN VALUE]
pelo seu personal token, <bucket_name>
pelo nome do seu bucket, <object_key>
por um ID ou nome para o objeto, o header Content-Type
com o tipo MIME a ser enviado, e o objeto enviado em formato binário:
curl --location 'https://api.azion.com/v4/storage/buckets/<bucket_name>/objects/<object_key>' \
--header 'Accept: application/json; version=3' \
--header 'Content-Type: text/csv' \
--header 'Authorization: Token [TOKEN VALUE]' \
--data '@./path/file.csv'
Você deve receber a seguinte resposta:
{
"state": "executed",
"data": {
"object_key": "folder/csv-file"
}
}
Requisitos
Para fazer o upload de um objeto para um bucket do Edge Storage:
azion create edge-storage object --bucket-name bucketname --source pathtoyourfile --object-key objectname
Você pode criar uma edge function para fazer o upload de objetos para seu bucket usando um comando POST
e verificar se um objeto está disponível usando um comando GET
. Para fazer isso:
- Acesse Azion Console > Edge Functions.
- Clique no botão + Edge Function.
- Dê um nome para sua função. Exemplo:
my-bucket POST
. - Na guia Code, adicione o seguinte código JavaScript:
import Storage from "azion:storage";
async function handleRequest(event) { try{ const bucket = “mybucket” const storage = new Storage(bucket); const key = "test"; const inputStream = event.request.body; let contentLength = event.request.headers.get("content-length"); await storage.put(key, inputStream, { "content-length": contentLength }); return new Response("OK"); }catch(error){ return new Response(error, {status:500}); }}
addEventListener("fetch", (event) => { event.respondWith(handleRequest(event));});
- Clique no botão Save.
Uma vez que você tenha criado a edge function, você precisa criar uma edge application que irá fazer o proxy para o processo de upload do bucket e instanciar a edge function.
Primeiros passos de Edge ApplicationConsulte o guia de como instanciar edge functionsContribuidores