Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Limity zmiennych środowiskowych
Hostowane cele ograniczają rozmiar i liczbę zmiennych środowiskowych które można ustawić w środowisku wykonawczym hostowanych celów.
- 1000: maksymalna długość pojedynczej zmiennej środowiskowej.
- 100: maksymalna liczba zmiennych środowiskowych, które można ustawić.
Informacje o ustawianiu zmiennych środowiskowych znajdziesz w sekcji Plik manifestu.
Zmienne środowiskowe ustawione w środowisku wykonawczym aplikacji
Podczas wdrażania aplikacji hostowanych wartości docelowych ustawione są następujące zmienne środowiskowe są dostępne dla aplikacji w czasie działania:
APIGEE_ENVIRONMENT
– środowisko, w którym wdrażany jest hostowany docelowy serwer proxy.APIGEE_ORGANIZATION
– organizacja, w której wdrażany jest hostowany docelowy serwer proxy.PORT
– port, na którym musi nasłuchiwać hostowana aplikacja docelowa.
Przydział zasobów systemowych
Każda instancja hostowanych celów otrzymuje te zasoby:
- 256 MB pamięci
- Procesor 1,2 GHz
Skalowanie
Ta sekcja opisuje skalowanie aplikacji hostowanych celów w zależności od typu konta Edge liczbę instalacji.- Wersja próbna Apigee Edge jest ograniczona do 1 instancji hostowanych celów na serwer proxy.
- Płatne konta Apigee Edge mają automatyczne skalowanie na podstawie częstotliwości żądań, czasu oczekiwania na odpowiedź
i inne wskaźniki dotyczące aplikacji na serwer proxy.
- Aplikacje hostowanych aplikacji docelowych wdrożone zarówno w płatnych, jak i próbnych wersjach Apigee Edge są skalowane do zera w okresach braku aktywności. W takim przypadku przez krótki czas możesz zauważyć dłuższy czas odpowiedzi. Zobacz też Znane problemy
Plik manifestu
Aby zebrać informacje o środowisku wykonawczym na potrzeby kompilowania i wdrażania hostowanej aplikacji, Edge szuka: plik manifestu o nazwie app.yaml w katalogu resources/hosted. Ten plik zawiera informacje niezbędne do skompilowania i wdrożenia aplikacji hostowanych celów.
Składnia pliku Manfiest
runtime: node runtimeVersion: version_number command: command_name args: argument_array env: - name: variable_name value: literal_value - name: variable_name valueRef: name: kvm_name key: kvm_value
Elementy pliku manifestu
Plik manifestu app.yaml zawiera te elementy:
- runtime – (wymagany) typ wdrażanej aplikacji.
Musisz określić
node
. - runtimeVersion – (opcjonalnie) wersja środowiska wykonawczego, których używa Twoja aplikacja. Domyślnie: Node.js LTS (v10.x). Zapoznaj się z oficjalnym repozytorium Dockera dla węzła , aby poznać inne opcje.
- command – (opcjonalnie) pozwala określić polecenie do uruchomienia inne niż
domyślnego polecenia służącego do uruchamiania aplikacji. Domyślny:
Node.js=npm
- args – (opcjonalny) tablica argumentów wiersza poleceń przekazywanych do
aplikacji (określanej w standardowej składni tablicy YAML). Zazwyczaj są one dodawane do polecenia domyślnego.
Wartość domyślna to start. Na przykład domyślnie aplikacja Node.js przekazuje polecenie
npm start
- env – (opcjonalny) tablica zmiennych środowiskowych (pary nazw i wartości) ustaw w środowisku wykonawczym hostowanych celów. Te zmienne są dostępne dla: wdrożoną aplikację hostowanych celów.
- nazwa – nazwa zmiennej.
- wartość | valueRef – dostępne są 2 opcje. Możesz ustawić literał.
lub odwoływać się do wartości zapisanej na mapie par klucz-wartość. Mapa klucz-wartość musi
już istnieje w Twoim środowisku Edge. Patrz: Praca z mapami par klucz-wartość.
- Jeśli używasz argumentu value, musisz
określ zmienną
name
i literałvalue
. Na przykład:runtime: node env: - name: NODE_ENV value: production
- Jeśli użyjesz właściwości valueRef,
musisz podać nazwę mapy klucz-wartość (KVM) utworzonej wcześniej w Edge oraz klucz.
Na przykład:
runtime: node env: - name: DB_ENV value: production - name: DB_PASSWORD valueRef: name: hosted-kvm key: db-password
- Jeśli używasz argumentu value, musisz
określ zmienną
- apigeetool – wiersz poleceń narzędzie do wdrażania serwerów proxy Edge.
- get_token – narzędzie wiersza poleceń służące do uzyskiwania tokena autoryzacji wymaganego przez apigeetool.
- W przeglądarce otwórz stronę https://github.com/apigee/api-platform-samples.
- Kliknij Sklonuj lub pobierz i pociągnij repozytorium do systemu lokalnego, korzystając z preferowanej metody.
- cd do <katalogu instalacji>/api-platform-samples/doc-samples/hosted-targets
- Po pobraniu repozytorium możesz przejść do dowolnego z przykładowych katalogów i wykonać instrukcje Instrukcje w README dotyczące wdrażania przykładowego serwera proxy w Edge. Poniżej znajduje się polecenie wdrożenia. Simply zastąp wskazane parametry parametrami konta Apigee:
- Opóźnienia sieciowe – aplikacja Node.js nie działa już w JVM MP nastąpi przeskok sieciowy między konsolą MP a wdrożeniem. Oczywiście. jest to dość koszt, ale początkowe analizy porównawcze pokazują, że mieści się on w rozsądnym zakresie.
- Powolne odpowiedzi interfejsu API – infrastruktura, w której działają Twoje aplikacje. automatycznie skaluje się w zależności od potrzeb. Oznacza to, że aplikacja może być skalowana w dół zero instancji. Jeśli tak jest, następne żądanie do interfejsu API będzie przetwarzane nieco dłużej niż typowe żądania do interfejsu API, ponieważ infrastruktura rotuje instancje, aby przetwarzać żądań.
- Błąd wdrażania – jeśli podczas wdrażania Serwer proxy hostowanych celów. Spróbuj ponownie wdrożyć serwer proxy. W niektórych przypadkach wdrożenie może przekroczyć limit czasu a ponownym wdrożeniem problem sam się rozwiąże.
Przykładowe pliki manifestu
Ta sekcja zawiera przykładowe pliki manifestu dla Node.js
aplikacji. Plik manifestu jest wymagany do wdrożenia aplikacji z hostowanymi miejscami docelowymi i musi znajdować się w lokalizacji
w katalogu apiproxy/resources/hosted
, a nazwa pliku musi brzmieć app.yaml
.
Poniżej znajdziesz przykładowe pliki app.yaml
(manifestu) aplikacji Node.js.
Przykład, który określa literałową zmienną środowiskową:
runtime: node
env:
- name: NODE_ENV
value: production
Przykład z poleceniem startu, argumentami wiersza poleceń i zmienną środowiskową.
runtime: node
command: ./node_modules/pm2/bin/pm2
env:
- name: NODE_ENV
value: production
args:
- app.js
Przykład, który określa odwołanie do mapy klucz-wartość (KVM):
Więcej informacji o dostępie do KVM zawiera plik manifestu.
runtime: node env: - name: DB_ENV value: production - name: DB_PASSWORD valueRef: name: hosted-kvm key: db-password
Przykładowe aplikacje hostowane w GitHubie
Apigee udostępnia przykładowe serwery proxy w GitHubie z zapisanymi aplikacjami hostowanych celów w Node.js. Możesz skopiować to repozytorium i wykonać instrukcje README, aby wdrożenia dowolnego serwera proxy.
Wymagania wstępne
Aby wdrożyć przykłady, musisz mieć zainstalowane w systemie 2 narzędzia:
Jeśli chcesz testować przykłady lokalnie, musisz też zainstalować środowisko Node.js.
Uzyskiwanie przykładowego repozytorium
get_token && apigeetool deployproxy \ -o YOUR_ORGANIZATION \ -e YOUR_ENVIRONMENT \ --json \ --token "$(< ~/.sso-cli/valid_token.dat)"\ --api NAME_OF_THE_PROXY \ --directory .
Przykład: uruchamianie przykładowej aplikacji
Klonowanie repozytorium przykładów
cd ~/myhome
git clone https://github.com/apigee/api-platform-samples.git
cd ~/myhome/api-platform-samples/doc-samples/hosted-targets
cd node-hosted-hello
Testowanie aplikacji lokalnie
Aby wykonać ten test lokalny, musisz mieć zainstalowany pakiet Node.js.
PORT=8081 node apiproxy/resources/hosted/index.js
curl http://localhost:8081
Przykładowe dane wyjściowe:
{"date":"2018-03-12T21:45:22.161Z","msg":"Hello, World!"}
Wdrażanie serwera proxy
get_token && apigeetool deployproxy \ -o myorg \ -e test \ --json \ --token "$(< ~/.sso-cli/valid_token.dat)"\ --api node-hosted-hello \ --directory .
Testowanie wdrożenia
Wdrażanie może potrwać kilka minut. Jeśli wystąpi błąd wdrożenia, wykonaj ponownie uruchomić polecenie wdrażania.
curl http://myorg-test.apigee.net/node-hosted-hello
Przykładowe dane wyjściowe:
{"date":"2018-03-23T18:59:18.668Z","msg":"Hello, World!"