Wdrażanie samodzielnej aplikacji Node.js

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Z tego artykułu dowiesz się, jak wdrożyć w Apigee Edge aplikację Node.js z systemu lokalnego. W tym temacie omówimy, jak za pomocą narzędzia wiersza poleceń apigeetool wdrażać w Apigee Edge aplikacje Node.js.

Informacje o wdrażaniu kodu Node.js w 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 do Apigee Edge za pomocą narzędzia wiersza poleceń o nazwie apigeetool Narzędzie automatycznie grupuje aplikację i jej zależności na serwerze proxy interfejsu API i wdraża go w Edge.

Załóżmy, że do utworzenia aplikacji internetowej w Node.js używasz usługi Express. aplikacja działa jako serwer HTTP, który nasłuchuje żądań HTTP, przetwarza je zwraca dane itd. Gdy wdrażasz środowisko Node.js za pomocą apigeetool z aplikacji do Edge, jest opakowany w serwerze proxy i jest wykonywany w kontekście Edge platformy. Możesz wtedy wywołać aplikację za pomocą nowego adresu URL serwera proxy i dodać wartość do przez „ubieranie się” ze standardowymi funkcjami Edge, takimi jak zabezpieczenia OAuth, zasady limitów, zagrożenia zasad ochrony, przepływów warunkowych, buforowania i wielu innych.

Do czego służy apigeetool?

Gdy uruchomisz narzędzie apigeetool z opcją deploynodeapp, :

  • Generuje pakiet konfiguracji serwera proxy interfejsu API na potrzeby aplikacji Node.js.
  • Pakowanie aplikacji Node.js z wszystkimi zainstalowanymi pakietami Node.js za pomocą NPM (Node moduły spakowane).
  • 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.
  • Wykonuje aplikację Node.js w Apigee Edge i udostępnia ją

Przygotowywanie do użycia narzędzia apigeetool

Zanim zaczniesz, musisz zainstalować narzędzie apigeetool.

Możesz zainstalować narzędzie apigeetool za pomocą npm lub przez sklonowanie i połączenie kodu z GitHub.

Instalacja z npm

Moduł apigeetool i jego zależności zostały zaprojektowane pod kątem środowiska Node.js dostępny przez npm przy użyciu tego polecenia:

$ sudo npm install -g apigeetool

Zwykle użycie opcji -g umieszcza moduły w: /usr/local/lib/node_modules/apigeetool na komputerach opartych na *Nix.

Instalacja z GitHuba

Pobierz lub skopiuj narzędzia platformy API z GitHuba. Wyświetl plik README w katalogu głównym repozytorium, gdzie znajdziesz instrukcje instalacji.

$ git clone https://github.com/apigee/apigeetool-node.git

Po ukończeniu instalacji upewnij się, że plik wykonywalny apigeetool znajduje się w lokalizacji Twoją ścieżką. Możesz to sprawdzić, wpisując:

$ apigeetool -h

Wdrażanie aplikacji Node.js w Edge za pomocą narzędzia apigeetool

Uwaga: przed wdrożeniem musisz znać swoją organizację Apigee Edge nazwa użytkownika, nazwa użytkownika i hasło do Apigee Konto Edge. Te informacje są niezbędne do prawidłowego formularza polecenie apigeetool.

Aby wdrożyć aplikację Node.js przy użyciu apigeetool:

  1. W oknie terminala cd wybierz katalog główny aplikacji Node.js.
  2. Uruchom narzędzie apigeetool za pomocą deploynodeapp polecenie:

    $ 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}
    
    Na przykład:

    $ apigeetool deploynodeapp -n myNodeApp -d . -m server.js -o myorg -e test -b /myNodeApp -u ntesla -p myPassword
    
  3. Sprawdź dane wyjściowe w oknie terminala. Będzie 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 komunikat „Stan: wdrożone”, to wszystko. Wszystko poszło sprawnie. Twoja aplikacja Node.js jest zapakowany w serwer proxy interfejsu API, wdrożony w Edge i działa i czeka na obsługę żądań. Można ją przetestować.

  4. Przetestuj serwer proxy. Przykład:

    $ curl http://myorg-test.apigee.net/myNodeApp
    Hello, My Node App!
    
  5. Jeśli chcesz, zaloguj się na swoje konto Apigee Edge i wejdź na stronę proxy interfejsów API w narzędziu za pomocą prostego interfejsu zarządzania. Zobaczysz tam nowy serwer proxy.

