Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur
Dokumentation zuApigee X wechseln. info
In den folgenden Anleitungen wird beschrieben, wie Sie Node.js-Anwendungen mit gehosteten Zielen, einer nativen Node.js-Laufzeitumgebung, die von Apigee gehostet wird, in Edge bereitstellen.
In den Anleitungen werden die folgenden Aufgaben behandelt:
- Node.js-Anwendung mit der Edge-UI in gehosteten Zielen bereitstellen
- Node.js-Anwendung von Ihrer lokalen Entwicklungsmaschine in gehosteten Zielen bereitstellen
- Vorhandenen Proxy mit einer herkömmlichen Edge-Node.js-Zielimplementierung zu gehosteten Zielen migrieren
Node.js-Anwendung mit der Edge-UI in gehosteten Zielen bereitstellen
In dieser Anleitung stellen Sie eine einfache Node.js-Anwendung mit der Edge UI in gehosteten Zielen bereit. Nach Abschluss der Anleitung kennen Sie die grundlegende Struktur und den Inhalt eines Proxys für gehostete Ziele und wissen, wie Sie auf Bereitstellungs- und Build-Logdateien zugreifen.
Anmelden
- Rufen Sie apigee.com/edge auf.
- Geben Sie Ihre Apigee-Anmeldedaten ein, um sich anzumelden.
Neuen Proxy erstellen
- Wählen Sie im seitlichen Navigationsmenü Entwickeln > API-Proxys aus.
- Klicken Sie auf + Proxy.
- Wählen Sie auf der Seite „Proxy erstellen“ die Option Gehostetes Ziel aus.
- Klicken Sie auf Weiter.
- Geben Sie im Feld „Proxy-Name“
hello-hosted-targetsein. - Achten Sie darauf, dass Beispiel „Hello World“ ausgewählt ist.
- Klicken Sie auf Weiter.
- Wählen Sie auf der Seite „Sicherheit“ für die Autorisierung die Option Passthrough (keine) aus.
- Klicken Sie auf Weiter.
- Klicken Sie auf Weiter.
- Achten Sie darauf, dass auf der Seite „Build“ die Umgebung test ausgewählt ist. Beachten Sie, dass der Proxy-Typ Gehostete Ziele ist.
- Klicken Sie auf Erstellen und bereitstellen. Es kann einige Augenblicke dauern, bis die Proxy-Bereitstellung abgeschlossen ist.
- Nachdem der Proxy erfolgreich bereitgestellt wurde, klicken Sie unten auf der Seite auf Proxy „hello-hosted-targets“ ansehen.
- Den API-Proxy aufrufen. Am einfachsten geht das über den Tab Trace
. Starten Sie eine Trace
-Sitzung und klicken Sie auf Senden. Sie sollten den Status „200“ mit der folgenden
Antwort erhalten:
{"date":"2018-09-26T14:23:04.550Z","msg":"Hello, World!"}
Proxy prüfen
- Klicken Sie in der Edge-UI auf den Tab Entwickeln.
- Wählen Sie im Navigator unter „Zielendpunkte“ die Option Standard aus.
- Im Code-Editor sehen Sie, dass unter dem
<TargetEndpoint>Element ein leeres untergeordnetes Element<HostedTarget/>vorhanden ist. Dieses leere Tag ist erforderlich. Es teilt Edge mit, dass das Ziel des Proxys eine Anwendung ist, die in der Umgebung für gehostete Ziele bereitgestellt wird.
- Beachten Sie im Navigator den Inhalt im Abschnitt Skripts. Die
Node.js-Anwendungsdateien sind unter dem hosted Label aufgeführt.

