Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację
Apigee X. info
Z tego artykułu dowiesz się, jak wdrożyć aplikację Node.js z systemu lokalnego w Apigee Edge.
Omówimy w nim, jak używać narzędzia wiersza poleceń apigeetool do
wdrażania aplikacji Node.js w Apigee Edge.
Wdrażanie kodu Node.js w Apigee Edge
Za pomocą narzędzia wiersza poleceń apigeetool możesz wdrożyć istniejącą aplikację interfejsu API Node.js, w tym wszystkie zależne moduły Node.js,
z systemu lokalnego w Apigee Edge. Narzędzie automatycznie tworzy pakiet aplikacji i jej zależności
w serwerze proxy interfejsu API oraz wdraża go w Edge.
Załóżmy na przykład, że do utworzenia aplikacji internetowej w Node.js używasz Express. Aplikacja działa jako serwer HTTP, który nasłuchuje żądań HTTP, przetwarza je, zwraca dane itd. Gdy używasz apigeetool do wdrażania aplikacji Node.js
w Edge, jest ona opakowana w serwer proxy i wykonywana w kontekście platformy Edge. Możesz wtedy wywoływać aplikację za pomocą jej nowego adresu URL serwera proxy i dodawać do
niej wartość, "ubierając" ją w standardowe funkcje Edge, takie jak zabezpieczenia OAuth, zasady dotyczące limitów, zasady ochrony przed zagrożeniami, przepływy warunkowe, buforowanie i wiele innych.
Co robi apigeetool?
Gdy uruchamiasz narzędzie apigeetool z opcją deploynodeapp,
wykonuje ono te czynności:
- Generuje pakiet konfiguracji serwera proxy interfejsu API, w którym będzie przechowywana aplikacja Node.js.
- Pakuje aplikację Node.js z wszystkimi pakietami Node.js zainstalowanymi za pomocą npm (Node Packaged Modules).
- Importuje pakiet konfiguracji serwera proxy interfejsu API do określonej organizacji w Apigee Edge za pomocą interfejsu Edge Management API.
- Wdraża serwer proxy interfejsu API w środowisku.
- Uruchamia aplikację Node.js w Apigee Edge i udostępnia ją w sieci.
Przygotowanie do korzystania z apigeetool
Zanim zaczniesz, musisz zainstalować narzędzie apigeetool.
Możesz zainstalować apigeetool za pomocą npm lub przez sklonowanie i połączenie kodu z GitHuba.
Instalacja z npm
Moduł apigeetool i jego zależności są przeznaczone dla Node.js i są
dostępne w npm za pomocą tego polecenia:
$ sudo npm install -g apigeetool
Zwykle opcja -g umieszcza moduły w lokalizacji:
/usr/local/lib/node_modules/apigeetool na maszynach opartych na *nix.
Instalacja z GitHuba
Pobierz lub sklonuj narzędzia API Platform Tools z GitHuba. Instrukcje instalacji znajdziesz w pliku README w głównym katalogu repozytorium.
$ git clone https://github.com/apigee/apigeetool-node.git
Po zakończeniu instalacji upewnij się, że plik wykonywalny apigeetool znajduje się w
ścieżce PATH. Możesz to sprawdzić, wpisując:
$ apigeetool -h
Wdrażanie aplikacji Node.js w Edge za pomocą apigeetool
Uwaga: przed wdrożeniem musisz znać nazwę organizacji Apigee Edge
, nazwę użytkownika i hasło do konta Apigee
Edge. Te informacje są potrzebne do prawidłowego utworzenia
polecenia apigeetool.
Aby wdrożyć aplikację Node.js za pomocą apigeetool:
- W oknie terminala
cdprzejdź do głównego katalogu aplikacji Node.js. - Uruchom narzędzie
apigeetoolza pomocą poleceniadeploynodeapp
Na przykład:$ 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}
$ apigeetool deploynodeapp -n myNodeApp -d . -m server.js -o myorg -e test -b /myNodeApp -u ntesla -p myPassword
- Sprawdź dane wyjściowe w oknie terminala. Powinny wyglądać mniej więcej tak:
Importing new application myNodeApp Imported new app revision 1 Deploying revision 1 Deployed. Proxy: "myNodeApp" Revision 1 Environment: test BasePath: /myNodeApp Status: deployed
Jeśli widzisz „Status: deployed”, to wszystko. Wszystko poszło gładko. Twoja aplikacja Node.js jest opakowana w serwer proxy interfejsu API, wdrożona w Edge, działa i czeka na obsługę żądań. Jest gotowa do testowania.
- Przetestuj serwer proxy. Na przykład:
$ curl http://myorg-test.apigee.net/myNodeApp Hello, My Node App!
- Jeśli chcesz, zaloguj się na konto Apigee Edge i otwórz stronę API Proxies (Serwery proxy interfejsu API) w interfejsie zarządzania. Powinien tam być widoczny Twój nowy serwer proxy.
Jak apigeetool obsługuje zależne pliki i moduły
Jeśli aplikacja Node.js zależy od zainstalowanych modułów, apigeetool obsługuje je, kompresując
folder node_modules i dodając go do pakietu serwera proxy. Nie musisz nic więcej robić. To samo dotyczy wszystkich katalogów zawierających dodatkowy kod źródłowy. Narzędzie
apigeetool kompresuje je i wdraża razem z pakietem.
Nie możesz edytować plików w tych skompresowanych katalogach w edytorze interfejsu zarządzania Edge. Jeśli chcesz je zmienić, możesz wyeksportować projekt, edytować pliki lokalnie, a następnie wdrożyć ponownie za pomocą apigeetool lub importując wyeksportowany projekt za pomocą interfejsu zarządzania. Zobacz też "Eksportowanie i importowanie serwera proxy z kodem Node.js".
Podstawowe informacje o korzystaniu z apigeetool
Aby uzyskać podstawowe informacje o parametrach wejściowych narzędzia apigeetool,
wpisz:
$ 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
Tworzenie nowego serwera proxy z istniejących plików Node.js
Innym sposobem na zintegrowanie istniejącej aplikacji Node.js z serwerem proxy interfejsu API jest dodanie aplikacji podczas tworzenia serwera proxy. Możesz to zrobić w całości za pomocą interfejsu zarządzania i okna dialogowego New API Proxy (Nowy serwer proxy interfejsu API).
- Na stronie podsumowania serwera proxy interfejsu API kliknij +API Proxy (+Serwer proxy interfejsu API).
- W oknie dialogowym New API Proxy (Nowy serwer proxy interfejsu API) wybierz Existing Node.js (Istniejący Node.js).
- Użyj przycisku Choose Files (Wybierz pliki), aby wybrać co najmniej 1 plik Node.js do zaimportowania.
- Nadaj serwerowi proxy nazwę. W tym przykładzie nazywamy go
hellonode. - Dodaj wersję
/v1do ścieżki podstawowej projektu. Wersjonowanie interfejsu API to sprawdzona metoda. - Kliknij Build (Utwórz).
- Kliknij Develop (Programuj), aby otworzyć widok Develop (Programuj).
- Otwórz plik
TargetEndpointw edytorze kodu. - Upewnij się, że element
<ScriptTarget>określa główny plik Node.js w ten sposób:
<ScriptTarget> <ResourceURL>node://server.js</ResourceURL> <Properties/> </ScriptTarget>
- Kliknij Zapisz.
Dodawanie i wywoływanie nowych plików zasobów Node.js
Innym sposobem na dodanie kodu Node.js do serwera proxy jest dodanie go bezpośrednio, za pomocą interfejsu lub przez przesłanie z lokalnego systemu plików. Możesz też określić, który plik Node.js jest plikiem głównym , czyli plikiem, który Edge wywołuje po wdrożeniu serwera proxy.
Dodawanie nowych plików Node.js za pomocą interfejsu
Interfejs zarządzania umożliwia dodawanie dodatkowych plików źródłowych Node.js do serwera proxy, który znajduje się na platformie Edge. Możesz je utworzyć bezpośrednio w interfejsie lub zaimportować z systemu plików. Najpierw, zobaczmy, jak to zrobić w interfejsie.
Aby utworzyć nowy plik zasobu Node.js:
- W widoku Develop (Programuj) wybierz New Script z menu New (Nowy).
- W oknie dialogowym Add Script (Dodaj skrypt) wybierz typ pliku Node i nadaj skryptowi nazwę.
- Kliknij Dodaj.

