Migrando padrões de handler em Functions
Aprenda a migrar suas Azion Functions do padrão legado Service Worker para o padrão recomendado ES Modules, incluindo os handlers fetch e firewall.
As Azion Functions suportam dois padrões de handler: ES Modules (recomendado) e Service Worker (legado). Este guia explica as diferenças entre eles e como migrar suas functions existentes para o padrão ES Modules.
Padrões suportados
ES Modules (recomendado)
O padrão ES Modules é a forma recomendada de estruturar suas functions na Azion. Ele oferece uma sintaxe moderna e limpa, com suporte nativo em produção e melhor desempenho.
Service Worker (legado)
O padrão Service Worker é mantido para compatibilidade com código legado. Se você estiver usando esse padrão, a Azion recomenda migrar para ES Modules.
Parâmetros dos handlers
fetch(request, env, ctx)
| Parâmetro | Tipo | Descrição |
|---|---|---|
request | Request | O objeto da requisição HTTP recebida |
env | Object | Variáveis de ambiente e bindings |
ctx | Object | Contexto de execução. Use ctx.waitUntil(promise) para estender o tempo de vida da function para tarefas assíncronas |
firewall(request, env, ctx) — ES Modules
| Parâmetro | Tipo | Descrição |
|---|---|---|
request | Request | O objeto da requisição HTTP recebida |
env | Object | Variáveis de ambiente e bindings |
ctx | Object | Contexto de execução. Chame ctx.deny() para bloquear a requisição imediatamente. Se ctx.deny() não for chamado, a requisição continua para o handler fetch |
Evento de firewall — Service Worker
| Propriedade | Descrição |
|---|---|
event.request | Acesso ao objeto Request |
event.deny() | Bloqueia a requisição imediatamente. Se não for chamado, a requisição continua para o handler fetch |
Migrando de Service Worker para ES Modules
Handler fetch básico
Antes (Service Worker):
Depois (ES Modules):
Handler firewall
Antes (Service Worker):
Depois (ES Modules):
Usando waitUntil para tarefas assíncronas
Firewall avançado com regras baseadas em path
Padrões não suportados
Os seguintes padrões não são suportados pelas Azion Functions. Se o seu código utilizar algum deles, migre para o padrão ES Modules.
Solução de problemas
”Unsupported handler pattern detected”
Esse erro aparece quando o código não segue nenhum dos padrões suportados. Para resolver, migre para o padrão ES Modules:
Como alternativa temporária, use o padrão Service Worker:
Recursos relacionados
- Primeiros passos com Functions
- Visão geral de Functions
- Referência da API do Azion Runtime
- Functions com Firewall