Este tópico orienta você sobre como utilizar o EdgeRoutine, desde a ativação do service até a implantação da sua primeira rotina.
O Alibaba Cloud DCDN deixará de oferecer o recurso EdgeRoutine para novos usuários às 00:00 (UTC+8) de 1º de maio de 2025. Os usuários existentes não serão afetados.
Caso precise desse recurso, recomendamos fazer upgrade para o service ESA e utilizar o recurso Functions and Pages do ESA.
Fluxo de trabalho
Para usar o EdgeRoutine, é necessário primeiro ativar o DCDN. A figura a seguir ilustra o fluxo de trabalho.
O EdgeRoutine está atualmente em versão beta e disponível apenas para clientes selecionados. Se o pico diário de largura de banda do seu service Alibaba Cloud CDN ou DCDN ultrapassar 500 Mbps, você pode abrir um ticket para solicitar acesso. Após a aprovação da solicitação, o item de menu EdgeRoutine aparecerá no painel de navegação.
Ative o service EdgeRoutine
Faça login no console DCDN.
No painel de navegação à esquerda, clique em EdgeRoutine.
Clique em para ativar o service.
Crie e configure uma rotina
Faça login no console DCDN.
No painel de navegação à esquerda, clique em EdgeRoutine.
-
Se esta for a primeira vez que você utiliza o EdgeRoutine, será necessário criar um subdomínio antes de prosseguir.
-
Na página EdgeRoutine, clique em Create Subdomain.

-
Na caixa de diálogo Create Subdomain, insira um nome de subdomínio.
NotaO subdomínio funciona como um repositório para todas as suas rotinas e não pode ser alterado após a criação.
Esse subdomínio atua como identificador exclusivo para cada usuário e compõe parte do ID da rotina.
O nome deve conter apenas letras minúsculas, dígitos e hifens (-), com no mínimo dois caracteres, por exemplo:
subdomain-name.
Clique em OK.
-
-
Na página EdgeRoutine, clique em Create Routine.

Parâmetro
Descrição
Routine Name
Insira um nome para a rotina.
NotaThe name can contain lowercase letters, digits, and hyphens (-). The name cannot be less than 2 characters in length. Example: routine-name. The routine name cannot be modified after it is created.
Description
(Opcional) Uma descrição para a rotina.
Specification
Tempo máximo de CPU para uma única execução de rotina, excluindo o tempo de espera de I/O para respostas de rede. O tempo máximo de execução é de 120 segundos e a memória disponível é de 128 MB. As taxas variam conforme a especificação escolhida. A especificação de 50 ms vem selecionada por padrão. Para mais informações, consulte Billing of EdgeRoutine.
CPU Time Slice for Individual Requests: 5 ms
CPU Time Slice for Individual Requests: 50 ms (Padrão)
CPU Time Slice for Individual Requests: 100 ms
-
Após criar a rotina, clique em Details na coluna Actions para abrir a página de detalhes. Cada ambiente (produção, staging e canary opcional) possui uma configuração independente que você pode modificar.
Parâmetro
Descrição
Routine Specifications
Tempo máximo de CPU para uma única execução de rotina, excluindo o tempo de espera de I/O para respostas de rede. O tempo máximo de execução é de 120 segundos e a memória disponível é de 128 MB. A especificação de 50 ms vem selecionada por padrão.
CPU Time Slice for Individual Requests: 5 ms
CPU Time Slice for Individual Requests: 50 ms (Padrão)
CPU Time Slice for Individual Requests: 100 ms
Domain Name Whitelist
Define os domínios que podem ser associados a esta rotina.
Domínios com curinga são suportados.
Por padrão, a lista de permissões de nomes de domínio está vazia, permitindo que qualquer domínio seja associado à rotina.
NotaPor exemplo, se você adicionar
example.comà lista de permissões, apenas requisições originadas deexample.compoderão acionar essa rotina. Requisições de outros domínios serão rejeitadas.
Associe um domínio a uma rotina
Uma rotina precisa de um domínio para servir como ponto de entrada das requisições do cliente. É possível utilizar um domínio acelerado pelo Alibaba Cloud CDN ou DCDN. Depois de criar e configurar a rotina, associe seu domínio Alibaba Cloud CDN ou DCDN a ela. Assim, as requisições dos clientes para esse domínio acionarão a rotina. O procedimento varia dependendo do console onde o domínio está hospedado.
Faça login no console DCDN.
No painel de navegação à esquerda, clique em Domain Names.
Na página Domain Names, localize o nome de domínio desejado e clique em Configure.
No painel de navegação à esquerda do domínio, clique em EdgeRoutine.
-
Na página EdgeRoutine, ative o recurso e configure o Routine ID.

