Chaque projet prend en charge un maximum de 50 fonctions backend.
Créer des fonctions
Créez des fonctions backend en tant que fichiers TypeScript dans le répertoire des fonctions de votre projet. Par défaut, le répertoire des fonctions estbase44/functions/, mais vous pouvez personnaliser le chemin dans votre configuration de projet.
Chaque fonction vit dans son propre sous-répertoire avec un fichier entry.ts ou entry.js :
functions
<function-name>
entry.ts
functions/sendWelcomeEmail/entry.ts crée une fonction nommée sendWelcomeEmail. Vous pouvez également imbriquer des fonctions dans des sous-répertoires pour l’organisation. functions/email/send/entry.ts crée une fonction nommée email/send.
Ajouter un fichier de configuration
Pour des besoins avancés comme des noms de fonction personnalisés ou des automatisations, ajoutez un fichierfunction.jsonc :
functions
<function-name>
entry.ts
function.jsonc
| Propriété | Description |
|---|---|
name | Facultatif. Identifiant unique pour la fonction. Utilisé lors de l’invocation via SDK ou HTTP. La valeur par défaut est le chemin du répertoire relatif à la racine des fonctions. |
entry | Le fichier contenant le code de la fonction. |
automations | Facultatif. Tableau de configurations d’automatisation pour exécuter la fonction selon une planification ou en réponse à des événements de base de données. Consultez Automatisations pour plus de détails. |
entry.ts
Le fichier de code contient la logique de votre fonction. Les fonctions doivent utiliser le wrapperDeno.serve() et retourner des objets Response :
Tester localement
Exécutez vos fonctions localement avecbase44 dev pour tester les changements sans déployer. Consultez Développement local pour plus de détails.
Déployer les fonctions
Déployez les fonctions avecfunctions deploy ou deploy pour pousser toutes les ressources du projet en une fois. Vous pouvez déployer des fonctions spécifiques par nom avec functions deploy <names...>, ou utiliser --force pour supprimer les fonctions distantes non trouvées localement.
Pour télécharger les fonctions déployées vers votre projet local, utilisez functions pull. Pour voir ce qui est actuellement déployé, utilisez functions list.
Appeler les fonctions
Appelez les fonctions backend depuis votre frontend en utilisant le SDK, ou via HTTP pour les webhooks et les intégrations externes.Via le SDK
Utilisezbase44.functions.invoke() pour appeler les fonctions depuis votre frontend. Le SDK gère l’authentification automatiquement, en passant les identifiants de l’utilisateur actuel à votre fonction.
Via HTTP
Chaque fonction déployée obtient un endpoint HTTP à :- Webhooks : recevoir des rappels de services externes comme Stripe ou GitHub.
- Intégrations externes : permettre à d’autres systèmes d’interagir avec votre application.
- Tests : appeler les fonctions directement avec des outils comme cURL ou Postman.
Lors de l’appel de fonctions via HTTP direct (comme cURL ou les webhooks), il n’y a pas
de contexte utilisateur authentifié. Utilisez
asServiceRole pour toutes les opérations dans ces
cas.Utiliser le SDK dans les fonctions
À l’intérieur de vos fonctions backend, vous pouvez accéder aux données, à l’authentification et aux intégrations de votre application via le SDK Base44. UtilisezcreateClientFromRequest() pour créer un client à partir de la requête entrante.
Le contexte d’authentification dépend de la manière dont la fonction a été appelée :
-
Lorsqu’appelée via le SDK depuis votre frontend : l’authentification de l’utilisateur est passée automatiquement. Vous pouvez accéder à l’utilisateur actuel avec
base44.auth.me()et effectuer des opérations avec ses permissions. Pour des opérations de niveau admin, utilisezasServiceRole. -
Lorsqu’appelée via HTTP direct (cURL, webhooks, services externes) : il n’y a pas d’utilisateur authentifié, utilisez donc
asServiceRolepour toutes les opérations.
Se connecter aux API tierces
Les fonctions backend sont l’une des plusieurs façons de se connecter aux API tierces. Elles sont idéales lorsque vous avez besoin d’un contrôle total sur les requêtes ou que vous souhaitez stocker des clés API en toute sécurité en tant que variables d’environnement. Utilisezsecrets set pour configurer les variables d’environnement depuis la CLI.
Voir les logs
Pendant le développement local, la sortie des fonctions est affichée directement dans votre terminal sans avoir besoin de la commandelogs.
Pour les fonctions déployées, voyez les logs avec la commande logs. Les logs incluent la sortie console, les erreurs et les informations de temporisation. Vous pouvez filtrer par nom de fonction ou plage de temps. Si vous utilisez un agent de codage IA, le skill base44-troubleshooter peut récupérer et analyser automatiquement ces logs.
Types TypeScript
Générez des types TypeScript à partir de vos configurations de fonction pour obtenir la sécurité des types et l’autocomplétion des noms de fonctions dans votre code SDK. Apprenez-en plus sur les types dynamiques.Voir aussi
- Automatisations : planifier des fonctions ou les déclencher sur des événements de base de données
- Module
functions: référence SDK pour invoquer les fonctions createClientFromRequest: créer un client dans les fonctions backendfunctions deploy: déployer les fonctions locales vers Base44functions pull: télécharger les fonctions déployées vers votre projet localfunctions list: lister toutes les fonctions déployéesfunctions delete: supprimer les fonctions déployéeslogs: voir les logs des fonctionsexec: tester les fonctions isolément à partir de scripts autonomes
Cette page a été traduite à l’aide de l’IA. Pour les informations les plus précises et à jour, consultez la version anglaise.

