Dienstprogramm „apigee-adminapi.sh“ verwenden

Das Dienstprogramm apigee-adminapi.sh ruft die Edge Management API auf, um viele Wartungs aufgaben auszuführen.

Informationen zu 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 Befehlszeilenoption admin)
  • ADMIN_PASSWORD (pwd)
  • EDGE_SERVER (host)

Im folgenden Beispiel wird apigee-adminapi.sh aufgerufen und die erforderlichen Werte werden als Befehlszeilen optionen ü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 apigee-adminapi.sh Dienstprogramm 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, apigee-adminapi.sh werden Sie aufgefordert, es einzugeben.

Parameter für apigee-adminapi.sh festlegen

Sie müssen alle Parameter für einen Befehl entweder über Befehlszeilenschalter oder über Umgebungsvariablen eingeben. Präfixen Sie die Befehlszeilenschalter nach Bedarf mit einem einzelnen Bindestrich (-) oder einem doppelten Bindestrich (--).

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

  • Mit dem Befehlszeilenschalter -o:
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -o testOrg
  • Durch Festlegen einer Umgebungsvariablen mit dem Namen ORG:
    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 (die der Umgebungsvariablen EDGE_SERVER entspricht) weglassen, antwortet apigee-adminapi.sh mit der folgenden Fehlermeldung:

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 aufrufen

Sie können jederzeit die Tabulatortaste drücken, um eine Eingabeaufforderung 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

Die Tabulatortaste zeigt Optionen basierend auf dem Kontext des Befehls an. Wenn Sie die Tabulatortaste nach der Eingabe von Folgendem drücken:

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

werden die möglichen Optionen zum Vervollständigen des Befehls orgs angezeigt:

add  apis  apps  delete  envs  list  pods  userroles

Mit der Option -h können Sie die Hilfe für einen beliebigen Befehl aufrufen. Wenn Sie beispielsweise die -h Option wie unten gezeigt verwenden:

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

werden vollständige Hilfeinformationen für alle möglichen Optionen des orgs Befehls angezeigt. Das erste Element in der Ausgabe zeigt die Hilfe für den orgs add Befehl:

+++++++++++++++++++++++++++++++++++++++++++
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 verwenden. Das Erstellen eines virtuellen Hosts entspricht beispielsweise einem POST API-Aufruf, der Informationen zum virtuellen Host im Anfragetext erfordert.

Wenn Sie das Dienstprogramm apigee-adminapi.sh verwenden, um einen virtuellen Host zu erstellen, oder einen Befehl ausführen, der einen Anfragetext verwendet, 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 wie der Anfragetext des POST. 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

Dabei enthält die Datei vhostcreate 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>

Debug- und API-Informationen anzeigen

Verwenden Sie die Option --debug für das Dienstprogramm apigee-adminapi.sh, um detaillierte Informationen zum Befehl anzuzeigen. Diese Informationen umfassen den curl Befehl generiert vom apigee-adminapi.sh Dienstprogramm, um den Vorgang auszuführen.

Der folgende Befehl verwendet beispielsweise die Option --debug: Die Ergebnisse zeigen die Ausgabe des zugrunde liegenden curl Befehls im ausführlichen Modus:

/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