Dienstprogramm „apigee-adminapi.sh“ verwenden

apigee-adminapi.sh ruft die Edge-Verwaltungs-API auf, um viele Wartungsaufgaben auszuführen.

Informationen zu apigee-adminapi.sh

Rufen Sie apigee-adminapi.sh auf.

Sie rufen apigee-adminapi.sh über einen Verwaltungsserver-Knoten auf. Wenn Sie das Dienstprogramm aufrufen, müssen Sie Folgendes entweder als Umgebungsvariablen oder als Befehlszeilenoptionen definieren:

  • ADMIN_EMAIL (entspricht der Befehlszeilenoption admin)
  • ADMIN_PASSWORD (pwd)
  • EDGE_SERVER (host)

Im folgenden Beispiel wird apigee-adminapi.sh aufgerufen und die erforderlichen Werte 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.com
export ADMIN_PASSWORD=abcd1234
export 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 zur Eingabe aufgefordert.

apigee-adminapi.sh-Parameter festlegen

Sie müssen alle Parameter in einen Befehl über Befehlszeilen-Switches oder mit Umgebungsvariablen eingeben. Stellen Sie den Befehlszeilen-Switches je nach Bedarf einen einfachen (-) oder doppelten Bindestrich (--) voran.

Sie können den Organisationsnamen beispielsweise auf eine der folgenden Arten angeben:

  • Über den Befehlszeilen-Switch -o:
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -o testOrg
  • Umgebungsvariable mit dem Namen ORG festlegen:
    export ORG=testOrg
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs

Wenn Sie alle erforderlichen Parameter im Befehl weglassen, zeigt das Dienstprogramm eine Fehlermeldung an, in der die fehlenden Parameter beschrieben werden. Wenn Sie beispielsweise die Option --host weglassen, die der Umgebungsvariablen EDGE_SERVER entspricht, gibt apigee-adminapi.sh den folgenden Fehler zurück:

Error with required variable or parameter
ADMIN_PASSWORD....OK
ADMIN_EMAIL....OK
EDGE_SERVER....null

Wenn Sie die Fehlermeldung 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 Eingabeaufforderung mit den verfügbaren Befehlsoptionen anzuzeigen.

Um alle möglichen Befehle zu sehen, 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 eingeben:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs

Sie sehen die möglichen Optionen zum Ausführen des Befehls orgs:

add  apis  apps  delete  envs  list  pods  userroles

Mit der Option -h können Sie die Hilfe zu jedem Befehl aufrufen. 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 zu allen möglichen Optionen für den Befehl orgs an. Das erste Element der Ausgabe enthält die Hilfe zum 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 um curl. Daher entsprechen einige Befehle den API-Aufrufen PUT und POST, für die ein Anfragetext verwendet wird. Das Erstellen eines virtuellen Hosts entspricht beispielsweise einem POST-API-Aufruf, bei dem im Anfragetext Informationen zum virtuellen Host erforderlich sind.

Wenn Sie das Dienstprogramm apigee-adminapi.sh zum Erstellen eines virtuellen Hosts oder einen beliebigen Befehl verwenden, der einen Anfragetext annimmt, können Sie alle erforderlichen Informationen in die 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

Sie können auch eine Datei übergeben, die dieselben Informationen wie im Anfragetext der POST-Anfrage enthält. Im folgenden Befehl wird beispielsweise eine Datei verwendet, 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 der Anfragetext ein XML-formatierter Anfragetext:

<VirtualHost name="myVHostUtil">
  <HostAliases>
    <HostAlias>192.168.56.101:9005</HostAlias>
  </HostAliases>
  <Interfaces/>
  <Port>9005</Port>
</VirtualHost>

Debug- und API-Informationen anzeigen

Verwenden Sie die Option --debug für das Dienstprogramm apigee-adminapi.sh, um detaillierte Informationen zum Befehl anzeigen zu lassen. Diese Informationen enthalten den Befehl curl, der vom Dienstprogramm apigee-adminapi.sh generiert wurde, um den Vorgang auszuführen.

Im folgenden Befehl wird beispielsweise die Option --debug verwendet. Als Ergebnis 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