Skrypt apigee-adminapi.sh wywołuje interfejs Edge Management API, aby wykonywać wiele zadań związanych z konserwacją.
Informacje o apigee-adminapi.sh
Wywoływanie apigee-adminapi.sh
Narzędzie apigee-adminapi.sh wywołujesz z węzła serwera zarządzania. Podczas wywoływania narzędzia musisz
zdefiniować te elementy jako zmienne środowiskowe lub opcje wiersza poleceń:
ADMIN_EMAIL(odpowiada opcji wiersza poleceńadmin)ADMIN_PASSWORD(pwd)EDGE_SERVER(host)
Ten przykład wywołuje apigee-adminapi.sh i przekazuje wymagane wartości jako opcje wiersza poleceń:
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh buildinfo list --admin user@example.com --pwd abcd1234 --host localhost
Ten przykład definiuje wymagane opcje jako tymczasowe zmienne środowiskowe, a następnie
wywołuje narzędzie apigee-adminapi.sh:
export ADMIN_EMAIL=user@example.comexport ADMIN_PASSWORD=abcd1234export EDGE_SERVER=192.168.56.101/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh servers list
Jeśli nie przekażesz hasła jako opcji ani nie zdefiniujesz go jako zmiennej środowiskowej,
apigee-adminapi.sh wyświetli prośbę o jego wpisanie.
Ustawianie parametrów apigee-adminapi.sh
Wszystkie parametry polecenia musisz wpisać za pomocą przełączników wiersza poleceń lub za pomocą zmiennych środowiskowych. Przełączniki wiersza poleceń poprzedź pojedynczym (-) lub podwójnym (--) myślnikiem.
Nazwę organizacji możesz na przykład określić na 2 sposoby:
- Używając przełącznika wiersza poleceń
-o:/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -o testOrg
- Ustawiając zmienną środowiskową o nazwie
ORG:export ORG=testOrg
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs
Jeśli pominiesz którykolwiek z wymaganych parametrów polecenia, narzędzie wyświetli komunikat o błędzie
opisujący brakujące parametry. Jeśli na przykład pominiesz opcję --host (która odpowiada zmiennej środowiskowej EDGE_SERVER), apigee-adminapi.sh odpowie tym błędem:
Error with required variable or parameter ADMIN_PASSWORD....OK ADMIN_EMAIL....OK EDGE_SERVER....null
Jeśli otrzymasz błąd HTTP STATUS CODE: 401, oznacza to, że wpisano nieprawidłowe
hasło.
Uzyskiwanie pomocy dotyczącej apigee-adminapi.sh
W dowolnym momencie możesz nacisnąć Tab, aby wyświetlić prompt z listą dostępnych opcji poleceń.
Aby zobaczyć wszystkie możliwe polecenia, wywołaj narzędzie bez opcji:
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh
Jeśli po wpisaniu apigee-adminapi.sh naciśniesz Tab, zobaczysz listę możliwych opcji:
analytics classification logsessions regions securityprofile userroles buildinfo GET orgs runtime servers users
Tab wyświetla opcje na podstawie kontekstu polecenia. Jeśli po wpisaniu naciśniesz Tab:
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs
Zobaczysz możliwe opcje uzupełnienia polecenia orgs:
add apis apps delete envs list pods userroles
Aby wyświetlić pomoc dotyczącą dowolnego polecenia, użyj opcji -h. Jeśli na przykład użyjesz opcji
-h w sposób pokazany poniżej:
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -h
Narzędzie wyświetli pełne informacje pomocy dotyczące wszystkich możliwych opcji polecenia
orgs. Pierwszy element w danych wyjściowych zawiera pomoc dotyczącą polecenia
orgs add:
+++++++++++++++++++++++++++++++++++++++++++ orgs add Required: -o ORG Organization name Optional: -H HEADER add http header in request --admin ADMIN_EMAIL admin email address --pwd ADMIN_PASSWORD admin password --host EDGE_SERVER edge server to make request to --port EDGE_PORT port to use for the http request --ssl set EDGE_PROTO to https, defaults to http --debug ( set in debug mode, turns on verbose in curl ) -h Displays Help
Przekazywanie pliku do apigee-adminapi.sh
Narzędzie apigee-adminapi.sh to otoka wokół curl. Dlatego niektóre
polecenia odpowiadają wywołaniom interfejsu API PUT i POST, które przyjmują treść żądania.
Na przykład utworzenie hosta wirtualnego odpowiada wywołaniu interfejsu API POST, które wymaga
informacji o hoście wirtualnym w treści żądania.
Jeśli używasz narzędzia apigee-adminapi.sh do
utworzenia hosta wirtualnego lub dowolnego polecenia, które przyjmuje treść żądania, możesz przekazać wszystkie
niezbędne informacje w wierszu poleceń, jak pokazano poniżej:
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs envs virtual_hosts add -e prod -o testOrg --host localhost --admin foo@bar.com -v myVHostUtil -p 9005 -a 192.168.56.101:9005
Możesz też przekazać plik zawierający te same informacje, które byłyby zawarte w treści żądania POST. Na przykład to polecenie przyjmuje plik definiujący hosta wirtualnego:
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs envs virtual_hosts add -e prod -o testOrg --host localhost --admin foo@bar.com -f vhostcreate
Plik vhostcreate zawiera treść wywołania POST. W
tym przykładzie jest to treść żądania w formacie XML:
<VirtualHost name="myVHostUtil">
<HostAliases>
<HostAlias>192.168.56.101:9005</HostAlias>
</HostAliases>
<Interfaces/>
<Port>9005</Port>
</VirtualHost>Wyświetlanie informacji o debugowaniu i interfejsie API
Aby wyświetlić
szczegółowe informacje o poleceniu, użyj opcji --debug w narzędziu apigee-adminapi.sh. Te informacje obejmują polecenie curl wygenerowane przez narzędzie apigee-adminapi.sh w celu wykonania operacji.
Na przykład to polecenie używa opcji --debug. Wyniki
wyświetlają dane wyjściowe polecenia curl w trybie szczegółowym:
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs add -o testOrg2 --admin foo@bar.com --host localhost --debug curl -H Content-Type: application/xml -v -X POST -s -k -w \n==> %{http_code} -u ***oo@bar.com:***** http://localhost:8080/v1/o -d <Organization name="testOrg2" type="paid"/> * About to connect() to localhost port 8080 (#0) * Trying ::1... connected * Connected to localhost (::1) port 8080 (#0) * Server auth using Basic with user 'foo@bar.com' > POST /v1/o HTTP/1.1 > Authorization: Basic c2dp234234NvbkBhcGlnZ2342342342342341Q5 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: localhost:8080 > Accept: */* > Content-Type: application/xml > Content-Length: 43 > } [data not shown] < HTTP/1.1 201 Created < Content-Type: application/json < Date: Tue, 03 May 2016 02:08:32 GMT < Content-Length: 291 < { [data not shown] * Connection #0 to host localhost left intact * Closing connection #0