function.jsonc de la fonction. Si vous n’avez qu’un fichier entry.ts ou entry.js, vous devrez ajouter ce fichier de configuration pour utiliser les automatisations. Les automatisations sont déployées atomiquement avec le code de la fonction lorsque vous exécutez deploy ou functions deploy.
Types d’automatisation
Base44 prend en charge 4 types d’automatisations :- Automatisations planifiées avec cron : utilisez des expressions cron pour un contrôle précis de la planification.
- Automatisations planifiées avec des planifications simples : configurez des tâches récurrentes par intervalle sans expressions cron.
- Automatisations d’événements d’entité : déclenchez des fonctions lorsque des enregistrements de base de données sont créés, mis à jour ou supprimés.
- Automatisations de connecteur : répondez aux événements des services connectés en temps réel, comme un nouvel e-mail dans Gmail ou un changement de fichier dans Google Drive.
Champs communs
Champs communs pour toutes les automatisations
Tous les types d’automatisation partagent les champs suivants :Champs communs pour les automatisations planifiées
Les automatisations planifiées cron et simples partagent ces champs supplémentaires :Configuration d’automatisation
Configurez les automatisations dans votre fichierfunction.jsonc en utilisant l’une des approches suivantes. Toutes les automatisations utilisent les champs communs pour toutes les automatisations listés ci-dessus, plus les champs spécifiques à chaque type.
Cron
Utilisez les champs communs pour toutes les automatisations et les champs communs pour les automatisations planifiées ainsi que les champs spécifiques à cron listés ici. Définisseztype à "scheduled" et schedule_type à "cron" pour utiliser des expressions cron pour un contrôle précis de la planification.
Les automatisations cron utilisent la syntaxe standard à 5 champs : minute hour day-of-month month day-of-week. Consultez crontab.guru pour un éditeur interactif d’expressions cron et une référence de syntaxe.
Exemple cron
Cet exemple exécute une fonction tous les jours à minuit UTC :Planification simple
Utilisez les champs communs pour toutes les automatisations et les champs communs pour les automatisations planifiées ainsi que les champs de planification simple listés ici. Définisseztype à "scheduled" et schedule_type à "simple" pour des besoins de planification simples.
Configurez des tâches récurrentes par intervalle, comme des minutes, des heures, des jours, des semaines ou des mois, sans écrire d’expressions cron.
Exemples de planification simple
Les exemples suivants montrent différentes façons de planifier des automatisations avec des planifications simples :Événements d’entité
Utilisez les champs communs pour toutes les automatisations ainsi que les champs d’événements d’entité listés ici. Définisseztype à "entity" pour déclencher des fonctions automatiquement lorsque des enregistrements de base de données sont créés, mis à jour ou supprimés.
Les automatisations d’entité peuvent écouter 1 ou plusieurs types d’événements sur une entité spécifique.
Exemples d’événements d’entité
Les exemples suivants montrent comment déclencher des fonctions en fonction des événements d’entité :Automatisations de connecteur
Utilisez les champs communs pour toutes les automatisations ainsi que les champs spécifiques au connecteur listés ici. Définisseztype à "connector" pour déclencher des fonctions lorsqu’une intégration connectée envoie un événement webhook. Utilisez-les pour réagir à l’activité d’un service externe en temps réel. Par exemple, vous pouvez analyser un nouvel e-mail, synchroniser un changement de calendrier ou répondre à une mise à jour de fichier dans Google Drive.
Vous pouvez éventuellement ajouter des conditions de déclenchement pour filtrer les événements afin que votre fonction ne s’exécute que lorsque la charge utile correspond aux règles que vous définissez.
Lorsqu’une automatisation de connecteur se déclenche, votre fonction reçoit une charge utile webhook structurée contenant le type d’événement, les détails d’intégration et les données brutes du service externe.
Le connecteur doit être configuré dans votre projet et autorisé avant le déploiement. Consultez Connecteurs partagés pour les instructions de configuration.
Intégrations et événements pris en charge
Les automatisations de connecteur Slack nécessitent des conditions de déclenchement. Le déploiement échouera si aucune condition n’est définie pour les automatisations de connecteur Slack.
Formats d’ID de ressource
La valeur attendue pourresource_id varie selon le connecteur :
- Google Drive : l’ID du fichier. Requis pour les événements à portée de fichier (
file,file.update,file.trash,file.untrash,file.delete). - Gmail : une liste séparée par des virgules d’ID d’étiquettes à surveiller. La valeur par défaut est
"INBOX"si omise. - Microsoft Teams :
{teamId}/{channelId}pour surveiller un canal spécifique, ou{chatId}pour surveiller un chat spécifique. - SharePoint :
{siteId}/{listId}pour surveiller une liste spécifique.
Conditions de déclenchement
Utiliseztrigger_conditions pour filtrer les événements webhook afin que votre fonction ne s’exécute que lorsque la charge utile correspond aux règles que vous définissez. Si aucune condition n’est définie, la fonction s’exécute pour chaque événement entrant. Consultez Exemples d’automatisation de connecteur pour des configurations complètes.
string
Comment combiner les conditions. Valeurs possibles :
"and" (toutes doivent correspondre), "or" (au moins une doit correspondre). La valeur par défaut est "and".array
requis
Un ou plusieurs objets de condition ou groupes de conditions imbriqués. Maximum 20 conditions feuilles et 5 niveaux d’imbrication.
Charge utile webhook
Lorsqu’une automatisation de connecteur déclenche votre fonction, le corps de la requête contient un objetpayload avec la structure suivante. Consultez Exemples d’automatisation de connecteur pour une fonction qui lit la charge utile.
Exemples d’automatisation de connecteur
Arguments de fonction
Passez des données à votre fonction lorsqu’elle est déclenchée en incluant le champfunction_args dans votre configuration d’automatisation. Ceci est utile lorsqu’une fonction gère plusieurs automatisations avec des comportements différents, comme une fonction de synchronisation qui s’exécute de manière incrémentielle toutes les 15 minutes mais effectue une synchronisation complète quotidiennement.
Accédez à ces arguments dans le code de votre fonction via le corps de la requête.
Exemple d’arguments de fonction
Cet exemple montre une fonction qui gère à la fois les modes de synchronisation incrémentielle et complète en fonction de la configuration d’automatisation :Déployer les automatisations
Déployez les fonctions backend avec leurs automatisations en utilisant la commande CLIfunctions deploy ou la commande unifiée deploy. Vous pouvez déployer des fonctions spécifiques par nom avec functions deploy <names...>.
Le déploiement est atomique par fonction. Une fonction n’est considérée comme déployée que si le déploiement Deno et toutes ses automatisations réussissent. Si une automatisation échoue à se déployer, le déploiement de la fonction entière est annulé.
Après le déploiement, la CLI affiche le statut par fonction : déployé, inchangé ou erreur.
Gérer les automatisations dans le tableau de bord
Visualisez et gérez vos automatisations dans le tableau de bord Base44 sous l’onglet Automations. Depuis le tableau de bord, vous pouvez :- Voir les logs d’exécution et l’historique
- Exécuter les automatisations manuellement à des fins de test
- Surveiller le statut des automatisations
Voir aussi
- Fonctions backend : apprenez les fonctions backend
functions deploy: déployer des fonctions avec des automatisationsdeploy: déployer toutes les ressources en une foislogs: voir les logs des fonctions
Cette page a été traduite à l’aide de l’IA. Pour les informations les plus précises et à jour, consultez la version anglaise.