Eigenständige Node.js-Anwendung bereitstellen

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu Apigee X.
info

In diesem Thema wird erläutert, wie Sie eine Node.js-Anwendung von Ihrem lokalen System in Apigee Edge bereitstellen. Außerdem wird beschrieben, wie Sie das Befehlszeilentool apigeetool verwenden, um Node.js-Anwendungen in Apigee Edge bereitzustellen.

Node.js-Code in Apigee Edge bereitstellen

Sie können eine vorhandene Node.js-API-Anwendung einschließlich aller abhängigen Node.js-Module von Ihrem lokalen System in Apigee Edge bereitstellen. Dazu verwenden Sie das Befehlszeilenprogramm apigeetool. Das Programm bündelt die Anwendung und ihre Abhängigkeiten automatisch in einem API-Proxy und stellt sie in Edge bereit.

Angenommen, Sie haben mit Express eine Webanwendung in Node.js erstellt. Die Anwendung wird als HTTP-Server ausgeführt, der auf HTTP-Anfragen wartet, diese verarbeitet, Daten zurückgibt usw. Wenn Sie apigeetool verwenden, um eine Node.js -Anwendung in Edge bereitzustellen, wird sie in einen Proxy eingebunden und im Kontext der Edge -Plattform ausgeführt. Sie können Ihre Anwendung dann über die neue Proxy-URL aufrufen und sie mit Standard-Edge-Funktionen wie OAuth-Sicherheit, Kontingentrichtlinien, Richtlinien zum Schutz vor Bedrohungen , bedingten Abläufen und Caching erweitern.

Was macht apigeetool?

Wenn Sie das Programm apigeetool mit der Option deploynodeapp ausführen, passiert Folgendes:

  • Es wird ein API-Proxy-Konfigurationsset für die Node.js-Anwendung generiert.
  • Die Node.js-Anwendung wird mit allen Node.js-Paketen verpackt, die mit NPM (Node Packaged Modules) installiert wurden.
  • Das API-Proxy-Konfigurationsset wird mit der Edge Management API in die angegebene Organisation in Apigee Edge importiert.
  • Der API-Proxy wird in einer Umgebung bereitgestellt.
  • Die Node.js-Anwendung wird in Apigee Edge ausgeführt und über das Netzwerk verfügbar gemacht.

Vorbereitung auf die Verwendung von apigeetool

Bevor Sie beginnen, müssen Sie das Programm apigeetool installieren.

Sie können apigeetool entweder über npm installieren oder den Code von GitHub klonen und verknüpfen.

Installation über npm

Das apigeetool Modul und seine Abhängigkeiten sind für Node.js konzipiert und ist über npm mit dem folgenden Befehl verfügbar:

$ sudo npm install -g apigeetool

Normalerweise werden Module mit der Option `-g` auf *nix-basierten Computern in: /usr/local/lib/node_modules/apigeetool platziert.

Installation über GitHub

Laden Sie die API Platform Tools von GitHub herunter oder klonen Sie sie. Eine Installationsanleitung finden Sie in der README-Datei im Stammverzeichnis des Repositorys.

$ git clone https://github.com/apigee/apigeetool-node.git

Nach Abschluss der Installation muss sich die ausführbare Datei apigeetool in Ihrem Pfad befinden. Sie können sie mit dem folgenden Befehl testen:

$ apigeetool -h

Node.js-Anwendung mit apigeetool in Edge bereitstellen

Hinweis: Bevor Sie die Anwendung bereitstellen, benötigen Sie den Namen Ihrer Apigee Edge-Organisation, Ihren Nutzernamen und das Passwort für Ihr Apigee Edge-Konto. Diese Informationen sind erforderlich, um den Befehl apigeetool korrekt zu formulieren.

So stellen Sie eine Node.js-Anwendung mit apigeetool bereit:

  1. Wechseln Sie in einem Terminalfenster mit cd zum Stammverzeichnis Ihrer Node.js-Anwendung.
  2. Führen Sie das apigeetool Programm mit dem deploynodeapp Befehl aus:

    $ apigeetool deploynodeapp -n {A name for your new proxy} -d {The root directory of your Node.js app} -m {The name of the main Node.js file} -o {Your org name on Edge} -e {The environment to deploy to} -b {The base URL for your proxy} -u {Your Edge email address} -p {Your Edge password}
    
    Beispiel:

    $ apigeetool deploynodeapp -n myNodeApp -d . -m server.js -o myorg -e test -b /myNodeApp -u ntesla -p myPassword
    
  3. Prüfen Sie die Ausgabe im Terminalfenster. Sie sollte so aussehen:

    Importing new application myNodeApp
    Imported new app revision 1
    Deploying revision 1
      Deployed.
    Proxy: "myNodeApp" Revision 1
      Environment: test BasePath: /myNodeApp
      Status: deployed

    Wenn „Status: deployed“ angezeigt wird, ist alles erledigt. Alles ist reibungslos verlaufen. Ihre Node.js-Anwendung ist in einen API-Proxy eingebunden, in Edge bereitgestellt und wird ausgeführt. Sie wartet auf Anfragen. Sie kann jetzt getestet werden.

  4. Testen Sie Ihren Proxy. Beispiel:

    $ curl http://myorg-test.apigee.net/myNodeApp
    Hello, My Node App!
    
  5. Melden Sie sich bei Bedarf in Ihrem Apigee Edge-Konto an und rufen Sie die Seite „API-Proxys“ der Management-Benutzeroberfläche auf. Dort wird Ihr neuer Proxy aufgeführt.

