Wyświetlasz dokumentację Apigee Edge.
Zapoznaj się z dokumentacją Apigee X. Informacje
Z tego tematu dowiesz się, jak wdrożyć aplikację Node.js z lokalnego systemu do Apigee Edge.
Z tego tematu dowiesz się, jak za pomocą narzędzia wiersza poleceń o nazwie apigeetool
wdrożyć aplikacje Node.js w Apigee Edge.
Wdrażanie kodu Node.js do Apigee Edge
Możesz wdrożyć istniejącą aplikację interfejsu Node.js API, w tym wszystkie zależne moduły Node.js, z systemu lokalnego w Apigee Edge za pomocą narzędzia wiersza poleceń o nazwie apigeetool
. Narzędzie automatycznie łączy aplikację i jej zależności w proxy interfejsu API, a następnie wdraża je w Edge.
Załóżmy na przykład, że używasz Expressa do tworzenia aplikacji internetowej w Node.js. Aplikacja działa jako serwer HTTP, który nasłuchuje żądań HTTP, przetwarza je i zwraca dane. Gdy do wdrożenia aplikacji Node.js w Edge używasz apigeetool
, jest ona zawarta w serwerze proxy i działa w kontekście platformy Edge. Następnie możesz wywołać aplikację za pomocą nowego adresu URL serwera proxy i dodać do niej wartość, dodając do niej standardowe funkcje Edge, takie jak zabezpieczenia OAuth, zasady limitów, zasady ochrony przed zagrożeniami, przepływy warunkowe, buforowanie i wiele innych.
Do czego służy apigeetool?
Gdy uruchomisz narzędzie apigeetool
z opcją deploynodeapp
, wykona ono te czynności:
- Wygeneruj pakiet konfiguracji serwera proxy API, aby przechowywać aplikację Node.js.
- Tworzy pakiet dla aplikacji Node.js z wszelkimi pakietami Node.js zainstalowanymi za pomocą NPM (modułów w pakiecie węzłów).
- Za pomocą interfejsu Edge management API importuje pakiet konfiguracji proxy interfejsu API do określonej organizacji w Apigee Edge.
- Wdraża proxy interfejsu API w środowisku.
- Wykonuje aplikację Node.js w Apigee Edge i udostępnia ją w sieci.
Przygotowywanie się do korzystania z apigeetool
Zanim zaczniesz, musisz zainstalować narzędzie apigeetool
.
Możesz zainstalować apigeetool za pomocą npm lub przez skopiowanie i połączenie kodu z GitHuba.
Instalacja z npm
Moduł apigeetool
i jego zależności zostały zaprojektowane pod kątem środowiska Node.js i są dostępne przez npm przy użyciu tego polecenia:
$ sudo npm install -g apigeetool
Opcja -g zwykle umieszcza moduły w tych lokalizacjach:
/usr/local/lib/node_modules/apigeetool
na komputerach z systemem *nix.
Instalacja z GitHuba
Pobierz lub skopiuj narzędzia API Platform z GitHuba. Instrukcje instalacji znajdziesz w pliku README w katalogu głównym repozytorium.
$ git clone https://github.com/apigee/apigeetool-node.git
Po zakończeniu instalacji sprawdź, czy plik wykonywalny apigeetool
znajduje się na ścieżce. 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 poprawnego utworzenia polecenia apigeetool
.
Aby wdrożyć aplikację Node.js za pomocą apigeetool
:
- W oknie terminala
cd
katalogu głównego aplikacji Node.js. - Uruchom narzędzie
apigeetool
za pomocą poleceniadeploynodeapp
:
$ 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}
Przykład:
$ 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. Powinno to 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 „Stan: wdrożony”, to już wszystko. Wszystko poszło sprawnie. Twoja aplikacja Node.js jest owinięta w serwer proxy interfejsu API, wdrożona w Edge i uruchomiona. Czeka na obsługę żądań. Jest gotowy do testowania.
- Przetestuj serwer proxy. 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ę Proxy API w interfejsie zarządzania. Zobaczysz tam nowy serwer proxy.
Jak apigeetool obsługuje pliki i moduły zależne
Jeśli aplikacja Node.js zależy od zainstalowanych modułów, apigeetool obsługuje je, skompresowując folder node_modules
i dodając go do pakietu proxy. Nie musisz nic więcej robić. To samo dotyczy katalogów zawierających dodatkowy kod źródłowy. Narzędzie apigeetool tworzy z nich plik ZIP i wdraża je w ramach pakietu.
Plików w tych spakowanych katalogach nie można edytować w edytorze interfejsu zarządzania Edge. Jeśli chcesz je zmienić, możesz wyeksportować projekt, zmodyfikować pliki lokalnie, a następnie wdrożyć je ponownie za pomocą narzędzia apigeetool lub przez zaimportowanie wyeksportowanego projektu za pomocą interfejsu zarządzania. Zobacz też artykuł Eksportowanie i importowanie serwera proxy za pomocą kodu Node.js.
Podstawowe informacje o korzystaniu z narzędzia apigeetool
Aby uzyskać podstawowe informacje o użyciu parametrów 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
Tworzę nowy serwer proxy z istniejącymi plikami Node.js
Innym sposobem zintegrowania istniejącej aplikacji Node.js z serwerem proxy API jest dodanie aplikacji podczas tworzenia serwera proxy. Możesz to zrobić za pomocą interfejsu zarządzania i okna Nowy interfejs API.
- Na stronie podsumowania serwera proxy interfejsu API kliknij +Serwer proxy interfejsu API.
- W oknie Nowy interfejs API wybierz Już istniejący Node.js.
- Aby wybrać co najmniej 1 plik Node.js do zaimportowania, kliknij przycisk Wybierz pliki.
- Nazwij serwer proxy. W tym przykładzie nazywamy ją
hellonode
. - Dodaj wersję
/v1
do ścieżki podstawowej projektu. Sprawdzoną metodą jest wersjonowanie interfejsu API. - Kliknij Kompiluj.
- Kliknij Edytuj, aby przejść do widoku Edytuj.
- Otwórz plik
TargetEndpoint
w 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 dodania kodu Node.js do serwera proxy jest dodanie go bezpośrednio za pomocą interfejsu użytkownika lub przesłanie go z lokalnego systemu plików. Możesz też określić, który plik Node.js jest głównym plikiem, 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 na platformie Edge. Możesz je tworzyć bezpośrednio w interfejsie lub importować z systemu plików. Przyjrzyjmy się najpierw, jak to zrobić w interfejsie.
Aby utworzyć nowy plik zasobu Node.js:
- W widoku Rozwijanie w menu Nowy wybierz Nowy skrypt.
- W oknie Dodaj skrypt wybierz typ pliku Node i nadaj skryptowi nazwę.
- Kliknij Dodaj.
W edytorze otworzy się nowy, pusty plik Node.js. Kod możesz wyciąć i wkleić do pliku. Plik pojawi się też w sekcji Scripts (Skrypty) w Nawigatorze.
[[{"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 import plik Node.js z Twojego systemu plików do serwera proxy:
- W widoku Rozwijanie w menu Nowy wybierz Nowy skrypt.
- W oknie „Dodaj skrypt” kliknij Importuj skrypt.
- Za pomocą narzędzia do plików wybierz plik Node.js.
- Nazwa pliku zostanie dodana do okna dialogowego, ale w razie potrzeby możesz ją zmienić.
- Kliknij Dodaj. Plik pojawi się w sekcji Skrypty w Nawigatorze i otworzy się w edytorze.
- Kliknij Zapisz.
Jeśli chcesz wywołać zaimportowany plik, musisz wykonać dodatkowy krok, który opisujemy w następnej sekcji.
Wywoływanie zaimportowanego pliku Node.js
Nie możesz po prostu wywołać nowo zaimportowanego lub utworzonego pliku Node.js. Powodem jest to, że Edge wymaga, aby 1 plik Node.js był głównym plikiem. Plik główny jest określony w elemencie <ScriptTarget> definicji docelowego punktu końcowego. Aby określić, który plik jest głównym plikiem Node.js:
- W sekcji Punkty końcowe docelowe w Nawigatorze kliknij nazwę docelowego punktu końcowego (zwykle jest to domyślny).
- W edytorze kodu zmodyfikuj element <ScriptTarget>, zmieniając wartość <ResourceURL> na nazwę pliku, który ma być głównym plikiem Node.js. Jeśli na przykład chcesz, aby głównym plikiem był plik o nazwie
hello-world.js
, w elemencie ResourceURL wpisz:node://hello-world.js
. - Kliknij Zapisz.
Teraz możesz wywołać plik za pomocą dowolnej ścieżki do serwera proxy, której używałeś wcześniej. Na przykład w przypadku przykładu „Hello World!” ścieżka podstawowa v1/hello
jest określona. Możesz jednak zmienić ścieżkę podstawową, edytując punkt końcowy serwera proxy.
- W sekcji Punkty końcowe proxy w Nawigatorze kliknij nazwę punktu końcowego proxy (zwykle nazywanego domyślny).
- W edytorze kodu zmień element <HttpProxyConnection>, zmieniając wartość parametru <BasePath> na dowolną nazwę. Jeśli na przykład bieżąca wartość elementu <BasePath> to
v1/hello
, a chcesz zmienić ją nav1/my-node-file
, zmień element <BasePath> w ten sposób:
<BasePath>/v1/my-node-file</BasePath>
- Kliknij Zapisz.
- Wywołaj serwer proxy, używając nowej ścieżki podstawowej, na przykład:
$ curl http://myorg-test.apigee.net/v1/my-node-file Hello, World!
Eksportowanie i importowanie serwera proxy za pomocą kodu Node.js
Po wdrożeniu w Edge serwera proxy zawierającego kod Node.js możesz go zawsze wyeksportować z powrotem do systemu, zmodyfikować i ponownie zaimportować do Edge za pomocą interfejsu zarządzania. Ten rodzaj techniki rozwoju w obie strony jest często stosowany.
- Na stronie podsumowania interfejsu API kliknij Rozwij.
- Na stronie Programowanie wybierz Pobierz bieżącą wersję.
- Rozpakuj pobrany plik na swoim komputerze.
Możesz zaimportować pakiet proxy z powrotem do Edge, wybierając w tym samym menu opcję Importuj do nowej wersji.
Interfejsu API możesz też używać do wdrażania serwerów proxy. Szczegółowe informacje znajdziesz w artykule Wdrażanie serwerów proxy z wiersza poleceń.
Następne kroki
W następnym temacie Dodawanie Node.js do istniejącego serwera proxy API wyjaśnimy, jak dodać aplikację Node.js do istniejącego serwera proxy w systemie plików i wdrożyć ją w Edge.