apigee-adminapi.sh ruft die Edge Management API auf, um viele Wartungsaufgaben auszuführen.
apigee-adminapi.sh
apigee-adminapi.sh aufrufen
Sie rufen apigee-adminapi.sh von einem Management Server-Knoten auf. Wenn Sie das Dienstprogramm aufrufen, müssen Sie Folgendes entweder als Umgebungsvariablen oder als Befehlszeilenoptionen definieren:
ADMIN_EMAIL(entspricht der Befehlszeilenoptionadmin)ADMIN_PASSWORD(pwd)EDGE_SERVER(host)
Im folgenden Beispiel wird apigee-adminapi.sh aufgerufen und die erforderlichen Werte werden als Befehlszeilenoptionen übergeben:
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh buildinfo list --admin user@example.com --pwd abcd1234 --host localhost
Im folgenden Beispiel werden die erforderlichen Optionen als temporäre Umgebungsvariablen definiert und dann das Dienstprogramm apigee-adminapi.sh aufgerufen:
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
Wenn Sie das Passwort nicht als Option übergeben oder als Umgebungsvariable definieren, werden Sie von apigee-adminapi.sh aufgefordert, es einzugeben.
Parameter für apigee-adminapi.sh festlegen
Sie müssen alle Parameter für einen Befehl entweder über Befehlszeilenoptionen oder über Umgebungsvariablen eingeben. Stellen Sie den Befehlszeilenparametern nach Bedarf einen einzelnen Bindestrich (-) oder einen doppelten Bindestrich (--) voran.
Sie können den Organisationsnamen beispielsweise so angeben:
- Mit dem Befehlszeilenschalter
-o:/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -o testOrg
- Umgebungsvariable mit dem Namen
ORGfestlegen:export ORG=testOrg
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs
Wenn Sie erforderliche Parameter für den Befehl weglassen, wird eine Fehlermeldung mit den fehlenden Parametern angezeigt. Wenn Sie beispielsweise die Option --host weglassen (die der Umgebungsvariablen EDGE_SERVER entspricht), antwortet apigee-adminapi.sh mit dem folgenden Fehler:
Error with required variable or parameter ADMIN_PASSWORD....OK ADMIN_EMAIL....OK EDGE_SERVER....null
Wenn Sie den Fehler HTTP STATUS CODE: 401 erhalten, haben Sie das falsche Passwort eingegeben.
Hilfe zu apigee-adminapi.sh abrufen
Sie können jederzeit die Tabulatortaste drücken, um eine Aufforderung mit den verfügbaren Befehlsoptionen aufzurufen.
Wenn Sie alle möglichen Befehle sehen möchten, rufen Sie das Dienstprogramm ohne Optionen auf:
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh
Wenn Sie nach der Eingabe von apigee-adminapi.sh die Tabulatortaste drücken, wird die Liste der möglichen Optionen angezeigt:
analytics classification logsessions regions securityprofile userroles buildinfo GET orgs runtime servers users
Mit der Tabulatortaste werden Optionen basierend auf dem Kontext des Befehls angezeigt. Wenn Sie nach der Eingabe die Tabulatortaste drücken:
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs
Sie sehen die möglichen Optionen zum Vervollständigen des Befehls orgs:
add apis apps delete envs list pods userroles
Verwenden Sie die Option -h, um Hilfe zu einem beliebigen Befehl aufzurufen. Wenn Sie beispielsweise die Option -h wie unten gezeigt verwenden:
/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -h
Das Dienstprogramm zeigt vollständige Hilfeinformationen für alle möglichen Optionen des Befehls orgs an. Das erste Element in der Ausgabe zeigt die Hilfe für den Befehl 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
Datei an apigee-adminapi.sh übergeben
Das Dienstprogramm apigee-adminapi.sh ist ein Wrapper für curl. Daher entsprechen einige Befehle PUT- und POST-API-Aufrufen, die einen Anfragetext erfordern.
Das Erstellen eines virtuellen Hosts entspricht beispielsweise einem POST-API-Aufruf, für den Informationen zum virtuellen Host im Anfragetext erforderlich sind.
Wenn Sie das Dienstprogramm apigee-adminapi.sh verwenden, um einen virtuellen Host zu erstellen, oder einen Befehl, der einen Anfragetext akzeptiert, können Sie alle erforderlichen Informationen in der Befehlszeile übergeben, wie unten gezeigt:
/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
Alternativ können Sie eine Datei übergeben, die dieselben Informationen enthält, die im Anfragetext des POST enthalten wären. Der folgende Befehl verwendet beispielsweise eine Datei, die den virtuellen Host definiert:
/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
Die Datei vhostcreate enthält den POST-Text des Aufrufs. In diesem Beispiel ist es ein XML-formatierter Anfragetext:
<VirtualHost name="myVHostUtil">
<HostAliases>
<HostAlias>192.168.56.101:9005</HostAlias>
</HostAliases>
<Interfaces/>
<Port>9005</Port>
</VirtualHost>Debugging- und API-Informationen anzeigen
Verwenden Sie die Option --debug des Dienstprogramms apigee-adminapi.sh, um detaillierte Informationen zum Befehl aufzurufen. Diese Informationen umfassen den Befehl curl, der vom Dienstprogramm apigee-adminapi.sh zum Ausführen des Vorgangs generiert wurde.
Im folgenden Befehl wird beispielsweise die Option --debug verwendet. In den Ergebnissen wird die Ausgabe des zugrunde liegenden curl-Befehls im ausführlichen Modus angezeigt:
/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