Como atualizar um objeto de um bucket do Edge Storage
Este guia descreve como você pode atualizar um objeto de um bucket do Edge Storage usando a API da Azion, CLI da Azion, e Azion Runtime.
Atualizando um objeto de um bucket
Execute a seguinte requisição PUT
no seu terminal, substituindo [TOKEN VALUE]
pelo seu personal token, <bucket_name>
pelo nome do bucket, <object_key>
pela chave do objeto, e path/file.txt
com o caminho do arquivo novo:
curl --location --request PUT 'https://api.azion.com/v4/storage/buckets/<bucket_name>/objects/<object_key>' \
--header 'Accept: application/json' \
--header 'Authorization: Token [TOKEN VALUE]' \
--header 'Content-Type: application/octet-stream' \
--data '@path/file.txt'
Você deve receber uma resposta semelhante a esta:
{
"state": "executed",
"data": {
"object_key": "people-100.txt"
}
}
Requisitos
Para atualizar um bucket:
azion update edge-storage object
A Azion CLI apresentará uma série de interações para que o objeto possa ser atualizado. Execute azion update edge-storage bucket -h
para obter mais informações sobre os dados que podem ser atualizados.
Você pode criar uma edge function para atualizar um objeto do seu bucket. Para fazer isso:
- Acesse Azion Console > Edge Function.
- Clique no botão + Edge Function.
- Dê um nome para sua função. Exemplo:
object-update
. - Na guia Code, adicione o seguinte código JavaScript, passando o nome do seu bucket e a chave do objeto:
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á servir de proxy do processo para o bucket e instanciar a edge function.
Primeiros passos de Edge ApplicationConsulte o guia de como instanciar edge functionsContribuidores