Votre première fonction Edge
Vous allez écrire une fonction, la déployer sur votre projet, l'appeler depuis Node.js et lire son résultat. Chaque commande ci-dessous a été exécutée pour de vrai.
Avant de commencer
Il vous faut :
- Node.js 20 ou version ultérieure.
- La CLI
aura. Installez-le avecnpm install -g @aurabase/cli(voir la référence CLI pour les autres plates-formes). - Un compte Aurabase.
La CLI aura imprime ses messages en français. Les sorties ci-dessous sont copiées à partir d'exécutions réelles et non traduites.
1. Créer et lier un projet
Connectez-vous, créez un projet et associez-y votre dossier de travail. Remplacez <org-slug> par le slug indiqué par aura orgs list.
La dernière commande imprime l'URL du projet et vos premières clés API. Copiez-les maintenant : les clés initiales ne sont affichées qu'une seule fois. Si vous les manquez, créez-en de nouveaux dans le Studio sous Paramètres, Clés API.
Liez le dossier actuel au projet :
Indiquez ensuite à la CLI où se trouve le plan de données et quelle clé utiliser. Une clé service_role est requise pour le déploiement, car le déploiement de code est une action administrative.
Une clé service_role contourne la sécurité au niveau des lignes et peut déployer du code. Ne le mettez jamais dans un bundle de navigateur et ne commettez jamais .env.
2. Écrivez la fonction
Ouvrez aurabase/functions/hello/index.ts et remplacez son contenu :
Une fonction doit appeler Deno.serve. Un export default n'est jamais appelé.
3. Déployez-le
Appelez-le une fois depuis la CLI pour vérifier qu'il répond :
4. Appelez-le depuis le SDK
Vous avez appelé une fonction avec la clé publique anon. C'est le seul appel qu'une clé publique peut effectuer : voir qui peut appeler quoi.
Où aller ensuite
- Invoque une fonction: navigateurs, serveurs, en-têtes et identité de l'appelant.
- Erreurs, délais d'attente et tentatives: que faire en cas d'échec d'un appel.
- Secrets et environnement: donnez à votre fonction une clé Stripe sans la coder en dur.
- Comment fonctionne une invocation: que s'est-il passé entre votre
invokeet la réponse.