Use um bucket como origem de uma aplicação
Sirva os objetos de um bucket do Object Storage por uma aplicação, com um connector do tipo storage e uma regra do Rules Engine que envia requisições a ele.
Você pode servir os objetos de um bucket do Object Storage por uma aplicação ao combinar um connector para o bucket com uma regra do Rules Engine. Uma requisição para o domínio do workload que serve a aplicação passa então a retornar o objeto armazenado sob a chave correspondente. Para conectar uma aplicação a um servidor HTTP em vez de um bucket, consulte Conecte uma aplicação a uma origem.
Uma conta que não migrou para a API v4 monta o mesmo caminho pelas Origins legadas da aplicação. Para mais informações, consulte Origins.
Pré-requisitos
Console
- Um bucket cujo
workloads_accesséread_onlyouread_write. Um bucketrestrictednão pode servir de origem para uma aplicação. Para criar um bucket, consulte Primeiros passos com Object Storage. - Uma aplicação servida por um workload. Para criar os dois, consulte Primeiros passos com Applications.
- Um personal token, enviado no header
AuthorizationcomoToken [TOKEN VALUE], porque esta página faz upload dos objetos com a API. Para criar um token, consulte Gerencie um personal token. curlou outro cliente HTTP.- Acesso ao Azion Console. Para entrar, consulte Acesse Azion Console.
Faça upload dos objetos a servir
O connector serve o que o bucket já guarda, então os objetos entram primeiro. O exemplo desta página serve uma página de dois objetos, ambos armazenados sob o prefixo src de um bucket chamado app-origin:
Em um diretório local src, crie index.html. A página vincula a folha de estilos dela por um caminho relativo:
Em um diretório styles dentro de src, crie style.css, o arquivo que a página vincula:
Para fazer upload do arquivo HTML com a API, envie uma requisição POST com a chave do objeto no caminho. Content-Type define o tipo com que o objeto é armazenado e servido:
A API responde 201 com a chave sob a qual o objeto é armazenado:
Para fazer upload da folha de estilos, envie a mesma requisição com a chave e o tipo dela:
A resposta traz a chave do segundo objeto:
O bucket guarda os dois objetos. O segmento src/ de cada chave faz parte da chave, não é uma pasta, e a plataforma o cria junto com o objeto. Sem um header Content-Type, a plataforma detecta o tipo do objeto. Azion Console e Azion CLI também fazem upload de objetos. Para mais informações, consulte Primeiros passos com Object Storage.
Crie um connector para o bucket
Um connector para um bucket nomeia o bucket do qual uma aplicação lê e o prefixo dentro dele. O prefixo define onde os caminhos da aplicação começam. Com o prefixo /src, o objeto armazenado sob src/index.html responde em /index.html, e src/styles/style.css responde em /styles/style.css. O prefixo é opcional na API e obrigatório no Azion Console.
No Azion Console, você configura connectors no menu Connectors, e não em uma aba da aplicação. Para cada campo do formulário do Console e do corpo da requisição, consulte Configurações de connector.
Console
Para criar o connector pelo Azion Console:
Acesse Azion Console > Connectors.
Na seção General, insira app-origin-connector em Name.
Na seção Connector Type, selecione Object Storage.
Selecione app-origin como o bucket do qual o connector lê.
Insira /src em Prefix, o prefixo sob o qual você fez upload dos objetos.
Azion Console mostra Connector successfully created.
Envie as requisições para o bucket
Um connector não recebe nenhuma requisição até que uma regra o defina. A regra desta seção roda na fase de requisição da aplicação. O critério dela corresponde a todo caminho, com a variável ${uri}, o operador starts_with e / como argumento, então a aplicação inteira lê do bucket. O behavior dela define o connector.
A variável ${uri} funciona em toda aplicação. Um critério com ${request_uri} precisa de Application Accelerator ativado na aplicação. Para todas as variáveis e operadores, consulte Rules Engine para Applications.
Console
Para criar a regra pelo Azion Console:
Acesse Azion Console > Applications e selecione a sua aplicação.
Selecione + Rule.
Na seção General, insira um Name, como serve-the-bucket.
Na seção Phase, selecione Request Phase. Uma regra mantém a fase em que é criada.
Na seção Criteria, defina a variável como ${uri}, o operador como starts_with e o argumento como /.
Na seção Behaviors, selecione Set Connector e, em seguida, selecione o connector para o bucket em Connector.
Selecione Save.
A regra aparece na aba Rules Engine da aplicação, sob Request.
Para o behavior e os atributos dele, consulte Set Connector.
Confirme que a aplicação serve o bucket
A regra leva algum tempo para propagar. Até lá, o domínio do workload não responde com os objetos.
Para confirmar o caminho de entrega, requisite a página pelo domínio do seu workload, com esse domínio no lugar de <your-workload-domain>:
O corpo da resposta é o objeto armazenado sob src/index.html, que o prefixo /src serve em /index.html. Ele traz o título Hello world! e o parágrafo I am an object from a bucket. O domínio de um workload termina em .map.azionedge.net, e a API o retorna em workload_domain quando cria o workload.
Acesse o mesmo endereço em um navegador. O navegador renderiza a página com a folha de estilos aplicada, que ele carrega de /styles/style.css sob o mesmo prefixo.
Se o domínio ainda não retorna o objeto, a regra não propagou. Envie a requisição de novo e procure outra causa somente depois disso. Para mais informações, consulte Solucionar problemas de Applications.
No caso de uso Entregar uma biblioteca de vídeos sob demanda, espere:
- A biblioteca é servida pelo bucket com o tipo dela. Uma requisição para
https://videos.example.com/course-101/master.m3u8traz200econtent-type: application/vnd.apple.mpegurl, o tipo armazenado no upload.
Entregue o bucket a partir de uma aplicação v3
Uma conta que opera na API v3 não tem connectors. O bucket é uma origin da aplicação, do tipo Object Storage, e uma regra aponta a aplicação para ela. Para saber qual modelo sua conta usa, consulte Verifique a migração da sua conta.
Os objetos que você subiu não precisam de mudança. Para entregá-los a partir de uma aplicação v3 no Azion Console:
Acesse Azion Console > Applications > sua aplicação.
Na aba Origins, selecione + Origin e nomeie-a.
Em Origin Type, selecione Object Storage.
Em Bucket Name, informe o nome do seu bucket. Em Prefix, informe o prefixo das chaves que você quer entregar, como /src. Deixe em branco para entregar o bucket inteiro.
Selecione Save.
Na aba Rules Engine, selecione Default Rule. Em Behaviors, no behavior Set Origin, substitua Default Origin pela origin que você criou e selecione Save.
Set Origin é o behavior v3 que o Set Connector substituiu. Para cada campo da origin, consulte Origins.