Como usar um bucket do Edge Storage como origem de uma edge application estática

Edge Storage da Azion permite que você crie buckets e os use como fonte de conteúdo através de Origins. Dessa forma, você pode tornar público o conteúdo do bucket.

Este guia abrange como criar e servir uma aplicação estática recuperada de um bucket do Edge Storage usando a API da Azion e o Azion Console.

saiba mais sobre Edge Storage

Consulte os guias Como criar e modificar um bucket do Edge Storage para operações de bucket e Como fazer o upload e download de objetos de um bucket do Edge Storage para operações de objetos.


Criar um bucket e fazer upload de arquivos

Esta seção descreve como você pode fazer upload de objetos para um bucket e manter a estrutura do projeto usando a API da Azion. Neste cenário, você criará uma aplicação estática usando dois arquivos, distribuídos em pastas da seguinte forma:

src/index.html
src/styles/style.css
  1. Crie o seguinte arquivo index.html dentro de um diretório local src:
src/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="styles/style.css">
</head>
<body>
<h1>Hello world!</h1>
<p>I am an object from a bucket.</p>
</body>
</html>
  1. Agora crie o arquivo style.css, que é referenciado no HTML, sob a pasta styles no mesmo diretório:
src/styles/style.css
body {
background-color: black;
}
h1, p {
color: #F3652B;
}
  1. Execute a seguinte requisição POST no seu terminal, substituindo [TOKEN VALUE] pelo seu personal token e name pelo nome desejado do bucket para criar um bucket de leitura e escrita:
Terminal window
curl --location 'https://api.azion.com/v4/storage/buckets' \
--header 'Accept: application/json; version=3' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token [TOKEN VALUE]' \
--data '{
"name": "app-origin",
"edge_access": "read_write"
}'
  1. Você deverá receber a seguinte resposta:
{
"state": "executed",
"data": {
"name": "app-origin",
"edge_access": "read_write"
}
}
  1. Execute as seguintes requisições POST no seu terminal para cada arquivo, substituindo <nome_do_bucket> pelo nome do bucket que você acabou de criar:

    • Para o arquivo index.html, execute o comando a seguir utilizando src/index.html como a object key e adicionando o path do objeto como data:
Terminal window
curl --location 'https://api.azion.com/v4/storage/buckets/<bucket_name>/objects/src/index.html' \
--header 'Accept: application/json; version=3' \
--header 'Content-Type: text/html' \
--header 'Authorization: Token [TOKEN VALUE]' \
--data '@./src/index.html'
  • Para o arquivo styles.css, execute o seguinte comando utilizando src/styles/style.css como a object key e adicionando o path do objeto como data:
Terminal window
curl --location 'https://api.azion.com/v4/storage/buckets/<bucket_name>/objects/src/styles/style.css' \
--header 'Accept: application/json; version=3' \
--header 'Content-Type: text/css' \
--header 'Authorization: Token [TOKEN VALUE]' \
--data '@./src/styles/style.css'
  1. Você deverá receber as seguintes respostas para os arquivos:
{
"state": "executed",
"data": {
"object_key": "src/index.html"
}
}
{
"state": "executed",
"data": {
"object_key": "src/styles/style.css"
}
}

Criando uma edge application e definindo a origem tipo Edge Storage

Agora que seu bucket está populado com arquivos, você pode criar uma nova edge application e um domínio para definir o bucket como a origem do conteúdo e servir esses objetos.

Para facilitar esse processo, use o template Edge Application Proxy:

  1. Acesse o Azion Console.
  2. Na página inicial, selecione a opção Start with a template.
  3. Encontre o card do Edge Application Proxy e selecione-o.
  4. Clique na aba Settings para abrir o formulário de configuração.
  5. Dê à sua application um nome fácil de lembrar.
  6. Em Origin Address, digite httpbin.org.
    • Esta origem é provisória e será substituída mais tarde por uma origem de Edge Storage.
  7. Em Route to bypass, digite / para especificar o caminho raiz da aplicação.
  8. Aguarde o processo de deploy terminar.
  9. Copie o domínio da application, no formato http://xxxxxxxxxx.map.azionedge.net/.

Agora você precisa configurar uma nova origem tipo Edge Storage e determinar que sua aplicação deve recuperar o conteúdo do bucket e prefixo que você criou. Para fazer isso:

  1. Acesse o Azion Console > Edge Application.
  2. Clique na proxy edge application que você criou nos passos anteriores.
  3. Navegue até a aba Origins.
  4. Clique no botão Add Origin.
  5. Dê à sua origem um nome fácil de lembrar.
  6. Em Origin Type, selecione Edge Storage.
  7. Em Bucket Name, adicione o nome do bucket que você criou nos passos anteriores.
  8. Em Prefix, adicione /src, que é o prefixo que você adicionou às object keys enviadas anteriormente.
  9. Clique no botão Save.

Para ativar a origem na sua edge application:

  1. Navegue até a aba Rules Engine.
  2. Selecione a Default Rule.
  3. Em Behaviors, no comportamento Set Origin, substitua a Default Rule pela origem que você criou para o seu bucket.
  4. Clique no botão Save.
  5. Aguarde algum tempo para que as mudanças se propaguem pelo edge.

Uma vez feitas as mudanças, acesse http://xxxxxxxxxx.map.azionedge.net/index.html para visualizar o arquivo HTML que você fez upload com o estilo CSS aplicado.