Jak narzędzie apigeetool postępuje z zależnymi plikami moduły

Jeśli Twoja aplikacja Node.js zależy od zainstalowanych modułów, apigeetool obsługuje je przez kompresowanie do folderu node_modules i dodać go do pakietu serwera proxy. Żadne dodatkowe działanie nie jest niezbędną. To samo dotyczy katalogów, które zawierają dodatkowy kod źródłowy. Narzędzie apigeetool kompresuje je i wdraża wraz z pakietem.

W edytorze interfejsu zarządzania krawędziami nie możesz edytować plików w tych skompresowanych katalogach. Jeśli musisz je zmienić, możesz wyeksportować projekt, zmodyfikować je lokalnie, a następnie wdrożyć ponownie za pomocą apigeetool lub przez zaimportowanie wyeksportowanego projektu przy użyciu interfejsu zarządzania. Zapoznaj się też z artykułem „Eksportowanie i importowanie serwera proxy z kodem Node.js”.

Podstawowe informacje o korzystaniu z narzędzia apigeetool

Aby uzyskać podstawowe informacje o korzystaniu z 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

Tworzenie nowego serwera proxy z istniejącym środowiskiem Node.js pliki

Innym sposobem integracji istniejącej aplikacji Node.js z serwerem proxy interfejsu API jest dodanie parametru aplikacji podczas tworzenia serwera proxy. Można to zrobić w interfejsie zarządzania oraz Okno Nowy serwer proxy interfejsu API.

  1. Na stronie podsumowania interfejsów API serwera proxy kliknij +API Proxy.
  2. W oknie Nowy serwer proxy interfejsu API wybierz Istniejące środowisko Node.js.
  3. Użyj przycisku Wybierz pliki, aby wybrać pliki Node.js do importowanie.
  4. Nazwij serwer proxy. W tym przykładzie nazwaliśmy go hellonode
  5. Dodaj wersję /v1 do ścieżki podstawowej projektu. Obsługa wersji interfejsu API to praktyk.
  6. Kliknij Kompiluj.
  7. Kliknij Develop, aby przejść do widoku Programowanie.
  8. Otwórz plik TargetEndpoint w edytorze kodu.
  9. Upewnij się, że element <ScriptTarget> określa główny plik Node.js, na przykład obserwowane:


    <ScriptTarget>
            <ResourceURL>node://server.js</ResourceURL>
            <Properties/>
    </ScriptTarget>
  10. Kliknij Zapisz.

Dodawanie i wywoływanie nowego zasobu Node.js pliki

Innym sposobem dodania kodu Node.js do serwera proxy jest dodanie go bezpośrednio – za pomocą interfejsu użytkownika lub gdy go prześlesz z lokalnego systemu plików. Możesz też określić, który plik Node.js jest głównym plikiem czyli plik, który Edge wywołuje po wdrożeniu serwera proxy.

Dodaję nową Pliki Node.js w interfejsie użytkownika

Interfejs zarządzania umożliwia dodawanie dodatkowych plików źródłowych Node.js do serwera proxy na Edge platformy. Możesz utworzyć je bezpośrednio w interfejsie lub zaimportować z systemu plików. Po pierwsze, jak to zrobić z poziomu interfejsu użytkownika.

Aby utworzyć nowy plik zasobów Node.js:

  1. W widoku Programowanie wybierz Nowa Script z menu Nowy.
  2. W oknie Dodaj skrypt wybierz typ pliku Węzeł i nadaj skryptowi nazwę.
  3. Kliknij Dodaj.

W edytorze otworzy się nowy, pusty plik Node.js. Kod możesz wyciąć i wkleić do . Plik pojawi się też w sekcji Scripts (Skrypty) w Nawigatorze.

