<ph type="x-smartling-placeholder"></ph>
Vous consultez la documentation Apigee Edge.
Accédez à la page
Documentation sur Apigee X. En savoir plus
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 natif Node.js hébergé par Apigee.
Les tutoriels vous permettent d'effectuer les tâches suivantes:
- Déployer une application Node.js sur des cibles hébergées à l'aide de l'interface utilisateur 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 un proxy existant Mise en œuvre de cibles Edge Node.js sur des cibles hébergées
Déployer une application Node.js sur des cibles hébergées à l'aide de l'interface utilisateur Edge
Dans ce tutoriel, vous allez déployer une application Node.js simple sur des cibles hébergées à l'aide de l'outil Edge UI. Au terme du tutoriel, vous comprendrez la structure de base et le contenu de un proxy de cibles hébergées, et comment 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 Développer > Proxys d'API
- Cliquez sur + Proxy.
- Sur la page "Créer un proxy", sélectionnez Cible hébergée.
- Cliquez sur Suivant.
- Dans le champ "Proxy Name" (Nom du proxy), saisissez
hello-hosted-targets
. - Assurez-vous que "Hello World" Un échantillon est sélectionné.
- Cliquez sur Suivant.
- Sur la page "Security" (Sécurité), sélectionnez Passthrough (none) (Passthrough (aucun)) pour l'autorisation.
- Cliquez sur Suivant.
- Cliquez sur Suivant.
- Sur la page "Build", assurez-vous que l'environnement de test est sélectionné. Avertissement que le type de proxy est Hosted Cibles (Cibles hébergées).
- Cliquez sur Build and Deploy (Compiler et déployer). Le déploiement du proxy peut prendre quelques instants.
- Une fois le proxy déployé, cliquez sur Afficher le proxy hello-Hosted-targets. en bas de la page.
- Appelez le proxy d'API. Le plus simple est d'accéder à la page Trace
Démarrer une trace
puis cliquez sur Envoyer. L'état 200 doit s'afficher, avec les informations suivantes :
réponse:
{"date":"2018-09-26T14:23:04.550Z","msg":"Hello, World!"}
Examiner le proxy
- Dans l'interface utilisateur Edge, cliquez sur l'onglet Develop (Développer).
- Dans le navigateur, sélectionnez par défaut sous "Points de terminaison cibles".
- Dans l'éditeur de code, notez qu'il y a un enfant
<HostedTarget/>
vide. sous l'élément<TargetEndpoint>
. Ce tag vide est obligatoire. Il indique à Edge que la cible du proxy est une application qui est déployée sur Environnement de cibles hébergées. - Dans le Navigateur, notez le contenu sous la section Scripts. La Les fichiers d'application Node.js sont répertoriés sous le libellé Hosted (hébergé).
- Dans l'interface utilisateur Edge, examinez les fichiers répertoriés sous hébergé dans 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 à l'adresse de l'environnement d'exécution. Il n'est pas nécessaire de modifier ce fichier pour cet exemple.
- Le fichier index.js est le fichier principal de l'application Node.js.
- Si votre application comporte un module les dépendances, elles doivent être répertoriées dans le fichier package.json.
Afficher les fichiers journaux
Les fichiers journaux d'application peuvent être utiles pour déboguer les problèmes survenant pendant la phase de compilation ainsi qu'au moment de l'exécution.
- Dans l'interface utilisateur 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 Journaux d'exécution.
Voir aussi Accéder aux fichiers journaux
Résumé
- Vous avez déployé une application Node.js simple dans l'environnement Hosted Cibles et testé dans l'interface utilisateur Edge.
- Vous avez appris qu'un proxy de cibles hébergées exige un tag vide spécial dans le tag
Point de terminaison appelé
<HostedTarget/>
. - Vous avez appris qu'Edge charge automatiquement les dépendances du module pour vous, et que les dépendances
doit être listé dans le fichier
package.json
. - Vous avez également appris à vérifier les fichiers journaux de compilation et d'exécution.
Déployer Node.js depuis votre système vers Edge
Cette section explique comment déployer une application Node.js autonome depuis votre système local vers
Cibles hébergées à l'aide de apigeetool. apigeetool
regroupe l'application Node.js dans un nouveau proxy Hosted Cibles et la déploie sur Edge.
Installer apigeetool
L'utilisation de apigeetool est la méthode recommandée pour que les développeurs déploient un proxy à Edge. Pour installer apigeetool, exécutez la commande NPM suivante:
npm install -g apigeetool
Créer l'application Node.js
Pour vous faciliter la tâche, nous vous fournissons le code d'une application Node.js simple.
- Créez un répertoire pour l'application Node.js. Appelez le répertoire node-hosted-express.
- cd pour accéder au nouveau répertoire.
- Créez un fichier nommé index.js et copiez-y ce code.
- Créez un fichier nommé package.json et copiez-y ce code. Notez que le module express est listé en tant que dépendance.
- Créez un fichier nommé app.yaml et copiez-y le code suivant:
- 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
Examiner la structure de répertoires requise pour le code de l'application
Votre application Node.js doit disposer du
la même structure qu'une application Node.js standard. Toutefois, assurez-vous d'avoir suivi ces
avant le déploiement avec apigeetool
sur Edge:
- Le fichier manifeste app.yaml est obligatoire et doit exister à la racine de votre application. Pour en savoir plus sur ce fichier, consultez Fichier manifeste.
- Un fichier package.json est requis. Il doit répertorier toutes les dépendances l'application.
- Il n'est pas obligatoire de spécifier un dossier node_modules. Edge exécute la commande npm install pour vous lorsque l'application Node.js est déployée. Il reçoit les dépendances du fichier package.json. Le seul moment où vous devez explicitement fournissez node_modules si vous disposez de modules personnalisés qui ne sont pas disponibles via npm.
Déployer le proxy
- Dans un terminal, utilisez la commande cd pour accéder au répertoire racine de votre application Node.js.
- Exécutez apigeetool avec la commande deployhosttarget:
apigeetool deployhostedtarget -o org -e env -n proxy-name -b /node-hosted-express -u username
où -n est le nom que vous voulez donner 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
les é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 de apigeetool, consultez la page 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'interface utilisateur Edge dans 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 contiennent des résultats liés au déploiement et à la compilation de l'application Node.js. Consultez également l'article 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 des résultats liés à l'application en cours d'exécution. Les journaux d'exécution sont limités à l'environnement et renvoyer des journaux pour la révision du proxy actuellement déployée. Consultez également l'article 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
Affichage du proxy dans l'interface utilisateur Edge
Après un déploiement réussi, vous pouvez afficher et modifier votre proxy dans la partie Proxys d'API du Interface utilisateur Edge
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 le traditionnel Mise en œuvre de cibles Node.js sur des cibles hébergées. Il explique également comment déployer le proxy vous avez effectué la procédure de migration.
Les étapes de migration préservent la structure, les règles, les flux et les autres éléments de configuration du proxy d'API. Vous pouvez effectuer la migration en quatre étapes décrites ci-dessous, puis la déployer proxy migré avec apigeetool.
<ph type="x-smartling-placeholder">.Étape 1: Ajustez la structure de fichiers proxy
Pour ajuster la structure des fichiers, 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, et le "groupe" de proxy Edge qui inclut le code Node.js suit cette structure de fichiers.
Le code d'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 sous un
"resources/hosted
". Il suffit de créer
un nouveau répertoire appelé
resources/Hosted et déplacer le contenu de resources/node
sur le sujet. Vous pouvez ensuite supprimer le répertoire resources/node
.
apiproxy/ policies/ proxies/ targets/ resources/ hosted/ Your application code
Étape 2: Ajoutez le fichier manifeste
Créez un fichier manifeste appelé app.yaml
et placez-le dans le
apiproxy/resources/hosted
.
Voici un exemple de fichier app.yaml
. Il spécifie que l'environnement d'exécution
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 en savoir plus et obtenir des exemples, consultez la section Fichier manifeste.
runtime: node
env:
- name: NODE_ENV
value: production
L'exemple suivant présente la structure d'un projet Node.js au bon endroit dans le
pour le déploiement de cibles hébergées:
apiproxy/ resources/ hosted/ index.js node_modules/ app.yaml package.json
Étape 3: Assurez-vous de disposer d'un fichier package.json
Dans les proxys Edge Node.js traditionnels, package.json
était
(facultatif). Toutefois, pour les cibles hébergées, vous devez en fournir une dans le répertoire apiproxy/resources/hosted
. Assurez-vous que
pour spécifier les dépendances requises pour votre application dans ce fichier.
Étape 4: Modifiez le point de terminaison cible du proxy
Un proxy Node.js traditionnel nécessite un tag nommé <ScriptTarget>
.
être présent dans le fichier du point de terminaison cible (généralement /apiproxy/targets/default.xml
).
Pour les cibles hébergées, vous devez ajouter un tag vide nommé <HostedTarget/>.
Si le fichier contient le tag ScriptTarget
, il vous suffit de le 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
.
- cd pour accéder au répertoire racine de votre proxy: /apiproxy.
- Utilisez la commande suivante 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 les pages suivantes:
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'interface utilisateur Edge dans l'outil Trace. Voici un exemple de commande cURL:
curl http://myorg-test.apigee.net/hello-world Hello,World!