Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację
Apigee X. info
Z tych samouczków dowiesz się, jak wdrożyć aplikacje Node.js w Edge za pomocą hostowanych miejsc docelowych, czyli natywnego środowiska wykonawczego Node.js hostowanego przez Apigee.
Samouczki obejmują te zadania:
- Wdrażanie aplikacji Node.js w hostowanych miejscach docelowych za pomocą interfejsu Edge.
- Wdrażanie aplikacji Node.js w hostowanych miejscach docelowych z lokalnego komputera używanego do programowania.
- Migrowanie istniejącego serwera proxy z tradycyjną implementacją miejsca docelowego Node.js w Edge do hostowanych miejsc docelowych.
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 za pomocą interfejsu Edge UI. Po ukończeniu samouczka zrozumiesz podstawową strukturę i zawartość serwera proxy hostowanych miejsc docelowych oraz dowiesz się, jak uzyskać dostęp 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 nowe proxy
- W menu nawigacyjnym po lewej stronie kliknij Develop (Programowanie) > API Proxies (Serwery proxy interfejsu API).
- Kliknij + Proxy.
- Na stronie Create Proxy (Utwórz serwer proxy) kliknij Hosted Target (Hostowane miejsce docelowe).
- Kliknij Dalej.
- W polu Proxy Name (Nazwa serwera proxy) wpisz
hello-hosted-targets. - Upewnij się, że jest zaznaczona opcja "Hello World" Sample (Przykładowy kod „Hello World”).
- Kliknij Dalej.
- Na stronie Security (Bezpieczeństwo) w sekcji Authorization (Autoryzacja) wybierz Pass through (none) (Przekaż dalej (brak)).
- Kliknij Dalej.
- Kliknij Dalej.
- Na stronie Build (Kompilacja) upewnij się, że jest wybrane środowisko test. Zwróć uwagę że Proxy Type (Typ serwera proxy) to Hosted Targets (Hostowane miejsca docelowe).
- Kliknij Build and Deploy (Skompiluj i wdróż). Wdrożenie serwera proxy może potrwać kilka minut.
- Gdy serwer proxy zostanie wdrożony, u dołu strony kliknij View hello-hosted-targets proxy (Wyświetl serwer proxy hello-hosted-targets).
- Wywołaj serwer proxy interfejsu API. Najłatwiej to zrobić, otwierając kartę Trace
(Śledzenie), rozpoczynając sesję śledzenia i klikając Send (Wyślij). Powinien pojawić się stan 200 z tą odpowiedzią:
{"date":"2018-09-26T14:23:04.550Z","msg":"Hello, World!"}
Sprawdź serwer proxy
- W interfejsie Edge kliknij kartę Develop (Programowanie).
- W Navigatorze (Nawigatorze) w sekcji Target Endpoints (Docelowe punkty końcowe) kliknij default (domyślny).
- W edytorze kodu zobaczysz, że w elemencie
<TargetEndpoint>znajduje się pusty element podrzędny<HostedTarget/>. Ten pusty tag jest wymagany. Informuje on Edge, że miejscem docelowym serwera proxy jest aplikacja wdrożona w środowisku hostowanych miejsc docelowych.
- W Navigatorze (Nawigatorze) sprawdź zawartość sekcji Scripts (Skrypty). Pliki aplikacji Node.js są wymienione pod etykietą hosted.

