Funções (Deno)
Funções serverless em TypeScript no seu próprio servidor. Escreva, faça deploy e invoque via HTTPS.
Criando um servidor de funções
Para criar um novo runtime de funções:
- Acesse Servidores de funções no painel do sh0.
- Clique em Criar servidor de funções.
- Informe um nome (por exemplo, "my-api-functions").
- Clique em Criar. O sh0 faz o deploy de uma instância do runtime Deno com SSL automático.
Cada servidor de funções usa aproximadamente 256 MB de memória e fica acessível em https://<name>.sh0.app.
Escrevendo funções
As funções usam o padrão das Web APIs: um export padrão que recebe um Request e retorna um Response.
Objeto Request
O objeto Request é o Request padrão das Web APIs. Acesse:
req.method— método HTTP (GET, POST etc.)req.url— URL completa da requisiçãoreq.headers— cabeçalhos da requisiçãoawait req.json()— faz o parse do corpo JSONawait req.text()— texto bruto do corpo
Objeto Response
Retorne um Response padrão das Web APIs. Você pode retornar qualquer tipo de conteúdo:
Deploy
Faça o deploy da sua função enviando o arquivo TypeScript/JavaScript pelo:
- Painel — cole ou envie o arquivo da função na página de detalhes do servidor de funções.
- API — envie o código da função via POST para o endpoint da API do sh0 do seu servidor de funções.
O Deno compila e armazena a função em cache na primeira requisição. As requisições seguintes são servidas a partir do cache.
.ts e fazer o deploy.Invocação
Chame sua função no endpoint HTTPS dela:
Usando pacotes npm
O Deno permite importar pacotes npm diretamente com o especificador npm::
Você também pode importar de URLs (https://deno.land/x/...) ou usar import maps para imports mais limpos.
Conectando a bancos de dados
Suas funções podem se conectar a qualquer servidor de banco de dados gerenciado pelo sh0. Use o hostname da rede Docker interna para conexões locais e rápidas: