Vous consultez la documentation Apigee Edge.
Accédez à la
documentation**Apigee X**. info
Les tutoriels suivants expliquent comment déployer des applications Node.js sur Edge à l'aide de cibles hébergées, un environnement d'exécution Node.js natif hébergé par Apigee.
Les tutoriels décrivent les tâches suivantes :
- Déployer une application Node.js sur des cibles hébergées à l'aide de l'UI Edge.
- Déployer une application Node.js sur des cibles hébergées à partir de votre ordinateur de développement local.
- Migrer un proxy existant avec une implémentation de cible Node.js Edge traditionnelle vers des cibles hébergées.
Déployer une application Node.js sur des cibles hébergées à l'aide de l'UI Edge
Dans ce tutoriel, vous allez déployer une application Node.js simple sur des cibles hébergées à l'aide de l'UI Edge. Une fois le tutoriel terminé, vous comprendrez la structure et le contenu de base d'un proxy de cibles hébergées, ainsi que la manière d'accéder aux fichiers journaux de déploiement et de compilation.
Se connecter
- Accédez à apigee.com/edge.
- Saisissez vos identifiants de connexion Apigee pour vous connecter.
Créer un proxy
- Dans le menu de navigation latéral, sélectionnez Develop > API Proxies (Développer > Proxys d'API).
- Cliquez sur + Proxy.
- Sur la page "Create Proxy" (Créer un proxy), sélectionnez Hosted Target (Cible hébergée).
- Cliquez sur Next (Suivant).
- Dans le champ "Proxy Name" (Nom du proxy), saisissez
hello-hosted-targets. - Assurez-vous que l'option "Hello World" Sample (Exemple "Hello World") est sélectionnée.
- Cliquez sur Next (Suivant).
- Sur la page "Security" (Sécurité), sélectionnez Pass through (none) (Direct [aucun]) pour l'autorisation.
- Cliquez sur Next (Suivant).
- Cliquez sur Next (Suivant).
- Sur la page "Build" (Créer), assurez-vous que l'environnement test est sélectionné. Notez que le type de proxy est Hosted Targets (Cibles hébergées).
- Cliquez sur Build and Deploy (Créer et déployer). Le déploiement du proxy peut prendre quelques instants.
- Une fois le proxy déployé, cliquez sur View hello-hosted-targets proxy en bas de la page.
- Appelez le proxy d'API. Le moyen le plus simple consiste à accéder à l'onglet Trace
(Trace), à démarrer une session de trace, puis à cliquer sur Send (Envoyer). Vous devriez recevoir un code d'état 200 avec la réponse suivante
:
{"date":"2018-09-26T14:23:04.550Z","msg":"Hello, World!"}
Examiner le proxy
- Dans l'UI Edge, cliquez sur l'onglet Develop (Développer).
- Dans le navigateur, sélectionnez default (par défaut) sous "Target Endpoints" (Points de terminaison cibles).
- Dans l'éditeur de code, notez qu'il existe un élément enfant vide
<HostedTarget/>sous l'élément<TargetEndpoint>. Cette balise vide est obligatoire. Elle indique à Edge que la cible du proxy est une application déployée dans l'environnement de cibles hébergées.
- Dans le navigateur, notez le contenu de la section Scripts. Les fichiers de l'application Node.js sont répertoriés sous le hosted libellé.

- Dans l'UI Edge, examinez les fichiers répertoriés sous hosted (hébergé) dans la section Scripts :
- Le fichier app.yaml contient des informations de configuration. Par exemple, vous pouvez ajouter des variables d'environnement qui seront disponibles pour l'application Node.js au moment de l'exécution. Vous n'avez pas besoin de modifier ce fichier pour cet exemple.
- Le fichier index.js est le fichier principal de l'application Node.js.
- Si votre application comporte des dépendances de module, elles doivent être répertoriées dans package.json.
Afficher les fichiers journaux
Les fichiers journaux d'application peuvent être utiles pour déboguer les problèmes qui se produisent lors de la phase de compilation et aussi au moment de l'exécution.
- Dans l'UI Edge, cliquez sur l'onglet Develop (Développer).
- Pour afficher le journal de compilation, cliquez sur Build Logs (Journaux de compilation).
- Pour afficher le journal de déploiement, cliquez sur Runtime Logs (Journaux d'exécution).
Consultez également la section Accéder aux fichiers journaux.
Résumé
- Vous avez déployé une application Node.js simple dans l'environnement de cibles hébergées et l'avez testée dans l'UI Edge.
- Vous avez appris qu'un proxy de cibles hébergées nécessite une balise vide spéciale dans le point de terminaison cible
appelée
<HostedTarget/>. - Vous avez appris qu’Edge charge automatiquement les dépendances de module et que ces dépendances
doivent être répertoriées dans le fichier
package.json. - Vous avez également appris à vérifier les fichiers journaux de compilation et d'exécution.
Déployer Node.js de votre système vers Edge
Cette section explique comment déployer une application Node.js autonome de votre système local vers
Cibles hébergées à l'aide de apigeetool. L'utilitaire apigeetool
regroupe l'application Node.js dans un nouveau proxy de cibles hébergées et la déploie sur Edge.
Installer apigeetool
L'utilisation d'apigeetool est la méthode recommandée pour les développeurs afin de déployer du code proxy sur Edge. Pour installer apigeetool , exécutez la commande NPM suivante :
npm install -g apigeetool
Créer l'application Node.js
Pour simplifier les choses, le code d'une application Node.js simple vous est fourni.
- Créez un répertoire pour l'application Node.js. Appelez-le node-hosted-express.
- Accédez au nouveau répertoire à l'aide de la commande cd.
- Créez un fichier appelé index.js et copiez-y ce code.
- Créez un fichier appelé package.json et copiez-y ce code. Notez que le module express est répertorié en tant que dépendance.
- Créez un fichier appelé app.yaml et copiez-y ce code :
- Assurez-vous que votre répertoire se présente comme suit :
ls app.yaml index.js package.json
var express = require('express') var app = express() app.get('/', function(req, res) { res.json({ hello: "Hello World!" }) }) app.get('/hello/:name', function(req, res) { var name = req.params.name res.json({ hello: "hello " + name }) }) var server = app.listen(process.env.PORT || 9000, function() { console.log('Listening on port %d', server.address().port) })
{
"name": "hello-world",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"start": "node index.js --use_strict"
},
"author": "",
"license": "",
"dependencies": {
"express": "^4.16.0"
}
}runtime: node runtimeVersion: 8 application: my-express-app env: - name: NODE_ENV value: production - name: LOG_LEVEL value: 3
Examen de la structure de répertoire requise pour le code de l'application
Votre application Node.js doit avoir la
même structure qu'une application Node.js standard. Toutefois, assurez-vous de respecter les
exigences suivantes avant de déployer avec apigeetool sur Edge :
- Le fichier manifeste app.yaml est obligatoire et doit exister dans le répertoire racine de votre application. Pour en savoir plus sur ce fichier, consultez la section Fichier manifeste.
- Un fichier package.json est obligatoire. Il doit répertorier toutes les dépendances requises par votre application.
- Un dossier node_modules n'est pas obligatoire. Edge exécute npm install pour vous lorsque l'application Node.js est déployée. Il obtient les dépendances à partir de package.json. Vous n'avez besoin de fournir explicitement node_modules que si vous disposez de modules personnalisés qui ne sont pas disponibles via npm.
Déployer le proxy
- Dans un terminal, accédez au répertoire racine de votre application Node.js à l'aide de la commande cd.
- Exécutez apigeetool avec la commande deployhostedtarget :
apigeetool deployhostedtarget -o org -e env -n proxy-name -b /node-hosted-express -u username
où -n correspond au nom que vous souhaitez attribuer au nouveau proxy. Il doit être unique
au sein de l'organisation. Les caractères que vous êtes autorisé à utiliser dans le nom sont limités aux éléments suivants :
a-z0-9._\-$%
Exemple :
apigeetool deployhostedtarget -o myorg -e test -n node-hosted-express -b /node-hosted-express -u jdoe@apigee.com
Pour en savoir plus sur l'utilisation d'apigeetool , consultez https://github.com/apigee/apigeetool-node.
Tester le proxy
Vous pouvez tester le proxy avec une commande cURL, avec un client REST tel que Postman ou dans l'UI Edge à l'aide de l'outil Trace. Voici un exemple de commande cURL.
curl http://myorg-test.apigee.net/node-hosted-express
{"date":1506992197427,"msg":"hello-world"}Obtenir les journaux de compilation
Les journaux de compilation affichent la sortie liée au déploiement et à la compilation de l'application Node.js. Consultez également la section Fichiers journaux.
apigeetool getlogs -u username -o org -e env --hosted-build -n proxy-name
Exemple :
apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-build -n node-hosted-express
Obtenir les journaux d'exécution
Les journaux d'exécution affichent la sortie liée à l'application en cours d'exécution. Ils sont limités à l'environnement et renvoient les journaux de la révision de proxy actuellement déployée. Consultez également la section Fichiers journaux.
apigeetool getlogs -u username -o org -e env --hosted-runtime -n proxy-name
Exemple :
apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-runtime -n node-hosted-express
Afficher le proxy dans l'UI Edge
Une fois le déploiement réussi, vous pouvez afficher et modifier votre proxy dans la section "API Proxies" (Proxys d'API) de l' Edge UI.
Migrer un proxy Node.js existant vers un proxy de cibles hébergées
Cette section explique comment migrer manuellement un proxy d'API Edge existant qui utilise l' implémentation de cible Node.js traditionnelle vers des cibles hébergées. Elle explique également comment déployer le proxy une fois les étapes de migration effectuées.
Les étapes de migration conservent la structure, les stratégies, les flux et les autres éléments de configuration du proxy d'API. Vous pouvez effectuer la migration en quatre étapes, comme décrit ci-dessous, puis déployer le proxy migré avec apigeetool.
Étape 1 : Ajuster la structure du fichier proxy
Pour ajuster la structure du fichier, le proxy d'API doit se trouver sur votre système de fichiers local. Si le proxy est
déployé sur Edge, vous devez le télécharger
avant de continuer. Dans la configuration traditionnelle, un "groupe" de proxy Edge qui inclut du code Node.js suit cette structure de fichier.
Le code de l'application Node.js est placé dans le répertoire resources/node :
apiproxy/
policies/
proxies/
targets/
resources/
node/
Your application code
Pour les cibles hébergées, vous devez placer le répertoire racine de votre application Node.js dans un
répertoire appelé resources/hosted. Créez simplement un nouveau répertoire appelé
resources/hosted et déplacez-y le contenu de resources/node. Vous pouvez ensuite supprimer le répertoire resources/node.
apiproxy/
policies/
proxies/
targets/
resources/
hosted/
Your application codeÉtape 2 : Ajouter le fichier manifeste
Créez un fichier manifeste appelé app.yaml et placez-le dans le
apiproxy/resources/hosted répertoire.
Voici un exemple de fichier app.yaml. Il spécifie que l'environnement d'exécution est
Node.js (obligatoire). Il crée également une variable d'environnement dans l'environnement d'exécution
(variable à laquelle l'application Node.js peut accéder). La variable d'environnement est facultative
et n'est présentée ici qu'à titre d'exemple. Pour plus de détails et d'exemples, consultez la section Fichier manifeste.
runtime: node
env:
- name: NODE_ENV
value: production
L'exemple suivant montre une structure de projet Node.js qui se trouve au bon emplacement dans le
proxy pour le déploiement de cibles hébergées :
apiproxy/
resources/
hosted/
index.js
node_modules/
app.yaml
package.jsonÉtape 3 : Vérifier que vous disposez d'un fichier package.json
Dans les proxys Node.js Edge traditionnels, le package.json était
facultatif. Toutefois, pour les cibles hébergées, vous devez en fournir un dans le répertoire apiproxy/resources/hosted. Veillez à spécifier toutes les dépendances requises pour votre application dans ce fichier.
Étape 4 : Modifier le point de terminaison cible du proxy
Un proxy Node.js traditionnel nécessite qu'une balise appelée <ScriptTarget>
soit présente dans le fichier de point de terminaison cible (généralement /apiproxy/targets/default.xml).
Pour les cibles hébergées, vous devez ajouter une balise vide appelée <HostedTarget/>.
S'il existe une balise ScriptTarget tag dans le fichier, vous pouvez simplement la supprimer.
Exemple :
<?xml version="1.0" encoding="UTF-8"?>
<TargetEndpoint name="default">
<Description />
<FaultRules />
<PreFlow name="PreFlow">
<Request />
<Response />
</PreFlow>
<PostFlow name="PostFlow">
<Request />
<Response />
</PostFlow>
<Flows />
<HostedTarget />
</TargetEndpoint>
Déployer le proxy
Vous pouvez maintenant déployer le proxy à l'aide de la commande apigeetool deployproxy.
- Accédez au répertoire racine de votre proxy à l'aide de la commande cd : /apiproxy
- Utilisez cette commande pour déployer le proxy :
apigeetool deployproxy -u username -o org -e env -n proxy-name -d .
Exemple :
apigeetool deployproxy -u jdoe -o docs -e test -n hello-world -d .
Pour en savoir plus sur l'utilisation de apigeetool, consultez :
https://github.com/apigee/apigeetool-node/blob/master/README.md.
Tester le proxy
Vous pouvez tester le proxy avec une commande cURL, avec un client REST tel que Postman ou dans l'UI Edge à l'aide de l'outil Trace. Voici un exemple de commande cURL :
curl http://myorg-test.apigee.net/hello-world Hello,World!