L'ESA CLI (esa-cli) permet de gérer l'intégralité du cycle de vie de Functions and Pages depuis votre terminal : création de projets, débogage local, déploiement sur tous les points de présence (POPs), ainsi que la configuration des domaines personnalisés et des routes.
Avec l'ESA CLI, vous pouvez :
Développement local : créez des projets, lancez un service de débogage local simulant l'environnement de production et testez vos fonctions edge avant le déploiement.
Déploiement : validez des versions et déployez-les sur l'ensemble des POPs.
Gestion des domaines et des routes : configurez les domaines personnalisés et les routes pour vos ressources Functions and Pages.
Prise en charge des projets multi-fichiers : l'outil empaquette et construit automatiquement les dépendances du projet, y compris les modules npm, afin de déployer vos projets Node.js locaux dans le cloud.
Pour consulter la référence complète des commandes et le code source, reportez-vous au référentiel GitHub de l'ESA CLI.
Prérequis
Avant de commencer, assurez-vous de disposer des éléments suivants :
Installation de l'outil CLI
Installez l'ESA CLI globalement via npm, puis vérifiez l'installation :
npm install esa-cli -g # Install the CLI globally
esa-cli -v # Verify the installed version
esa-cli --help # View available commands
Connexion à votre compte
Récupérez votre AccessKey ID et votre AccessKey secret depuis la console Resource Access Management (RAM) d'Alibaba Cloud, puis exécutez la commande suivante :
esa-cli login
Pour vous déconnecter :
esa-cli logout
Remarque : Si vous avez uniquement besoin de déboguer votre code localement, ignorez cette étape. L'authentification n'est pas requise pour le débogage local.
Initialisation d'un projet
Exécutez esa-cli init pour créer un projet. L'outil CLI vous invite alors à saisir un nom de projet et à sélectionner un modèle.
esa-cli init
Débogage local
Une fois votre code rédigé, lancez le service de débogage local :
esa-cli dev
L'outil CLI empaquette automatiquement le fichier d'entrée et démarre un serveur local qui simule l'environnement de production.

Raccourcis clavier disponibles pendant le débogage :
|
Touche |
Action |
|
|
Ouvrir la page de débogage dans votre navigateur |
|
|
Effacer le panneau |
|
|
Quitter le mode débogage |
Pour utiliser un port spécifique :
esa-cli dev --port <port>
Débogage avec Chrome DevTools
Le code EdgeRoutine s'exécute côté serveur. Par conséquent, la console d'aperçu du navigateur n'affiche pas les sorties des instructions console du fichier d'entrée. Pour visualiser ces sorties, utilisez Chrome DevTools :
Ouvrez
chrome://inspect#devicesdans Chrome.Dans la section Remote Target, localisez la session de débogage active.
Cliquez sur inspect pour ouvrir DevTools et consulter les sorties de la console.
Utilisation locale des API Edge Storage et Cache API
Le débogage local prend en charge l'API Edge Storage et la Cache API dans votre code.
Remarque : Afin de garantir la sécurité de vos données en ligne, le service de stockage edge ne récupère ni ne définit de données en ligne lors du débogage local.
Pour simuler des données de stockage edge localement, créez un fichier kv.json dans le répertoire racine du projet, au même niveau que le fichier de configuration esa.jsonc :
{
"namespace": {
"k1": "v1",
"k2": "v2"
}
}
Accédez aux données simulées dans votre code :
const edgeKv = new EdgeKV({ namespace: 'namespace' });
async function run() {
const data = await edgeKv.get('k1', { type: 'text' });
console.log(data); // 'v1'
}
Validation d'une version
Une fois le débogage local terminé, validez votre code en tant que version :
esa-cli commit
Déploiement en production
Déployez une version sur tous les POPs en ligne :
esa-cli deploy
L'outil CLI vous invite alors à sélectionner une version et un environnement cible.
Pour vérifier l'état du déploiement ou supprimer une version :
esa-cli deployments list # View deployment status
esa-cli deployments delete <versionId> # Delete a version
Configuration des domaines personnalisés
Associez un nom de domaine à vos ressources Functions and Pages. Ce domaine doit être un sous-domaine de votre site ESA et disposer d'un dépôt ICP. Une fois associé, Functions and Pages agit comme serveur d'origine pour ce domaine, qui pointe alors directement vers votre fonction edge.
esa-cli domain list
esa-cli domain add <domainName>
esa-cli domain delete <domainName>
Configuration des routes
Associez une route à votre site ESA. Lorsqu'une requête correspond à la route définie, elle déclenche l'exécution de Functions and Pages, permettant ainsi à ce dernier de communiquer avec le serveur d'origine du site.
esa-cli route list
esa-cli route add [route] [site]
esa-cli route delete <route>
Gestion des fonctions
Consultez et supprimez des fonctions à l'aide de l'outil CLI :
esa-cli project list # List all functions
esa-cli project delete <PROJECT_NAME> # Delete a function
Référence des commandes
|
Commande |
Description |
|
|
Initialise un projet à partir d'un modèle ESA. |
|
|
Démarre le service de débogage local. |
|
|
Valide le code du projet dans le cloud et l'enregistre en tant que version. |
|
|
Déploie une version sur tous les POPs en ligne. |
|
|
Affiche les déploiements de la version actuelle ou supprime une version. |
|
|
Liste toutes les ressources Functions and Pages ou supprime une fonction. |
|
|
Affiche les informations relatives à tous les sites associés à votre compte. |
|
|
Gère les noms de domaine associés à Functions and Pages. |
|
|
Gère les routes associées à Functions and Pages. |
|
|
Permet de se connecter à l'aide d'un AccessKey ID et d'un AccessKey secret. |
|
|
Déconnecte l'utilisateur. |
|
|
Gère le fichier de configuration de l'ESA CLI. |
|
|
Sélectionne la langue d'affichage de l'outil CLI. |