Umgang von apigeetool mit abhängigen Dateien und Modulen

Wenn Ihre Node.js-Anwendung von installierten Modulen abhängt, verarbeitet apigeetool sie, indem der node_modules Ordner gezippt und dem Proxy-Bundle hinzugefügt wird. Es sind keine weiteren Maßnahmen erforderlich. Dasselbe gilt für alle Verzeichnisse, die zusätzlichen Quellcode enthalten. Das Programm apigeetool zippt sie und stellt sie mit dem Bundle bereit.

Sie können Dateien in diesen gezippten Verzeichnissen nicht im Editor der Edge Management UI bearbeiten. Wenn Sie Änderungen vornehmen müssen, können Sie Ihr Projekt exportieren, die Dateien lokal bearbeiten und dann mit apigeetool neu bereitstellen oder das exportierte Projekt über die Management UI importieren. Weitere Informationen finden Sie unter "Proxy mit Node.js-Code exportieren und importieren".

Grundlegende Informationen zur Verwendung von apigeetool

Grundlegende Informationen zu den Eingabeparametern des Programms apigeetool erhalten Sie mit dem folgenden Befehl:

$ apigeetool deploynodeapp -h

  Usage: deploynodeapp -n [name] -o [organization] -e [environment]
  -d [directory name] -m [main script file]
  -u [username] -p [password]
  -b [base path] -l [apigee API url] -z [zip file] -i -h
  -o Apigee organization name
  -e Apigee environment name
  -n Apigee proxy name
  -d Apigee proxy directory
  -m Main script name: Should be at the top level of the directory
  -u Apigee user name
  -p Apigee password
  -b Base path (optional, defaults to /)
  -L Apigee API URL (optional, defaults to https://api.enterprise.apigee.com)
  -z ZIP file to save (optional for debugging)
  -i import only, do not deploy
  -R Resolve Node.js modules on Apigee Edge. Equivalent to running npm install on your project. 
  -U Uploads Node.js modules to Apigee Edge. 
  -h Print this message

Neuen Proxy mit vorhandenen Node.js Dateien erstellen

Eine andere Möglichkeit, eine vorhandene Node.js-Anwendung in einen API-Proxy zu integrieren, besteht darin, die Anwendung beim Erstellen des Proxys hinzuzufügen. Das ist vollständig über die Management UI und das Dialogfeld „Neuer API-Proxy“ möglich.

  1. Klicken Sie auf der Übersichtsseite für API-Proxys auf + API-Proxy.
  2. Wählen Sie im Dialogfeld „Neuer API-Proxy“ die Option Vorhandenes Node.js aus.
  3. Klicken Sie auf die Schaltfläche Dateien auswählen , um eine oder mehrere Node.js-Dateien zum Importieren auszuwählen.
  4. Geben Sie dem Proxy einen Namen. In diesem Beispiel nennen wir ihn hellonode.
  5. Fügen Sie dem Basispfad des Projekts die Version /v1 hinzu. Es gilt als Best Practice, Ihre API zu versionieren.
  6. Klicken Sie auf Erstellen.
  7. Klicken Sie auf Entwickeln , um die Ansicht „Entwickeln“ aufzurufen.
  8. Öffnen Sie die Datei TargetEndpoint im Codeeditor.
  9. Das <ScriptTarget> Element muss die Haupt-Node.js-Datei angeben: wie folgt:


    <ScriptTarget>
            <ResourceURL>node://server.js</ResourceURL>
            <Properties/>
    </ScriptTarget>
  10. Klicken Sie auf Speichern.

Neue Node.js-Ressourcen dateien hinzufügen und aufrufen

Eine andere Möglichkeit, einem Proxy Node.js-Code hinzuzufügen, besteht darin, ihn direkt hinzuzufügen, entweder über die Benutzeroberfläche oder durch Hochladen aus Ihrem lokalen Dateisystem. Sie können auch angeben, welche Node.js-Datei die Haupt datei ist. Das ist die Datei, die Edge beim Bereitstellen des Proxys aufruft.

Neue Node.js-Dateien über die Benutzeroberfläche hinzufügen

Über die Management UI können Sie einem Proxy auf der Edge Plattform zusätzliche Node.js-Quelldateien hinzufügen. Sie können sie direkt in der Benutzeroberfläche erstellen oder aus Ihrem Dateisystem importieren. Sehen wir uns zuerst an, wie das über die Benutzeroberfläche funktioniert.

So erstellen Sie eine neue Node.js-Ressourcendatei:

  1. Wählen Sie in der Ansicht „Entwickeln“ im Menü „Neu“ die Option Neues Skript aus.
  2. Wählen Sie im Dialogfeld „Skript hinzufügen“ den Dateityp Node aus und geben Sie einen Namen für das Skript ein.
  3. Klicken Sie auf Hinzufügen.

Die neue, leere Node.js-Datei wird im Editor geöffnet. Sie können Ihren Code in die Datei kopieren. Die Datei wird auch im Bereich „Skripts“ der Navigation angezeigt.

[[{"type":"media","view_mode":"media_large","fid":"2431","attributes":{"alt":"","class":"media-image","height":"312","typeof":"foaf:Image","width":"417"}}]]

Node.js-Dateien aus Ihrem Dateisystem importieren

So importieren Sie eine Node.js-Datei aus Ihrem Dateisystem in den Proxy:

  1. Wählen Sie in der Ansicht „Entwickeln“ im Menü „Neu“ die Option Neues Skript aus.
  2. Klicken Sie im Dialogfeld „Skript hinzufügen“ auf Import Skript.
  3. Wählen Sie mit dem Dateitool Ihre Node.js-Datei aus.
  4. Der Name der Datei wird im Dialogfeld hinzugefügt. Sie können ihn aber bei Bedarf ändern.
  5. Klicken Sie auf Hinzufügen. Die Datei wird im Bereich „Skripts“ der Navigation angezeigt und im Editor geöffnet.
  6. Klicken Sie auf Speichern.

Wenn Sie die importierte Datei aufrufen möchten, ist ein zusätzlicher Schritt erforderlich, wie im nächsten Abschnitt erläutert.

Importierte Node.js-Datei aufrufen

Sie können eine neu importierte oder erstellte Node.js-Datei nicht einfach aufrufen. Der Grund dafür ist, dass in Edge eine Node.js-Datei als die Hauptdatei festgelegt sein muss. Die Hauptdatei wird im <ScriptTarget> Element der Zieldatei angegeben. So geben Sie an, welche Datei die Haupt Node.js-Datei ist:

  1. Klicken Sie in der Navigation unter „Zielendpunkte“ auf den Namen des Zielendpunkts (normalerweise „default“).
  2. Bearbeiten Sie im Codeeditor das Element <ScriptTarget>, indem Sie das <ResourceURL> so ändern, dass der Name der Datei angegeben wird, die die Haupt-Node.js-Datei sein soll. Wenn beispielsweise eine Datei namens hello-world.js die Hauptdatei sein soll, geben Sie node://hello-world.js im Element „ResourceURL“ ein.
  3. Klicken Sie auf Speichern.

Jetzt können Sie die Datei mit dem zuvor verwendeten Proxy-Pfad aufrufen. Wir haben uns beispielsweise das Beispiel „Hello World!“ angesehen, in dem der Basispfad v1/helloangegeben ist. Sie können den Basispfad jedoch ändern, indem Sie den Proxy-Endpunkt bearbeiten.

  1. Klicken Sie in der Navigation unter „Proxy-Endpunkte“ auf den Namen des Proxy-Endpunkts (normalerweise „default“).
  2. Bearbeiten Sie im Codeeditor das Element <HttpProxyConnection>, indem Sie <BasePath> in einen beliebigen Namen ändern. Wenn der aktuelle <BasePath> v1/hello ist und Sie ihn in v1/my-node-file ändern möchten, ändern Sie das Element <BasePath> so:

    <BasePath>/v1/my-node-file</BasePath>
  3. Klicken Sie auf Speichern.
  4. Rufen Sie den Proxy mit dem neuen Basispfad auf:

    $ curl http://myorg-test.apigee.net/v1/my-node-file
    Hello, World!
    

Proxy mit Node.js-Code exportieren und importieren

Nachdem Sie einen Proxy mit Node.js-Code in Edge bereitgestellt haben, können Sie ihn jederzeit wieder in Ihr System exportieren , dort bearbeiten und dann über die Management UI wieder in Edge importieren. Diese Art der Entwicklungstechnik wird häufig verwendet.

  1. Klicken Sie auf der Übersichtsseite für API-Proxys auf Entwickeln.
  2. Wählen Sie auf der Seite „Entwickeln“ die Option Aktuelle Überarbeitung herunterladen aus.
  3. Entpacken Sie die heruntergeladene Datei auf Ihrem System.

Sie können das Proxy-Bundle wieder in Edge importieren, indem Sie im selben Menü die Option In neue Überarbeitung importieren auswählen.

Sie können die API auch zum Bereitstellen von Proxys verwenden. Weitere Informationen finden Sie unter Proxys über die Befehlszeile bereitstellen.

Nächste Schritte

Im nächsten Thema, Hinzufügen von Node.js zu einem vorhandenen API-Proxy, wird erläutert, wie Sie einem vorhandenen Proxy in Ihrem Dateisystem eine Node.js-Anwendung hinzufügen und sie in Edge bereitstellen.