Wyświetlasz dokumentację Apigee Edge.
Przejdź do
dokumentacji Apigee X. info
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
Gdy wdrożysz aplikację Hostowane cele, zostaną ustawione te zmienne środowiskowe, które będą dostępne dla Twojej aplikacji w czasie działania:
APIGEE_ENVIRONMENT– środowisko, w którym wdrożono docelowy serwer proxy hostowany.APIGEE_ORGANIZATION– organizacja, w której wdrożono docelowy serwer proxy Hostowane cele.PORT– port, na którym musi nasłuchiwać aplikacja Hostowane cele.
Przydział zasobów systemowych
Każda instancja Hostowanych celów otrzymuje te zasoby:
- 256 MB pamięci
- procesor 1,2 GHz
Skalowanie
W tej sekcji opisujemy, jak skalują się aplikacje Hostowane cele w zależności od typu konta Edge.- Wersja próbna Apigee Edge jest ograniczona do 1 instancji Hostowanych celów na serwer proxy.
- Płatne konta Apigee Edge korzystają z automatycznego skalowania na podstawie liczby wniosków, opóźnień odpowiedzi i innych wskaźników aplikacji na serwer proxy.
- Aplikacje Hostowane cele wdrożone w płatnych i próbnych wersjach Apigee Edge skalują się do zera w okresach bezczynnoś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 tworzenia i wdrażania hostowanej aplikacji, Edge szuka pliku manifestu o nazwie app.yaml w katalogu resources/hosted. Ten plik zawiera informacje niezbędne do utworzenia i wdrożenia aplikacji Hostowane cele.
Składnia pliku manifestu
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) określa typ wdrażanej aplikacji.
Musisz podać wartość
node. - runtimeVersion – (opcjonalny) wersja środowiska wykonawczego używana przez aplikację. Domyślnie: Node.js LTS (wersja 10.x). Inne opcje znajdziesz w oficjalnym repozytorium Dockera dla Node.
- command – (opcjonalny) umożliwia określenie polecenia, które ma być uruchamiane zamiast
domyślnego polecenia używanego do uruchamiania aplikacji. Domyślnie:
Node.js=npm - args – (opcjonalny) tablica argumentów wiersza poleceń, które mają być przekazywane do
aplikacji (określona w standardowej składni tablicy YAML). Zwykle są one dodawane do polecenia domyślnego.
Domyślnie jest to start. Na przykład domyślnie do aplikacji Node.js zostanie przekazane polecenie
npm start. - env – (opcjonalny) tablica zmiennych środowiskowych (par nazwa/wartość) do ustawienia w środowisku wykonawczym Hostowanych celów. Te zmienne są dostępne dla wdrożonej aplikacji Hostowane cele.
- name – nazwa zmiennej.
- value | valueRef – masz 2 opcje. Możesz ustawić wartość literału
lub odwołać się do wartości przechowywanej w mapie klucz-wartość. Mapa klucz-wartość musi
już istnieć w Twoim środowisku Edge. Zobacz Praca z mapami klucz-wartość
- Jeśli używasz value, musisz
określić zmienną
namei literałvalue. Na przykład:runtime: node env: - name: NODE_ENV value: production - Jeśli używasz valueRef,
musisz podać name mapy klucz-wartość (KVM), którą utworzono wcześniej w Edge, oraz key.
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 value, musisz
określić zmienną
- apigeetool – narzędzie wiersza poleceń do wdrażania serwerów proxy Edge.
- get_token – narzędzie wiersza poleceń do uzyskiwania tokena autoryzacji wymaganego przez apigeetool.
- W przeglądarce otwórz stronę https://github.com/apigee/api-platform-samples.
- Kliknij Clone or download (Sklonuj lub pobierz) i pobierz repozytorium do systemu lokalnego za pomocą preferowanej metody.
- cd do <your install dir>/api-platform-samples/doc-samples/hosted-targets
- Po pobraniu repozytorium możesz przejść do dowolnego katalogu z przykładami i postępować zgodnie z instrukcjami w pliku README, aby wdrożyć przykładowy serwer proxy w Edge. Polecenie wdrożenia jest pokazane poniżej. Po prostu zastąp wskazane parametry parametrami swojego konta Apigee:
- Opóźnienia w sieci – ponieważ aplikacja Node.js nie działa już w JVM procesora wiadomości, między procesorem wiadomości a wdrożeniem występuje teraz przeskok sieciowy. Oczywiście wiąże się to z kosztami, ale wstępne testy porównawcze pokazują, że mieszczą się one w rozsądnych granicach.
- Powolne odpowiedzi interfejsu API – infrastruktura, na której działają Twoje aplikacje automatycznie skaluje się w zależności od potrzeb. Oznacza to, że aplikacja może zostać skalowana w dół do zera instancji. W takim przypadku kolejne żądanie do interfejsu API będzie trwało nieco dłużej niż typowe żądania do interfejsu API, ponieważ infrastruktura uruchamia instancje w celu przetworzenia żądań.
- Błąd wdrożenia – jeśli podczas wdrażania serwera proxy Hostowane cele wystąpi błąd wdrożenia, spróbuj ponownie wdrożyć serwer proxy. W niektórych przypadkach wdrożenie może przekroczyć limit czasu i jeśli wdrożysz ponownie, problem zostanie rozwiązany.
Przykładowe pliki manifestu
Ta sekcja zawiera przykładowe pliki manifestu dla aplikacji Node.js
aplikacji. Do wdrożenia aplikacji Hostowane cele wymagany jest plik manifestu, który musi znajdować się
w katalogu apiproxy/resources/hosted a jego nazwa musi być app.yaml.
Poniżej znajdziesz przykładowe pliki app.yaml (manifestu) dla aplikacji Node.js.
Przykład, który określa literał zmiennej środowiskowej:
runtime: node
env:
- name: NODE_ENV
value: productionPrzykład z poleceniem startowym, 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 znajdziesz w sekcji Plik manifestu.
runtime: node env: - name: DB_ENV value: production - name: DB_PASSWORD valueRef: name: hosted-kvm key: db-password
Przykładowe aplikacje Hostowane cele na GitHubie
Apigee udostępnia na GitHubie przykładowe serwery proxy z aplikacjami Hostowane cele napisanymi w Node.js. Możesz sklonować to repozytorium i postępować zgodnie z instrukcjami w pliku README, aby wdrożyć dowolny serwer 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ż mieć zainstalowany Node.js.
Pobieranie 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: wykonywanie przykładowej aplikacji
Klonowanie repozytorium z przykładami
cd ~/myhomegit clone https://github.com/apigee/api-platform-samples.gitcd ~/myhome/api-platform-samples/doc-samples/hosted-targetscd node-hosted-hello
Lokalne testowanie aplikacji
Aby przeprowadzić ten test lokalny, musisz mieć zainstalowany Node.js.
PORT=8081 node apiproxy/resources/hosted/index.jscurl 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
Wdrożenie może potrwać kilka minut. Jeśli wystąpi błąd wdrożenia, uruchom ponownie polecenie wdrożenia.
curl http://myorg-test.apigee.net/node-hosted-hello
Przykładowe dane wyjściowe:
{"date":"2018-03-23T18:59:18.668Z","msg":"Hello, World!"