- W interfejsie Edge sprawdź pliki wymienione w sekcji Scripts pod etykietą hosted:
- Plik app.yaml zawiera informacje o konfiguracji. Możesz na przykład, dodać zmienne środowiskowe, które będą dostępne dla aplikacji Node.js w czasie działania. W tym przykładzie nie musisz modyfikować tego pliku.
- Plik index.js to główny plik aplikacji Node.js.
- Jeśli Twoja aplikacja ma jakieś zależności od modułów, muszą one być wymienione w pliku package.json.
Wyświetl pliki dziennika
Pliki dziennika aplikacji mogą być przydatne do debugowania problemów występujących podczas kompilacji i w czasie działania.
- W interfejsie Edge kliknij kartę Develop (Programowanie).
- Aby wyświetlić dziennik kompilacji, kliknij Build Logs (Logi kompilacji).
- Aby wyświetlić dziennik wdrożenia, kliknij Runtime Logs (Logi środowiska wykonawczego).
Zobacz też Uzyskiwanie dostępu do plików dziennika.
Podsumowanie
- Wdrożono prostą aplikację Node.js w środowisku hostowanych miejsc docelowych i przetestowano ją w interfejsie Edge.
- Dowiedzieliśmy się, że serwer proxy hostowanych miejsc docelowych wymaga specjalnego pustego tagu w docelowym
punkcie końcowym o nazwie
<HostedTarget/>. - Dowiedzieliśmy się, że Edge automatycznie wczytuje zależności modułów i że zależności
muszą być wymienione w pliku
package.json. - Dowiedzieliśmy się też, jak sprawdzać pliki dziennika kompilacji i środowiska wykonawczego.
Wdrażanie Node.js z systemu do Edge
W tej sekcji dowiesz się, jak wdrożyć samodzielną aplikację Node.js z lokalnego systemu do
hostowanych miejsc docelowych za pomocą narzędzia apigeetool. Narzędzie apigeetool
pakuje aplikację Node.js w nowy serwer proxy hostowanych miejsc docelowych i wdraża go w Edge.
Zainstaluj apigeetool
Używanie apigeetool to zalecany sposób wdrażania kodu serwera proxy kodu w Edge przez programistów. Aby zainstalować apigeetool uruchom to polecenie NPM:
npm install -g apigeetool
Utwórz aplikację Node.js
Aby ułatwić Ci zadanie, udostępniamy kod prostej aplikacji Node.js.
- Utwórz katalog na aplikację Node.js. Nazwij go 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ł express jest wymieniony jako zależność.
- Utwórz plik o nazwie app.yaml i skopiuj do niego ten kod:
- Upewnij się, że katalog 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
Sprawdzanie wymaganej struktury katalogów kodu aplikacji
Twoja aplikacja Node.js musi mieć
taką samą strukturę jak standardowa aplikacja Node.js. Zanim jednak wdrożysz ją w Edge za pomocą narzędzia apigeetool, upewnij się, że spełniasz te
wymagania:
- Wymagany jest plik manifestu app.yaml, który musi znajdować się w katalogu głównym aplikacji. Więcej informacji o tym pliku znajdziesz w sekcji Plik manifestu.
- Wymagany jest plik package.json. Musi on zawierać listę wszystkich zależności wymaganych przez aplikację.
- Folder node_modules nie jest wymagany. Gdy aplikacja Node.js jest wdrażana, Edge automatycznie uruchamia polecenie npm install. Pobiera zależności z package.json. Folder node_modules musisz podać tylko wtedy, gdy masz moduły niestandardowe, które nie są dostępne przez npm.
Wdrażanie serwera proxy
- W terminalu cd do katalogu głównego aplikacji Node.js.
- Uruchom 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. Musi być unikalna
w obrębie organizacji. W nazwie można używać tylko tych znaków: 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 używaniu apigeetool znajdziesz na stronie https://github.com/apigee/apigeetool-node.
Testowanie serwera proxy
Serwer proxy możesz przetestować za pomocą polecenia cURL, klienta REST (np. Postman) lub w interfejsie Edge w narzędziu Trace (Śledzenie). Oto przykładowe polecenie cURL.
curl http://myorg-test.apigee.net/node-hosted-express
{"date":1506992197427,"msg":"hello-world"}Pobieranie logów kompilacji
Logi kompilacji zawierają dane wyjściowe związane z wdrażaniem i kompilowaniem 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 działającą aplikacją. Logi środowiska wykonawczego są ograniczone do środowiska i zwracają logi dla 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 pomyślnym wdrożeniu możesz wyświetlić i edytować serwer proxy w sekcji API Proxies (Serwery proxy interfejsu API) w interfejsie Edge.
Migrowanie istniejącego serwera proxy Node.js do serwera proxy hostowanych miejsc docelowych
W tej sekcji dowiesz się, jak ręcznie zmigrować istniejący serwer proxy interfejsu API Edge, który korzysta z tradycyjnej implementacji miejsca docelowego Node.js, do hostowanych miejsc docelowych. Wyjaśnimy też, jak wdrożyć serwer proxy po wykonaniu czynności migracji.
Czynności migracji zachowują strukturę serwera proxy interfejsu API, zasady, przepływy i inne elementy konfiguracji. Migrację możesz przeprowadzić w 4 krokach opisanych poniżej, a następnie wdrożyć zmigrowany serwer proxy za pomocą narzędzia apigeetool.
Krok 1. Dostosuj strukturę plików serwera proxy
Aby dostosować strukturę plików, serwer proxy interfejsu API musi znajdować się w lokalnym systemie plików. Jeśli serwer proxy jest
wdrożony w Edge, musisz go pobrać
przed kontynuowaniem. W tradycyjnej konfiguracji „pakiet” serwera proxy Edge, który zawiera kod Node.js, ma taką strukturę plików.
Kod aplikacji Node.js znajduje się w katalogu resources/node:
apiproxy/
policies/
proxies/
targets/
resources/
node/
Your application code
W przypadku hostowanych miejsc docelowych musisz umieścić katalog główny aplikacji Node.js w katalogu o nazwie resources/hosted. Po prostu utwórz nowy katalog o nazwie
resources/hosted i przenieś do niego zawartość katalogu resources/node. Następnie możesz usunąć katalog resources/node.
apiproxy/
policies/
proxies/
targets/
resources/
hosted/
Your application codeKrok 2. Dodaj plik manifestu
Utwórz plik manifestu o nazwie app.yaml i umieść go w katalogu
apiproxy/resources/hosted.
Poniżej znajdziesz przykład pliku app.yaml. Określa on, że środowiskiem wykonawczym jest
Node.js (wymagane). Tworzy też zmienną środowiskową w środowisku wykonawczym
(zmienną, do której może uzyskać dostęp aplikacja Node.js). Zmienna środowiskowa jest opcjonalna
i jest tu pokazana tylko jako przykład. Więcej informacji i przykładów znajdziesz w sekcji Plik manifestu.
runtime: node
env:
- name: NODE_ENV
value: production
Poniższy przykład przedstawia strukturę projektu Node.js, która znajduje się w prawidłowej lokalizacji w
serwerze proxy do wdrożenia w hostowanych miejscach docelowych:
apiproxy/
resources/
hosted/
index.js
node_modules/
app.yaml
package.jsonKrok 3. Upewnij się, że masz plik package.json
W tradycyjnych serwerach proxy Node.js w Edge plik package.json był
opcjonalny. W przypadku hostowanych miejsc docelowych musisz jednak podać go w katalogu apiproxy/resources/hosted. W tym pliku określ wszystkie wymagane zależności aplikacji.
Krok 4. Zmodyfikuj docelowy punkt końcowy serwera proxy
Tradycyjny serwer proxy Node.js wymaga, aby w pliku docelowego punktu końcowego (zwykle /apiproxy/targets/default.xml) znajdował się tag o nazwie <ScriptTarget>
. W przypadku hostowanych miejsc docelowych musisz dodać pusty tag o nazwie <HostedTarget/>.
Jeśli w pliku znajduje się 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
Serwer proxy możesz teraz wdrożyć 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 używaniu apigeetool znajdziesz na stronie:
https://github.com/apigee/apigeetool-node/blob/master/README.md.
Testowanie serwera proxy
Serwer proxy możesz przetestować za pomocą polecenia cURL, klienta REST (np. Postman) lub w interfejsie Edge w narzędziu Trace (Śledzenie). Oto przykładowe polecenie cURL:
curl http://myorg-test.apigee.net/hello-world Hello,World!