Parâmetro
Descrição
Routine ID
Identificador exclusivo de cada rotina. O formato é
routine-name.subdomain.NotaNo painel de navegação à esquerda do console DCDN, clique em EdgeRoutine. Você encontra o ID da rotina correspondente na página Function.

Trigger Mode
Requisições para o domínio ou DCDN acionam a rotina. Existem dois modos disponíveis:
Redirect: As requisições para o domínio ou DCDN são totalmente processadas pela rotina. Você pode escrever código próprio para responder diretamente ao cliente, ler do cache usando a Cache API ou buscar conteúdo na origem.
Bypass: As requisições para o domínio ou DCDN apenas disparam a execução da rotina e depois seguem a configuração normal do ou DCDN para redirecionar à origem. Este modo é ideal para cenários como autenticação ou logging.
Redirect to Origin if Error Occurs
Yes: Se a execução da rotina falhar, o ponto de presença (POP) encaminha a requisição do cliente para o servidor de origem do domínio ou DCDN. Isso permite implementar mecanismos de fallback e recuperação de desastres no servidor de origem.
No: Caso a execução da rotina falhe, o POP retorna um código de status 5xx diretamente ao cliente.
Nota-
Ao usar uma rotina pela primeira vez, recomendamos definir o parâmetro Redirect to Origin if Error Occurs como No. Utilize o código de status HTTP 5xx retornado para solucionar problemas.
-
Se ocorrer uma exceção, haverá cobrança referente ao número de requisições back-to-origin. A porcentagem de requisições anômalas back-to-origin é muito baixa e pode ser ignorada.
-
Desenvolva e depure uma rotina
Faça login no console DCDN.
No painel de navegação à esquerda, clique em EdgeRoutine.
Selecione a rotina criada e clique em Details.
Na página Details, selecione a aba Code para desenvolver seu EdgeRoutine em JavaScript. O editor inclui um exemplo padrão "Hello World".

-
Após escrever o código, clique em Release to Staging Environment. Em seguida, utilize qualquer um dos endereços IP de ambiente de staging fornecidos para mapear no arquivo hosts local, testando e depurando a rotina.
NotaPara testar, modifique o arquivo hosts na sua máquina local para mapear o domínio a um dos IPs de staging fornecidos. Por exemplo:
10.10.10.10 example.com. Substitua o endereço IP por um dos IPs disponibilizados e o nome do domínio pelo domínio Alibaba Cloud CDN ou DCDN associado à rotina.
Crie uma versão
Depois de depurar o código, na aba Code, clique em Save as Version.
Publique uma versão
Para reduzir o impacto de cold starts no desempenho do negócio, o EdgeRoutine utiliza um mecanismo de atualização lazy para publicação de versões. Quando uma nova versão é publicada, ela é atualizada de forma assíncrona e entra em vigor assim que a primeira requisição chega a cada POP. Como resultado, você pode receber respostas da versão anterior por um curto período após a publicação. Esse comportamento é esperado e não constitui um bug.
Na página Details, selecione a aba Versions. Escolha um ID de versão e clique em Release na coluna Actions.
-
Selecione o ambiente de publicação: Staging Environment, Production Environment ou Canary Environment.
NotaWe recommend that you release a routine to the canary environments before you release it to the production environments.
Clique em OK. A nova versão será implantada nos POPs do ambiente selecionado.
Manutenção da rotina
As etapas anteriores descrevem como configurar e publicar uma rotina de exemplo "Hello World".
Para atualizar e iterar o código da rotina, siga os passos nas seções "Desenvolva e depure uma rotina", "Crie uma versão" e "Publique uma versão".
Caso precise ajustar configurações da rotina, como especificações ou a lista de permissões de nomes de domínio, consulte "Crie e configure uma rotina".
Para desativar o recurso EdgeRoutine em um domínio Alibaba Cloud CDN ou DCDN, remova a configuração do EdgeRoutine nas definições de associação do domínio.