W edytorze otworzy się nowy, pusty plik Node.js. Możesz wyciąć i wkleić kod do
pliku. Plik pojawi się też w sekcji Scripts (Skrypty) w Navigatorze.
[[{"type":"media","view_mode":"media_large","fid":"2431","attributes":{"alt":"","class":"media-image","height":"312","typeof":"foaf:Image","width":"417"}}]]
Importowanie plików Node.js z systemu plików
Aby zaimportować plik Node.js z systemu plików do serwera proxy:
- W widoku Develop (Programuj) wybierz New Script z menu New (Nowy).
- W oknie dialogowym Add Script (Dodaj skrypt) kliknij Import Script (Importuj skrypt).
- Użyj narzędzia do obsługi plików, aby wybrać plik Node.js.
- Nazwa pliku zostanie dodana do okna dialogowego, ale możesz ją zmienić.
- Kliknij Dodaj. Plik pojawi się w sekcji Scripts w Navigatorze i otworzy się w edytorze.
- Kliknij Zapisz.
Jeśli chcesz wywołać zaimportowany plik, musisz wykonać dodatkowy krok opisany w następnej sekcji.
Wywoływanie zaimportowanego pliku Node.js
Nie możesz po prostu wywołać nowo zaimportowanego lub utworzonego pliku Node.js. Wynika to z tego, że Edge wymaga, aby 1 plik Node.js był plikiem głównym. Plik główny jest określony w elemencie <ScriptTarget> definicji punktu końcowego. Aby określić, który plik ma być głównym plikiem Node.js, wykonaj te czynności:
- W Navigatorze w sekcji Target Endpoints (Punkty końcowe) kliknij nazwę punktu końcowego (zwykle zwanego default).
- W edytorze kodu zmodyfikuj element <ScriptTarget>, zmieniając
<ResourceURL> tak, aby odzwierciedlał nazwę pliku, który ma być głównym plikiem Node.js. Jeśli
na przykład chcesz, aby plik o nazwie
hello-world.jsbył plikiem głównym, wpisz:node://hello-world.jsw elemencie ResourceURL. - Kliknij Zapisz.

