Criando Funções
As funções Base44 são funções de backend serverless que rodam no Deno. Elas são definidas localmente no seu projeto e implantadas no backend Base44.Diretório de funções
Todas as definições de função devem ser colocadas na pastabase44/functions/ no seu projeto. A função mais simples é uma pasta com um arquivo entry.ts ou entry.js dentro dela.
Estrutura de exemplo:
Como criar uma função
- Crie um novo diretório em
base44/functions/com o nome da sua função (use kebab-case) - Crie
entry.ts(ouentry.js) nesse diretório - Implante a função usando a CLI
Descoberta de funções
A CLI descobre funções a partir de arquivosentry.ts ou entry.js. Uma pasta que contém um desses arquivos é uma função:
| Arquivo | Nome da função |
|---|---|
base44/functions/process-order/entry.ts | process-order |
base44/functions/orders/process/entry.ts | orders/process |
entry.tsouentry.jsdeve estar dentro de uma subpasta nomeada, não diretamente embase44/functions/- todos os arquivos
*.js,*.tse*.jsonsob a pasta da função são incluídos ao implantar - caminhos de função com um ponto em qualquer segmento de caminho são ignorados
Arquivo de ponto de entrada
As funções rodam no Deno e devem exportar usandoDeno.serve(). Use o prefixo npm: para pacotes npm.
Objeto Request
A função recebe um objetoRequest padrão do Deno:
req.json()- Analisa o corpo JSONreq.text()- Obtém o corpo de texto brutoreq.headers- Acessa cabeçalhos da solicitaçãoreq.method- Método HTTP
Objeto Response
Retorne usandoResponse.json() para respostas JSON:
Exemplo completo
Estrutura de diretórios
entry.ts
Usando acesso Service Role
Para operações em nível de administrador, useasServiceRole:
Usando segredos
Acesse variáveis de ambiente configuradas no painel do aplicativo:Convenções de nomenclatura
- Nome do diretório: Use kebab-case (por exemplo,
process-order,send-notification) - Nome da função: Vem do caminho do diretório em
base44/functions/- Válido:
process-order,orders/process,send_notification,myFunction - Inválido:
process.order,send.notification.v2
- Válido:
- Arquivo de entrada: Use
entry.tsouentry.js
Implantando funções
Depois de criar sua função, implante-a na Base44:Notas
- As funções rodam no runtime Deno, não no Node.js
- Use o prefixo
npm:para pacotes npm (por exemplo,npm:@base44/sdk) - Use
createClientFromRequest(req)para obter um cliente que herda o contexto de autenticação do chamador - Configure segredos pelo painel do aplicativo para chaves de API
- Certifique-se de tratar erros graciosamente e retornar códigos de status HTTP apropriados
Erros comuns
| Errado | Correto | Por quê |
|---|---|---|
base44/functions/myFunction.js (arquivo único) | base44/functions/my-function/entry.ts | As funções devem estar em um subdiretório nomeado |
base44/functions/entry.ts | base44/functions/my-function/entry.ts | O nome da função vem do caminho do subdiretório |
import { ... } from "@base44/sdk" | import { ... } from "npm:@base44/sdk" | O Deno requer o prefixo npm: para pacotes npm |
Diretório MyFunction ou myFunction | Diretório my-function | Use kebab-case para nomes de diretório |
Esta página foi traduzida usando IA. Para informações mais precisas e atualizadas, consulte a versão em inglês.

