Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Z tych samouczków dowiesz się, jak wdrażać aplikacje Node.js w Edge przy użyciu Hostowane cele, natywne środowisko wykonawcze Node.js hostowane przez Apigee.
Samouczki przedstawiają następujące zadania:
- Wdrażanie aplikacji Node.js w hostowanych miejscach docelowych przy użyciu interfejsu Edge.
- Wdrażanie aplikacji Node.js w hostowanych celach z lokalnego komputera programistycznego.
- Migracja istniejącego serwera proxy za pomocą tradycyjnego serwera proxy Edge z implementacją docelową Node.js do hostowanych celów.
Wdrażanie aplikacji Node.js w hostowanych miejscach docelowych za pomocą interfejsu Edge
W tym samouczku wdrożysz prostą aplikację Node.js w hostowanych miejscach docelowych przy użyciu Edge Interfejs. Po ukończeniu tego samouczka poznasz podstawową strukturę i treść serwera proxy hostowanych celów oraz sposobu dostępu do plików dziennika wdrożenia i kompilacji.
Zaloguj się
- Otwórz stronę apigee.com/edge
- Aby się zalogować, wpisz dane logowania do Apigee.
Utwórz nowy serwer proxy
- W bocznym menu nawigacyjnym kliknij Programowanie > > Serwery proxy interfejsów API
- Kliknij + Serwer proxy.
- Na stronie Create Proxy (Utwórz serwer proxy) wybierz Hosted Target (Hostowany cel).
- Kliknij Dalej.
- W polu Proxy Name (Nazwa serwera proxy) wpisz
hello-hosted-targets
. - Pamiętaj, by „Hello, World” Wybrana jest próbka.
- Kliknij Dalej.
- Na stronie Zabezpieczenia wybierz dla opcji Autoryzacja opcję Pass-through (none) (Przekaż).
- Kliknij Dalej.
- Kliknij Dalej.
- Na stronie kompilacji wybierz środowisko testowe. Uwaga typ serwera proxy to Hosted Targets (Hostowane miejsca docelowe).
- Kliknij Build and Deploy (Utwórz i wdróż). Wdrożenie serwera proxy może chwilę potrwać.
- Po wdrożeniu serwera proxy kliknij Wyświetl serwer proxy hello-hosted-targets na dole strony.
- Wywołaj serwer proxy interfejsu API. Najłatwiej to zrobić, otwierając Trace
Tab, uruchom śledzenie
i kliknij Wyślij. Powinien wyświetlić się status 200:
odpowiedź:
{"date":"2018-09-26T14:23:04.550Z","msg":"Hello, World!"}
Sprawdź serwer proxy
- W interfejsie Edge kliknij kartę Develop.
- W nawigatorze w opcji Docelowe punkty końcowe wybierz default.
- Zwróć uwagę na pusty element podrzędny
<HostedTarget/>
w edytorze kodu w elemencie<TargetEndpoint>
. Ten pusty tag to Informuje on Edge, że miejscem docelowym serwera proxy jest aplikacja wdrożona w Środowisko hostowanych celów. - Zwróć uwagę na zawartość w sekcji Skrypty w Nawigatorze.
Pliki aplikacji w Node.js są oznaczone etykietą hostowane.
- W interfejsie Edge sprawdź pliki wymienione w sekcji Hostowane w sekcji Skrypty:
- Plik app.yaml zawiera informacje o konfiguracji. Przykład: możesz dodać zmienne środowiskowe, które będą dostępne dla aplikacji Node.js na stronie w środowisku wykonawczym. W tym przykładzie nie musisz modyfikować pliku.
- Plik index.js to główny plik aplikacji Node.js.
- Jeśli aplikacja ma jakikolwiek moduł muszą być wymienione w pliku package.json.
Wyświetl pliki dziennika
Pliki dzienników aplikacji mogą być pomocne przy debugowaniu problemów, które pojawiają się na etapie kompilacji a także w czasie działania.
- W interfejsie Edge kliknij kartę Develop.
- Aby wyświetlić log kompilacji, kliknij Logi kompilacji.
- Aby wyświetlić dziennik wdrożenia, kliknij Logi środowiska wykonawczego.
Zobacz też Uzyskiwanie dostępu do plików dziennika.
Podsumowanie
- Udało Ci się wdrożyć prostą aplikację Node.js w środowisku hostowanych celów i przetestować w interfejsie Edge.
- Dowiedz się, że serwer proxy hostowanych celów wymaga specjalnego pustego tagu w elemencie docelowym
Punkt końcowy o nazwie
<HostedTarget/>
. - Wiesz już, że Edge automatycznie wczytuje zależności modułów i że zależności
muszą być wymienione w pliku
package.json
. - Wiesz już też, jak sprawdzać pliki logu kompilacji i czasu działania.
Wdrażanie Node.js z systemu w Edge
W tej sekcji dowiesz się, jak wdrożyć samodzielną aplikację Node.js z systemu lokalnego
Hostowane cele za pomocą narzędzia apigeetool. apigeetool
Narzędzie łączy aplikację Node.js w nowy serwer proxy hostowanych celów i wdraża ją w Edge.
Zainstaluj narzędzie apigeetool
Zalecany sposób wdrażania serwera proxy za pomocą narzędzia apigeetool. do Edge. Aby zainstalować narzędzie apigeetool, uruchom to polecenie NPM:
npm install -g apigeetool
Tworzenie aplikacji Node.js
Dla ułatwienia mamy dla Ciebie kod prostej aplikacji Node.js.
- Utwórz katalog dla aplikacji Node.js. Nazwij katalog node-hosted-express.
- cd do nowego katalogu.
- Utwórz plik o nazwie index.js i skopiuj do niego ten kod.
- Utwórz plik o nazwie package.json i skopiuj do niego ten kod. Zwróć uwagę, że moduł ekspresowy jest widoczny jako zależność.
- Utwórz plik o nazwie app.yaml i skopiuj do niego ten kod:
- Twój katalog powinien wyglądać tak:
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
Przegląd wymaganej struktury katalogów dla kodu aplikacji
Aplikacja Node.js musi mieć
Ta sama struktura co w standardowej aplikacji Node.js. Pamiętaj jednak, aby wykonać te czynności:
wymagania przed wdrożeniem za pomocą oprogramowania apigeetool
w Edge:
- Plik manifestu app.yaml jest wymagany i musi znajdować się w katalogu głównym. katalogu aplikacji. Więcej informacji o tym pliku znajdziesz w sekcji Plik manifestu.
- Plik package.json jest wymagany. Musi zawierać listę zależności, wymaga aplikacji.
- Folder node_modules nie jest wymagany. Po wdrożeniu aplikacji Node.js serwer Edge uruchamia za Ciebie polecenie npm install. Będzie zależności z pliku package.json. Jedyne, kiedy musisz wyraźnie wskazać jeśli masz moduły niestandardowe, które są niedostępne, użyj parametru node_modules. za pomocą npm.
Wdrażanie serwera proxy
- W terminalu wpisz cd do katalogu głównego aplikacji Node.js.
- Wykonaj polecenie apigeetool za pomocą polecenia deployhostedtarget:
apigeetool deployhostedtarget -o org -e env -n proxy-name -b /node-hosted-express -u username
gdzie -n to nazwa, którą chcesz nadać nowemu serwerowi proxy. Nie może się powtarzać
w całej organizacji. Dozwolone są tylko znaki, które można w nazwie
te: a-z0-9._\-$%
Na przykład:
apigeetool deployhostedtarget -o myorg -e test -n node-hosted-express -b /node-hosted-express -u jdoe@apigee.com
Więcej informacji o korzystaniu z narzędzia apigeetool znajdziesz w artykule https://github.com/apigee/apigeetool-node.
Testowanie serwera proxy
Serwer proxy możesz przetestować za pomocą polecenia cURL, za pomocą klienta REST, takiego jak Postman, lub w interfejsie Edge w narzędziu śledzenia. Oto przykładowe polecenie cURL.
curl http://myorg-test.apigee.net/node-hosted-express {"date":1506992197427,"msg":"hello-world"}
Uzyskiwanie logów kompilacji
Logi kompilacji zawierają dane wyjściowe dotyczące wdrażania i kompilowania aplikacji Node.js. Zobacz też Pliki dziennika.
apigeetool getlogs -u username -o org -e env --hosted-build -n proxy-name
Na przykład:
apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-build -n node-hosted-express
Pobieranie logów środowiska wykonawczego
Logi środowiska wykonawczego zawierają dane wyjściowe związane z uruchomioną aplikacją. Logi środowiska wykonawczego mają zakres ograniczony do środowiska i zwraca logi aktualnie wdrożonej wersji serwera proxy. Zobacz też Pliki dziennika.
apigeetool getlogs -u username -o org -e env --hosted-runtime -n proxy-name
Na przykład:
apigeetool getlogs -u jdoe@apigee.com -o myorg -e test --hosted-runtime -n node-hosted-express
Wyświetlanie serwera proxy w interfejsie Edge
Po udanym wdrożeniu możesz wyświetlać i edytować serwer proxy w części interfejsów API Interfejs Edge.
Migracja istniejącego serwera proxy Node.js do serwera proxy hostowanych celów
W tej sekcji wyjaśniono, jak ręcznie przenieść istniejący serwer proxy interfejsu Edge API, który korzysta z tradycyjnego Implementacja docelowa Node.js na hostowanych wartościach docelowych. Wyjaśniono w nim również, jak wdrożyć serwer proxy po Gdy już wykonam wszystkie kroki migracji.
Etapy migracji zachowują strukturę serwera proxy interfejsu API, zasady, przepływy i inne elementy konfiguracji. Migrację możesz przeprowadzić w 4 krokach, jak opisano poniżej, a następnie wdrożyć przeniesiony serwer proxy za pomocą narzędzia apigeetool.
Krok 1. Dostosuj strukturę pliku proxy
Aby można było dostosować strukturę plików, serwer proxy interfejsu API musi znajdować się w lokalnym systemie plików. Jeśli serwer proxy to
wdrożony w Edge, musisz ją pobrać
zanim przejdziesz dalej. W konfiguracji tradycyjnej serwera proxy Edge „bundle” który zawiera kod Node.js, ma taką strukturę pliku.
Kod aplikacji Node.js znajduje się w katalogu resources/node
:
apiproxy/ policies/ proxies/ targets/ resources/ node/ Your application code
W przypadku hostowanych celów musisz umieścić katalog główny aplikacji Node.js w sekcji
katalogu o nazwie resources/hosted
. Wystarczy utworzyć nowy katalog o nazwie
resources/hosted (zasoby/hostowane) i przenoszenie zawartości resources/node
w grę. Potem możesz usunąć katalog resources/node
.
apiproxy/ policies/ proxies/ targets/ resources/ hosted/ Your application code
Krok 2. Dodaj plik manifestu
Utwórz plik manifestu o nazwie app.yaml
i umieść go w sekcji
apiproxy/resources/hosted
.
Poniżej znajdziesz przykładowy plik app.yaml
. Określa ono, że środowisko wykonawcze jest
Node.js (wymagany). Tworzy też zmienną środowiskową w środowisku wykonawczym
(zmienną, do której może mieć dostęp aplikacja Node.js). Zmienna środowiskowa jest opcjonalna
i jest to jedynie przykład. Więcej informacji i przykładów znajdziesz w artykule Plik manifestu.
runtime: node env: - name: NODE_ENV value: production
Przykład poniżej przedstawia strukturę projektu Node.js we właściwej lokalizacji w
serwer proxy dla wdrożenia hostowanych celów:
apiproxy/ resources/ hosted/ index.js node_modules/ app.yaml package.json
Krok 3. Sprawdź, czy masz plik package.json
W tradycyjnych serwerach proxy Node.js na Edge interfejs package.json
był
opcjonalnie. W przypadku hostowanych celów musisz jednak podać ją w katalogu apiproxy/resources/hosted
. Upewnij się,
w celu określenia w tym pliku wszystkich wymaganych zależności aplikacji.
Krok 4. Zmień docelowy punkt końcowy serwera proxy
Tradycyjny serwer proxy Node.js wymaga tagu o nazwie <ScriptTarget>
znajdować się w docelowym pliku punktu końcowego (zwykle /apiproxy/targets/default.xml
).
W przypadku hostowanych celów musisz dodać pusty tag o nazwie <HostedTarget/>.
Jeśli plik zawiera tag ScriptTarget
, możesz go po prostu usunąć.
Na przykład:
<?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>
Wdrażanie serwera proxy
Możesz teraz wdrożyć serwer proxy za pomocą polecenia apigeetool deployproxy
.
- cd do katalogu głównego serwera proxy: /apiproxy
- Aby wdrożyć serwer proxy, użyj tego polecenia:
apigeetool deployproxy -u username -o org -e env -n proxy-name -d .
Na przykład:
apigeetool deployproxy -u jdoe -o docs -e test -n hello-world -d .
Więcej informacji o korzystaniu z apigeetool
znajdziesz tutaj:
https://github.com/apigee/apigeetool-node/blob/master/README.md.
Testowanie serwera proxy
Serwer proxy możesz przetestować za pomocą polecenia cURL, za pomocą klienta REST, takiego jak Postman, lub w interfejsie Edge w narzędziu śledzenia. Oto przykładowe polecenie cURL:
curl http://myorg-test.apigee.net/hello-world Hello,World!