Dienstprogramm „apigee-adminapi.sh“ verwenden

Edge for Private Cloud Version 4.16.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
  • Implementiert tabellarische Befehlsvervollständigung
  • Bietet Hilfe und Informationen zur Nutzung
  • Der entsprechende API-Aufruf kann angezeigt werden, wenn Sie die API testen 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. Um beispielsweise eine Organisation, eine Umgebung und einen virtuellen Host zu erstellen, sind drei separate apigee-adminapi.sh-Befehle erforderlich, die drei API-Aufrufen entsprechen.
  • Das Dienstprogramm apigee-provision wurde entwickelt, um einen vollständigen übergeordneten Vorgang in einem einzigen Befehl auszuführen. 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.

In der Edge-Dokumentation werden beide Dienstprogramme verwendet, wenn es angebracht ist.

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 unter folgendem Pfad 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.

Um alle möglichen Befehle anzuzeigen, rufen Sie das Dienstprogramm ohne Optionen auf:

> 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

Mit der Option -h können Sie für jeden Befehl Hilfe aufrufen. 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 Befehlszeilenschaltern und Umgebungsvariablen festlegen

Sie müssen alle Parameter für einen Befehl entweder über Befehlszeilenoptionen oder über Umgebungsvariablen eingeben. Stellen Sie den Befehlszeilenschaltern je nach Bedarf einen einfachen Bindestrich (-) oder einen doppelten Bindestrich (--) voran.

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 mit einer Beschreibung der fehlenden Parameter an. 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. Der folgende Befehl verwendet beispielsweise eine Datei, 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.

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