Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu
Apigee X. info
Einführung
In diesem Thema wird erläutert, wie Sie eine Node.js-Anwendung einem vorhandenen Proxy in Ihrem lokalen Dateisystem hinzufügen und den Proxy in Apigee Edge bereitstellen.
Entwicklungsumgebung vorbereiten
In diesem Thema wird davon ausgegangen, dass Sie bereits eine Proxy-Entwicklungsumgebung auf Ihrem lokalen System eingerichtet haben und eine Node.js-Anwendung einbinden möchten.
Die grundlegende Struktur einer Proxyanwendung, die eine Node.js-Anwendung enthält, folgt dem Muster
in der folgenden Abbildung mit einem Basisordner /apiproxy
und Unterordnern für Ressourcen, Ziele und Proxys. Die Node.js-Dateien müssen sich im Ordner apiproxy/resources/node befinden. Die anderen Ordner enthalten XML-Dateien, die Proxy- und Zielendpunkte, den Proxyablauf, bedingte Abläufe usw. definieren. Eine ausführlichere Beschreibung der API-Proxy-Struktur finden Sie unter Referenz zur API-Proxy-Konfiguration.

Denken Sie daran, dass jeder Node.js-Code, der Teil des Proxys ist, unter /apiproxy/resources/node platziert werden muss. Dort sucht Edge ihn bei der Bereitstellung.
Node.js-Ziel mit ScriptTarget angeben
Der Schlüssel zur Einbindung von Node.js in einen Proxy ist die Angabe des Elements <ScriptTarget> in der XML-Datei des Zielendpunkts. In der Proxy-Dateistruktur befindet sich diese XML-Datei in apiproxy/targets. Standardmäßig ist der Dateiname default.xml.
Ein Zielendpunkt verweist in der Regel auf einen Backend-Dienst. In diesem Fall rufen wir den Apigee-Mock-Zieldienst auf. Eine Zielendpunktdefinition sieht so aus:
<TargetEndpoint name="default"> <Description/> <Flows/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <HTTPTargetConnection> <URL>http://mocktarget.apigee.net/</URL> </HTTPTargetConnection> <PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow> </TargetEndpoint>
Das Element <HTTPTargetConnection> gibt die URL des Backend-Dienstes an, in diesem Fall des Apigee Mock-Zieldienstes.
Bei Node.js ist die Node.js-Anwendung selbst das Ziel. Sie geben dies mit <ScriptTarget> in der apiproxy/targets/default.xml Datei an.
Anstatt dass das Ziel mit dem Element <HTTPTargetConnection> die URL eines Backend-Dienstes angibt, wird die Node.js-Anwendung direkt mit einem <ScriptTarget> Element referenziert:
<TargetEndpoint name="default"> <ScriptTarget> <ResourceURL>node://server.js</ResourceURL> </ScriptTarget> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> </TargetEndpoint>
Dem Parameter <ResourceURL> muss immer das Präfix node://,
vorangestellt werden, gefolgt vom Namen des Haupt-Node.js-Skripts. Wie bereits erwähnt, müssen sich Node.js-Ressourcen im API-Proxy-Bereich unter /apiproxy/resources/node befinden.
Sie können in ScriptTarget zusätzliche Parameter festlegen. Weitere Informationen finden Sie unter Erweiterte ScriptTarget-Konfiguration.
Für dieses Beispiel sehen Sie hier den Quellcode für die Haupt-Node.js-Datei mit dem Namen server.js. Es ist der grundlegende HTTP Server, der bei einer Anfrage „Hello World!“ zurückgibt:
var http = require('http'); console.log('node.js application starting...'); var svr = http.createServer(function(req, resp) { resp.end('Hello, Node!'); }); svr.listen(process.env.PORT || 9000, function() { console.log('Node HTTP server is listening'); });
Zusammenfassend lässt sich sagen, dass der API-Proxy, der das Node.js-Skript enthält, folgende Struktur hat, wenn die Haupt-Node.js-Anwendung in einer Datei
namens server.js implementiert ist und die Endpunktkonfigurationen
beide den Namen default.xml haben:
/apiproxy/proxyName.xml /apiproxy/proxies/default.xml /apiproxy/targets/default.xml /apiproxy/resources/node/server.js
Anwendung für die Bereitstellung vorbereiten
Die meisten Node.js-Anwendungen haben Abhängigkeitsdateien und enthalten eine package.json-Datei im Basisverzeichnis. In diesem Fall empfiehlt es sich, das npm-Tool auszuführen, um sicherzustellen, dass das Verzeichnis node_modules der obersten Ebene vor der Bereitstellung mit den Abhängigkeiten gefüllt ist. Wenn Remote-Abhängigkeiten vorhanden sind, die nicht in node_modules enthalten sind, kann Ihre Node.js-Anwendung nicht in Edge ausgeführt werden.
Sie können alle Abhängigkeiten ganz einfach mit dem npm-Tool in Ihr Dateisystem abrufen:
- Führen Sie im Basisverzeichnis Ihrer Node.js-Anwendung folgenden Befehl aus:
$ npm install
oder
$ npm update
Wenn die Abhängigkeiten installiert sind, können Sie Ihren Proxy in Edge bereitstellen.
Node.js-Anwendung in Apigee Edge bereitstellen
Vor der Bereitstellung benötigen Sie den Namen Ihrer Organisation, Ihren Nutzernamen und Ihr Passwort für Ihr Apigee Edge-Konto. Diese Informationen sind erforderlich, um den Befehl des Bereitstellungstools korrekt zu formulieren.
Hier ist der Befehl. Er geht davon aus (mit dem Flag -d), dass Sie sich im Stammverzeichnis Ihres Proxys befinden. Wenn Ihr Proxy „foo“ heißt, geben Sie diesen Befehl im Verzeichnis „foo“ ein:
$ apigeetool deployproxy -u username -p password -o org -e test -n hellonode -d .
$ apigeetool deployproxy -h
Kurze Zusammenfassung:
- -n Mit diesem Flag können Sie den Namen des Proxys angeben, der bei der Bereitstellung der Anwendung erstellt wird. Dieser Name wird in der Verwaltungs-UI angezeigt.
- -d gibt das Stammverzeichnis des API-Proxys an.
- -o, -e, -u und -p geben den Namen der Organisation, die Bereitstellungsumgebung, den Nutzernamen und das Passwort an.
Neuen API-Proxy testen
Sie haben gerade einem vorhandenen API-Proxy eine Node.js-Anwendung hinzugefügt und den Proxy in Apigee Edge bereitgestellt. Führen Sie zum Testen diesen cURL-Befehl aus. Wir gehen davon aus, dass der Standardbasispfad (/) verwendet wird. Der Basispfad wird in der Konfigurationsdatei des Proxy-Endpunkts angegeben. Ersetzen Sie org_name durch den Namen Ihrer Organisation. Wenn cURL nicht installiert ist, können Sie die URL in einen Browser eingeben.
$ curl http://org_name-test.apigee.net/
Hello, Node!
Neuen Proxy in der Verwaltungs-UI ansehen
Melden Sie sich in Ihrem Apigee Edge-Konto an und rufen Sie die Seite „API-Proxys“ auf. Dort wird der Proxy „hellonode“ aufgeführt.

Klicken Sie auf „hellonode“, um Details zum Proxy aufzurufen. In der Ansicht „Entwickeln“ können Sie den hochgeladenen Quellcode sehen, Richtlinien hinzufügen, Abläufe bearbeiten usw.

Nächste Schritte
Informationen zum Debuggen von Node.js-Anwendungen, die in Apigee Edge ausgeführt werden, finden Sie unter Debugging und Fehlerbehebung bei Node.js Proxys.