W tym momencie możesz wywołać plik za pomocą dowolnej ścieżki serwera proxy, której używasz. Na przykład,
w przykładzie Hello World! określono ścieżkę podstawową v1/hellojest
określona. Możesz jednak zmienić ścieżkę podstawową, edytując punkt końcowy serwera proxy.
- W Navigatorze w sekcji Proxy Endpoints (Punkty końcowe serwera proxy) kliknij nazwę punktu końcowego serwera proxy (zwykle o nazwie default).
- W edytorze kodu zmodyfikuj element <HttpProxyConnection>, zmieniając
<BasePath> na dowolną nazwę. Jeśli na przykład bieżąca wartość <BasePath>
to
v1/helloi chcesz, aby była tov1/my-node-file, zmień element <BasePath> w ten sposób:
<BasePath>/v1/my-node-file</BasePath>
- Kliknij Zapisz.
- Wywołaj serwer proxy za pomocą nowej ścieżki podstawowej w ten sposób:
$ curl http://myorg-test.apigee.net/v1/my-node-file Hello, World!
Eksportowanie i importowanie serwera proxy z kodem Node.js
Po wdrożeniu serwera proxy zawierającego kod Node.js w Edge możesz zawsze wyeksportować go z powrotem do systemu, pracować nad nim i ponownie zaimportować do Edge za pomocą interfejsu zarządzania. Ta technika programowania w obie strony jest powszechnie stosowana.
- Na stronie podsumowania serwera proxy interfejsu API kliknij Develop (Programuj).
- Na stronie Develop (Programuj) wybierz Download Current Revision (Pobierz bieżącą wersję).
- Rozpakuj pobrany plik w systemie.
Pakiet serwera proxy możesz ponownie zaimportować do Edge, wybierając Import Into New Revision w tym samym menu.
Do wdrażania serwerów proxy możesz też używać interfejsu API. Szczegółowe informacje znajdziesz w artykule Wdrażanie serwerów proxy z wiersza poleceń.
Następne kroki
W następnym artykule Dodawanie Node.js do istniejącego serwera proxy interfejsu API wyjaśniamy, jak dodać aplikację Node.js do istniejącego serwera proxy w systemie plików i wdrożyć ją w Edge.