[[{&quot;type&quot;:&quot;media&quot;,&quot;view_mode&quot;:&quot;media_large&quot;,&quot;fid&quot;:&quot;2431&quot;,&quot;attributes&quot;:{&quot;alt&quot;:&quot;&quot;,&quot;class&quot;:&quot;media-image&quot;,&quot;height&quot;:&quot;312&quot;,&quot;typeof&quot;:&quot;foaf:Image&quot;,&quot;width&quot;:&quot;417&quot;}}]]

Importuję Pliki Node.js z Twojego systemu plików

Aby zaimportować plik Node.js ze swojego z systemu plików do serwera proxy:

  1. W widoku Programowanie wybierz Nowa Script z menu Nowy.
  2. W oknie dialogowym Dodaj skrypt kliknij przycisk Importuj Skrypt.
  3. Wybierz plik Node.js za pomocą narzędzia do tworzenia plików.
  4. Nazwa pliku zostanie dodana do okna dialogowego, ale w razie potrzeby możesz ją zmienić.
  5. Kliknij Dodaj. Plik pojawi się w Skryptach obszaru Nawigatora i otwiera się w edytorze.
  6. Kliknij Zapisz.

Jeśli chcesz wywołać zaimportowany plik, musisz wykonać dodatkowy krok zgodnie z opisem w następnym kroku. .

Wywoływanie zaimportowanego pliku Node.js

Nie możesz po prostu wywołać nowo zaimportowanego lub utworzonego pliku Node.js. Dzieje się tak, wymaga, aby jeden plik Node.js był plikiem main. Plik główny jest określony w sekcji &lt;ScriptTarget&gt; elementu definicji docelowego punktu końcowego. Określenie, który plik jest głównym pliku Node.js, wykonaj te czynności:

  1. W obszarze Docelowy punkt końcowy w Nawigatorze kliknij nazwę docelowego punktu końcowego (zazwyczaj domyślny).
  2. W edytorze kodu edytuj wartość <ScriptTarget> przez zmianę parametru &lt;ResourceURL&gt; odzwierciedlając nazwę pliku, który ma być głównym plikiem Node.js. Dla: Jeśli na przykład jako główny plik chcesz ustawić plik o nazwie hello-world.js, wpisz: node://hello-world.js w elemencie ResourceURL.
  3. Kliknij Zapisz.

W tym momencie możesz wywołać plik, używając dowolnej wcześniej używanej ścieżki serwera proxy. Przykład: rozmawiamy o Hello World. gdzie ścieżka podstawowa v1/helloto określone dane. Możesz jednak zmienić ścieżkę podstawową, edytując punkt końcowy serwera proxy.

  1. W sekcji Proxy Endpoints (Punkty końcowe serwera proxy) w Nawigatorze kliknij nazwę punktu końcowego serwera proxy (zwykle domyślny).
  2. W edytorze kodu edytuj wartość <HttpProxyConnection> przez zmianę parametru &lt;BasePath&gt; z dowolną nazwą. Na przykład, jeśli bieżąca ścieżka <BasePath> to v1/hello, a Twoja nazwa to v1/my-node-file, zmień ścieżkę <BasePath> taki element:

    &lt;BasePath&gt;/v1/my-node-file&lt;/BasePath&gt;
  3. Kliknij Zapisz.
  4. Wywołaj serwer proxy, używając 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 w Edge serwera proxy zawierającego kod Node.js w Edge zawsze możesz go wyeksportować z powrotem. w swoim systemie, tam popracuj na nim, a następnie ponownie zaimportuj ją do Edge za pomocą interfejsu zarządzania. Ten jest bardzo popularna.

  1. Na stronie podsumowania interfejsów API serwera proxy kliknij Develop.
  2. Na stronie Programowanie wybierz Pobierz bieżącą wersję.
  3. Rozpakuj pobrany plik w systemie.
.

Możesz zaimportować pakiet proxy z powrotem do Edge, wybierając Importuj do nowego elementu Wersja w tym samym menu.

Możesz też używać interfejsu API do wdrażania serwerów proxy. Przeczytaj sekcję Wdrażanie serwerów proxy z poziomu polecenia , aby uzyskać szczegółowe informacje.

Następne kroki

W następnym temacie Dodawanie z 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 wdróż go w Edge.