- Prüfen Sie in der Edge-UI die Dateien, die unter hosted im Abschnitt Skripts aufgeführt sind:
- Die Datei „app.yaml“ enthält Konfigurationsinformationen. Sie können beispielsweise Umgebungsvariablen hinzufügen, die der Node.js-Anwendung zur Laufzeit zur Verfügung stehen. Sie müssen diese Datei für dieses Beispiel nicht ändern.
- Die Datei index.js ist die Hauptdatei der Node.js-Anwendung.
- Wenn Ihre Anwendung Modul Abhängigkeiten hat, müssen diese in package.json aufgeführt sein.
Logdateien ansehen
Anwendungsprotokolldateien können hilfreich sein, um Probleme zu beheben, die während der Build-Phase und zur Laufzeit auftreten.
- Klicken Sie in der Edge-UI auf den Tab Entwickeln.
- Klicken Sie auf Build-Logs, um das Build-Log aufzurufen.
- Klicken Sie auf Laufzeitlogs, um das Bereitstellungslog aufzurufen.
Siehe auch Auf Logdateien zugreifen.
Zusammenfassung
- Sie haben eine einfache Node.js-Anwendung in der Umgebung für gehostete Ziele bereitgestellt und sie in der Edge-UI getestet.
- Sie haben erfahren, dass ein Proxy für gehostete Ziele ein spezielles leeres Tag im Ziel
Endpunkt erfordert, das
<HostedTarget/>heißt. - Sie haben erfahren, dass Edge Modulabhängigkeiten automatisch lädt und dass Abhängigkeiten
in der
package.jsonDatei aufgeführt sein müssen. - Außerdem haben Sie gelernt, wie Sie Build- und Laufzeitprotokolldateien prüfen.
Node.js von Ihrem System in Edge bereitstellen
In diesem Abschnitt wird beschrieben, wie Sie eine eigenständige Node.js-Anwendung mit apigeetool von Ihrem lokalen System in
gehosteten Zielen bereitstellen. Das apigeetool
Dienstprogramm bündelt die Node.js-Anwendung in einem neuen Proxy für gehostete Ziele und stellt sie in Edge bereit.
apigeetool installieren
Die Verwendung von apigeetool ist die empfohlene Methode für Entwickler, um Proxy Code in Edge bereitzustellen. Führen Sie den folgenden NPM-Befehl aus, um apigeetool zu installieren:
npm install -g apigeetool
Node.js-Anwendung erstellen
Um die Dinge zu vereinfachen, wird der Code für eine einfache Node.js-Anwendung bereitgestellt.
- Erstellen Sie ein Verzeichnis für die Node.js-Anwendung. Nennen Sie das Verzeichnis node-hosted-express.
- cd in das neue Verzeichnis.
- Erstellen Sie eine Datei namens index.js und kopieren Sie diesen Code hinein.
- Erstellen Sie eine Datei namens package.json und kopieren Sie diesen Code hinein. Beachten Sie, dass das Express-Modul als Abhängigkeit aufgeführt ist.
- Erstellen Sie eine Datei namens app.yaml und kopieren Sie diesen Code hinein:
- Achten Sie darauf, dass Ihr Verzeichnis so aussieht:
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
Übersicht über die erforderliche Verzeichnisstruktur für den Anwendungscode
Ihre Node.js-Anwendung muss dieselbe Struktur wie eine Standard-Node.js-Anwendung haben. Achten Sie jedoch darauf, dass Sie diese Anforderungen erfüllt haben, bevor Sie mit apigeetool in Edge bereitstellen:
- Die Manifestdatei app.yaml ist erforderlich und muss sich im Stammverzeichnis Ihrer Anwendung befinden. Weitere Informationen zu dieser Datei finden Sie unter Manifestdatei.
- Eine package.json -Datei ist erforderlich. Darin müssen alle Abhängigkeiten aufgeführt sein, die Ihre Anwendung benötigt.
- Ein Ordner node_modules ist nicht erforderlich. Edge führt npm install für Sie aus, wenn die Node.js-Anwendung bereitgestellt wird. Die Abhängigkeiten werden aus package.json abgerufen. Sie müssen node_modules nur dann explizit angeben, wenn Sie benutzerdefinierte Module haben, die nicht über npm verfügbar sind.
Proxy bereitstellen
- cd in einem Terminal zum Stammverzeichnis Ihrer Node.js-Anwendung.
- Führen Sie apigeetool mit dem Befehl deployhostedtarget aus:
apigeetool deployhostedtarget -o org -e env -n proxy-name -b /node-hosted-express -u username
Dabei ist -n der Name, den Sie dem neuen Proxy geben möchten. Er muss
innerhalb der Organisation eindeutig sein. Die Zeichen, die Sie im Namen verwenden dürfen, sind auf
folgende Zeichen beschränkt: a-z0-9._\-$%
Beispiel:
apigeetool deployhostedtarget -o myorg -e test -n node-hosted-express -b /node-hosted-express -u jdoe@apigee.com
Weitere Informationen zur Verwendung von apigeetool finden Sie unter https://github.com/apigee/apigeetool-node.
Proxy testen
Sie können den Proxy mit einem cURL-Befehl, mit einem REST-Client wie Postman oder in der Edge-UI im Trace-Tool testen. Hier ist ein Beispiel für einen cURL-Befehl.
curl http://myorg-test.apigee.net/node-hosted-express
{"date":1506992197427,"msg":"hello-world"}Build-Logs abrufen
Build-Logs enthalten Ausgaben zur Bereitstellung und zum Erstellen der Node.js-Anwendung. Siehe auch Logdateien.
apigeetool getlogs -u username -o org -e env --hosted-build -n proxy-name
Beispiel:
apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-build -n node-hosted-express
Laufzeitlogs abrufen
Laufzeitlogs enthalten Ausgaben zur ausgeführten Anwendung. Laufzeitlogs sind auf die Umgebung beschränkt und geben Logs für die aktuell bereitgestellte Proxy-Version zurück. Siehe auch Logdateien.
apigeetool getlogs -u username -o org -e env --hosted-runtime -n proxy-name
Beispiel:
apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-runtime -n node-hosted-express
Proxy in der Edge-UI ansehen
Nach der erfolgreichen Bereitstellung können Sie Ihren Proxy im Bereich „API-Proxys“ der Edge-UI ansehen und bearbeiten.
Vorhandenen Node.js-Proxy zu einem Proxy für gehostete Ziele migrieren
In diesem Abschnitt wird beschrieben, wie Sie einen vorhandenen Edge-API-Proxy, der die herkömmliche Node.js-Zielimplementierung verwendet, manuell zu gehosteten Zielen migrieren. Außerdem wird erläutert, wie Sie den Proxy bereitstellen, nachdem Sie die Migrationsschritte ausgeführt haben.
Bei den Migrationsschritten bleiben die API-Proxy-Struktur, Richtlinien, Flows und andere Konfigurationselemente erhalten. Sie können die Migration in vier Schritten durchführen, wie unten beschrieben, und dann den migrierten Proxy mit apigeetool bereitstellen.
Schritt 1: Proxy-Dateistruktur anpassen
Um die Dateistruktur anzupassen, muss sich der API-Proxy auf Ihrem lokalen Dateisystem befinden. Wenn der Proxy in Edge bereitgestellt wird, müssen Sie ihn herunterladen bevor Sie fortfahren. In der herkömmlichen Konfiguration folgt ein Edge-Proxy-Bundle, das Node.js-Code enthält, dieser Dateistruktur.
Der Node.js-Anwendungscode wird im Verzeichnis resources/node platziert:
apiproxy/
policies/
proxies/
targets/
resources/
node/
Your application code
Für gehostete Ziele müssen Sie das Stammverzeichnis Ihrer Node.js-Anwendung unter einem
Verzeichnis namens resources/hosted platzieren. Erstellen Sie einfach ein neues Verzeichnis namens
resources/hosted und verschieben Sie den Inhalt von resources/node
hinein. Anschließend können Sie das Verzeichnis resources/node löschen.
apiproxy/
policies/
proxies/
targets/
resources/
hosted/
Your application codeSchritt 2: Manifestdatei hinzufügen
Erstellen Sie eine Manifestdatei namens app.yaml und platzieren Sie sie im
apiproxy/resources/hosted Verzeichnis.
Hier ist ein Beispiel für eine app.yaml-Datei. Sie gibt an, dass die Laufzeit
Node.js ist (erforderlich). Außerdem wird eine Umgebungsvariable in der Ausführungsumgebung erstellt
(eine Variable, auf die die Node.js-Anwendung zugreifen kann). Die Umgebungsvariable ist optional
und wird hier nur als Beispiel gezeigt. Weitere Informationen und Beispiele finden Sie unter Manifestdatei.
runtime: node
env:
- name: NODE_ENV
value: production
Das folgende Beispiel zeigt eine Node.js-Projektstruktur, die sich an der richtigen Stelle im
Proxy für die Bereitstellung gehosteter Ziele befindet:
apiproxy/
resources/
hosted/
index.js
node_modules/
app.yaml
package.jsonSchritt 3: Achten Sie darauf, dass Sie eine package.json-Datei haben
In herkömmlichen Edge-Node.js-Proxys war die Datei package.json war
optional. Für gehostete Ziele müssen Sie jedoch eine im Verzeichnis apiproxy/resources/hosted angeben. Geben Sie in dieser Datei alle erforderlichen Abhängigkeiten für Ihre Anwendung an.
Schritt 4: Zielendpunkt des Proxys ändern
Für einen herkömmlichen Node.js-Proxy muss in der Zielendpunktdatei (in der Regel /apiproxy/targets/default.xml) ein Tag namens <ScriptTarget>
vorhanden sein. Für gehostete Ziele müssen Sie ein leeres Tag namens <HostedTarget/> hinzufügen. Wenn in der Datei ein ScriptTarget Tag vorhanden ist, können Sie es einfach entfernen.
Beispiel:
<?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>
Proxy bereitstellen
Sie können den Proxy jetzt mit dem Befehl apigeetool deployproxy bereitstellen.
- cd in das Stammverzeichnis Ihres Proxys: /apiproxy
- Verwenden Sie diesen Befehl, um den Proxy bereitzustellen:
apigeetool deployproxy -u username -o org -e env -n proxy-name -d .
Beispiel:
apigeetool deployproxy -u jdoe -o docs -e test -n hello-world -d .
Weitere Informationen zur Verwendung von apigeetool finden Sie unter
https://github.com/apigee/apigeetool-node/blob/master/README.md.
Proxy testen
Sie können den Proxy mit einem cURL-Befehl, mit einem REST-Client wie Postman oder in der Edge-UI im Trace-Tool testen. Hier ist ein Beispiel für einen cURL-Befehl:
curl http://myorg-test.apigee.net/hello-world Hello,World!