Dienstprogramm „apigee-adminapi.sh“ verwenden

Edge for Private Cloud Version 4.17.09

Mit dem Dienstprogramm apigee-adminapi.sh können Sie dieselben Edge-Konfigurationsaufgaben ausführen, die Sie auch mit Aufrufen der Edge Management API ausführen. Der Vorteil des Dienstprogramms apigee-adminapi.sh ist, dass es:

  • Einfache Befehlszeile verwenden
  • Tab-basierte Befehlsvervollständigung implementiert
  • Bietet Hilfe und Informationen zur Nutzung
  • Kann den entsprechenden API-Aufruf anzeigen, wenn Sie die API ausprobieren möchten

Das Dienstprogramm apigee-adminapi.sh ist kein Ersatz für das Dienstprogramm apigee-provision. Das Dienstprogramm apigee-provision verwendet das Dienstprogramm apigee-adminapi.sh, um seine Aufgaben auszuführen.

Die Hauptunterschiede zwischen den beiden sind:

  • Das Dienstprogramm apigee-adminapi.sh führt atomare Funktionen aus, die einzelne Edge API-Aufrufe ersetzen. Wenn Sie beispielsweise eine Organisation, eine Umgebung und einen virtuellen Host erstellen möchten, sind drei separate apigee-adminapi.sh-Befehle erforderlich, die drei API-Aufrufen entsprechen.
  • Das Dienstprogramm apigee-provision ist für die Ausführung eines vollständigen Hochebenenvorgangs mit einem einzigen Befehl konzipiert. So können Sie beispielsweise eine Organisation, eine Umgebung und einen virtuellen Host mit einem einzigen apigee-provision-Befehl erstellen, indem Sie eine Konfigurationsdatei mit allen erforderlichen Informationen übergeben.

Die Edge-Dokumentation verwendet gegebenenfalls beide Dienstprogramme.

apigee-adminapi.sh installieren

Das Dienstprogramm apigee-adminapi.sh wird automatisch installiert, wenn Sie das Dienstprogramm apigee-provision oder apigee-validate installieren.

Das Dienstprogramm wird im folgenden Verzeichnis installiert:

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

Syntax von apigee-adminapi.sh

Das Dienstprogramm apigee-adminapi.sh verwendet eine einfache Befehlszeilensyntax. Mit der Tabulatortaste können Sie jederzeit eine Aufforderung mit den verfügbaren Befehlsoptionen aufrufen.

Wenn Sie alle möglichen Befehle sehen möchten, führen Sie das Dienstprogramm ohne Optionen aus:

> apigee-adminapi.sh 

Wenn Sie nach Eingabe von „apigee-adminapi.sh“ die Tabulatortaste drücken, wird eine Liste der möglichen Optionen angezeigt:

analytics  classification  logsessions  regions  securityprofile  userroles
buildinfo  GET             orgs         runtime  servers          users

Mit der Tabulatortaste werden Optionen angezeigt, die auf dem Kontext des Befehls basieren. Wenn Sie nach der Eingabe die Tabulatortaste drücken, geschieht Folgendes:

> apigee-adminapi.sh orgs

Es werden die möglichen Optionen für den Befehl orgs angezeigt:

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 verwenden, wie unten gezeigt:

> 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 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

Parameter mithilfe von Befehlszeilenoptionen und Umgebungsvariablen festlegen

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

Wie in der Hilfe zum Befehl „orgs add“ oben gezeigt, können Sie den Namen der Organisation auf folgende Arten angeben:

  • Mit der Befehlszeilenoption -o:
    > apigee-adminapi.sh orgs -o testOrg
  • Umgebungsvariable mit dem Namen ORG festlegen:
    > export ORG=testOrg
    > apigee-adminapi.sh orgs

Wenn Sie erforderliche Parameter für den Befehl weglassen, zeigt das Dienstprogramm eine Fehlermeldung an, in der die fehlenden Parameter beschrieben werden. Wenn Sie beispielsweise die Umgebungsvariable --host oder EDGE_SERVER, die den Edge-Verwaltungsserver angibt, beim Erstellen einer Organisation weglassen, wird die folgende Fehlermeldung angezeigt:

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

Zwei gängige Parameter, die häufig als Umgebungsvariablen festgelegt werden, sind die E-Mail-Adresse des Systemadministrators und die IP-Adresse des Verwaltungsservers:

> export ADMIN_EMAIL=foo@bar.com
> export EDGE_SERVER=192.168.56.101

Datei an das Dienstprogramm apigee-adminapi.sh übergeben

Einige apigee-adminapi.sh-Dienstprogrammbefehle entsprechen PUT- und POST-API-Aufrufen, die einen Anfragetext annehmen. 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 zum Erstellen eines virtuellen Hosts oder einen Befehl verwenden, der einen Anfragetext annimmt, können Sie alle erforderlichen Informationen wie unten gezeigt in der Befehlszeile übergeben:

> 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 der POST-Anfrage. Im folgenden Befehl wird beispielsweise eine Datei verwendet, die den virtuellen Host definiert:

> 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 Anfragetext im XML-Format:

<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, der vom Dienstprogramm apigee-adminapi.sh zur Ausführung des Vorgangs generiert wurde.

In diesem Befehl wird beispielsweise die Option --debug verwendet:

> apigee-adminapi.sh orgs add -o testOrg2 --admin foo@bar.com --host localhost --debug

Die folgende Ausgabe wird angezeigt, einschließlich des generierten cURL-Befehls:

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