Fonctions (Deno)
Des fonctions TypeScript serverless sur votre propre serveur. Écrivez, déployez et invoquez par HTTPS.
Créer un serveur de fonctions
Pour créer un nouveau runtime de fonctions :
- Ouvrez Serveurs de fonctions dans le tableau de bord sh0.
- Cliquez sur Créer un serveur de fonctions.
- Saisissez un nom (par exemple « my-api-functions »).
- Cliquez sur Créer. sh0 déploie une instance du runtime Deno avec SSL automatique.
Chaque serveur de fonctions utilise environ 256 Mo de mémoire et est accessible à l'adresse https://<name>.sh0.app.
Écrire des fonctions
Les fonctions suivent le modèle standard des API Web : un export par défaut qui reçoit une Request et renvoie une Response.
Objet Request
L'objet Request est la Request standard des API Web. Vous y accédez à :
req.method— méthode HTTP (GET, POST, etc.)req.url— URL complète de la requêtereq.headers— en-têtes de la requêteawait req.json()— analyse le corps JSONawait req.text()— texte brut du corps
Objet Response
Renvoyez une Response standard des API Web. Vous pouvez renvoyer n'importe quel type de contenu :
Déployer
Déployez votre fonction en envoyant le fichier TypeScript/JavaScript par :
- Tableau de bord — collez ou envoyez votre fichier de fonction sur la page de détail du serveur de fonctions.
- API — envoyez le code de la fonction par POST à l'endpoint de l'API sh0 de votre serveur de fonctions.
Deno compile la fonction et la met en cache à la première requête. Les requêtes suivantes sont servies depuis le cache.
.ts et déployez.Invoquer
Appelez votre fonction sur son endpoint HTTPS :
Utiliser des paquets npm
Deno permet d'importer directement des paquets npm avec le spécificateur npm: :
Vous pouvez aussi importer depuis des URL (https://deno.land/x/...) ou utiliser des import maps pour des imports plus lisibles.
Se connecter aux bases de données
Vos fonctions peuvent se connecter à n'importe quel serveur de base de données géré par sh0. Utilisez le nom d'hôte du réseau Docker interne pour des connexions locales et rapides :