Samouczki hostowanych celów

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 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ę

  1. Otwórz stronę apigee.com/edge
  2. Aby się zalogować, wpisz dane logowania do Apigee.

Utwórz nowy serwer proxy

  1. W bocznym menu nawigacyjnym kliknij Programowanie > > Serwery proxy interfejsów API
  2. Kliknij + Serwer proxy.
  3. Na stronie Create Proxy (Utwórz serwer proxy) wybierz Hosted Target (Hostowany cel).
  4. Kliknij Dalej.
  5. W polu Proxy Name (Nazwa serwera proxy) wpisz hello-hosted-targets.
  6. Pamiętaj, by „Hello, World” Wybrana jest próbka.
  7. Kliknij Dalej.
  8. Na stronie Zabezpieczenia wybierz dla opcji Autoryzacja opcję Pass-through (none) (Przekaż).
  9. Kliknij Dalej.
  10. Kliknij Dalej.
  11. Na stronie kompilacji wybierz środowisko testowe. Uwaga typ serwera proxy to Hosted Targets (Hostowane miejsca docelowe).
  12. Kliknij Build and Deploy (Utwórz i wdróż). Wdrożenie serwera proxy może chwilę potrwać.
  13. Po wdrożeniu serwera proxy kliknij Wyświetl serwer proxy hello-hosted-targets na dole strony.
  14. 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

  1. W interfejsie Edge kliknij kartę Develop.
  2. W nawigatorze w opcji Docelowe punkty końcowe wybierz default.
  3. 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.

  4. Zwróć uwagę na zawartość w sekcji Skrypty w Nawigatorze. Pliki aplikacji w Node.js są oznaczone etykietą hostowane.

  5. 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.

  1. W interfejsie Edge kliknij kartę Develop.
  2. Aby wyświetlić log kompilacji, kliknij Logi kompilacji.
  3. 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.

  1. Utwórz katalog dla aplikacji Node.js. Nazwij katalog node-hosted-express.
  2. cd do nowego katalogu.
  3. Utwórz plik o nazwie index.js i skopiuj do niego ten kod.
  4. 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)
    })
  5. Utwórz plik o nazwie package.json i skopiuj do niego ten kod. Zwróć uwagę, że moduł ekspresowy jest widoczny jako zależność.
  6. {
        "name": "hello-world",
        "version": "1.0.0",
        "main": "index.js",
        "scripts": {
            "start": "node index.js --use_strict"
        },
        "author": "",
        "license": "",
        "dependencies": {
            "express": "^4.16.0"
        }
    }
  7. Utwórz plik o nazwie app.yaml i skopiuj do niego ten kod:
  8. runtime: node
    runtimeVersion: 8
    application: my-express-app
    env:
      - name: NODE_ENV
        value: production
      - name: LOG_LEVEL
        value: 3
  9. Twój katalog powinien wyglądać tak:
    ls
    app.yaml index.js package.json
    

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

  1. W terminalu wpisz cd do katalogu głównego aplikacji Node.js.
  2. Wykonaj polecenie apigeetool za pomocą polecenia deployhostedtarget:
  3. 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 &lt;HostedTarget/&gt;. 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.

  1. cd do katalogu głównego serwera proxy: /apiproxy
  2. Aby wdrożyć serwer proxy, użyj tego polecenia:
  3. 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!