Dienstprogramm „apigee-adminapi.sh“ verwenden

Edge for Private Cloud Version 4.17.05

Verwenden Sie das Dienstprogramm apigee-adminapi.sh, um die gleichen Edge-Konfigurationsaufgaben auszuführen, die Sie durch Aufrufe an die Edge-Verwaltungs-API ausführen. Der Vorteil des Dienstprogramms apigee-adminapi.sh besteht darin, dass es:

  • Einfache Befehlszeile verwenden
  • Implementiert die tabbasierte Befehlsvervollständigung
  • Bietet Hilfe und Informationen zur Nutzung
  • Der entsprechende API-Aufruf kann angezeigt werden, wenn du die API ausprobierst

Das Dienstprogramm apigee-adminapi.sh ist kein Ersatz für das Dienstprogramm apigee-provision. Das Dienstprogramm apigee-provision verwendet zum Ausführen seiner Aufgaben tatsächlich das Dienstprogramm apigee-adminapi.sh.

Die Hauptunterschiede sind folgende:

  • Das Dienstprogramm apigee-adminapi.sh führt atomare Funktionen aus, die einzelne Edge API-Aufrufe ersetzen. Zum Erstellen einer Organisation, einer Umgebung und eines virtuellen Hosts sind beispielsweise drei separate apigee-adminapi.sh-Befehle erforderlich, die drei API-Aufrufen entsprechen.
  • Das Dienstprogramm apigee-provision ist darauf ausgelegt, einen vollständigen übergeordneten Vorgang mit einem einzigen Befehl auszuführen. Sie können beispielsweise eine Organisation, eine Umgebung und einen virtuellen Host mit einem einzigen apigee-provision-Befehl erstellen. Dazu übergeben Sie eine Konfigurationsdatei mit allen erforderlichen Informationen.

In der Edge-Dokumentation werden gegebenenfalls beide Dienstprogramme verwendet.

apigee-adminapi.sh installieren

Das Dienstprogramm apigee-adminapi.sh wird automatisch installiert, wenn Sie das Dienstprogramm apigee-provision oder apigee-valid 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. 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:

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

> 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 Hilfe zu jedem Befehl aufrufen. Beispiel, wenn Sie die Option -h wie unten gezeigt verwenden:

> 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 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 Befehlszeilen-Switches und Umgebungsvariablen festlegen

Alle Parameter für einen Befehl müssen entweder über die Befehlszeile oder mit Umgebungsvariablen eingegeben werden. Stellen Sie den Befehlszeilen-Switches je nach Bedarf einen einfachen (-) oder doppelten Bindestrich (--) voran.

In der obigen Hilfe können Sie beispielsweise für den Befehl „orgs add“ den Organisationsnamen auf eine der folgenden Arten angeben:

  • Über den Befehlszeilen-Switch -o:
    > apigee-adminapi.sh orgs -o testOrg
  • Eine Umgebungsvariable namens ORG festlegen:
    > export ORG=testOrg
    > 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 Umgebungsvariable --host oder EDGE_SERVER weglassen, die beim Erstellen einer Organisation den Edge Management Server angibt, 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 Sie häufig als Umgebungsvariablen festlegen, sind die E-Mail-Adresse des Systemadministrators und die IP-Adresse des Managementservers:

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

Datei an das Dienstprogramm apigee-adminapi.sh übergeben

Einige Befehle des Dienstprogramms apigee-adminapi.sh entsprechen PUT- und POST API-Aufrufen, die einen Anfragetext annehmen. Das Erstellen eines virtuellen Hosts entspricht beispielsweise einem POST API-Aufruf, für den im Anfragetext Informationen über den virtuellen Host 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 in der Befehlszeile übergeben, wie unten gezeigt:

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

> 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 anzeigen zu lassen. Diese Informationen enthalten den cURL-Befehl, der vom Dienstprogramm apigee-adminapi.sh zum Ausführen des Vorgangs generiert wird.

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

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

Und zeigt die folgende Ausgabe an, 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