Utilizzo dell'utilità Apigee-adminapi.sh

L'utilità apigee-adminapi.sh chiama l'API di gestione Edge per eseguire molte attività di manutenzione tasks.

Informazioni su apigee-adminapi.sh

Richiamare apigee-adminapi.sh

Richiami apigee-adminapi.sh da un nodo del server di gestione. Quando richiami l'utilità, devi definire quanto segue come variabili di ambiente o opzioni della riga di comando:

  • ADMIN_EMAIL (corrisponde all'opzione della riga di comando admin)
  • ADMIN_PASSWORD (pwd)
  • EDGE_SERVER (host)

L'esempio seguente richiama apigee-adminapi.sh e passa i valori richiesti come opzioni della riga di comando:

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh buildinfo list --admin user@example.com --pwd abcd1234 --host localhost

L'esempio seguente definisce le opzioni richieste come variabili di ambiente temporanee e poi richiama l'utilità apigee-adminapi.sh:

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

Se non passi la password come opzione o non la definisci come variabile di ambiente, apigee-adminapi.sh ti chiederà di inserirla.

Impostare i parametri di apigee-adminapi.sh

Devi inserire tutti i parametri di un comando utilizzando gli switch della riga di comando o le variabili di ambiente. Anteponi agli switch della riga di comando un trattino singolo (-) o doppio (--) a seconda delle esigenze.

Ad esempio, puoi specificare il nome dell'organizzazione in uno dei seguenti modi:

  • Utilizzando lo switch della riga di comando -o:
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -o testOrg
  • Impostando una variabile di ambiente denominata ORG:
    export ORG=testOrg
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs

Se ometti i parametri obbligatori del comando, l'utilità visualizza un messaggio di errore che descrive i parametri mancanti. Ad esempio, se ometti l'opzione --host (che corrisponde alla variabile di ambiente EDGE_SERVER), apigee-adminapi.sh risponde con il seguente errore:

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

Se ricevi un errore HTTP STATUS CODE: 401, significa che hai inserito la password errata.

Ricevere assistenza per apigee-adminapi.sh

In qualsiasi momento, utilizza il tasto Tab per visualizzare un prompt che elenca le opzioni di comando disponibili.

Per visualizzare tutti i comandi possibili, richiama l'utilità senza opzioni:

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

Se premi il tasto Tab dopo aver digitato apigee-adminapi.sh, vedrai l'elenco delle opzioni possibili:

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

Il tasto Tab visualizza le opzioni in base al contesto del comando. Se premi il tasto Tab dopo aver digitato:

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

Vedrai le opzioni possibili per completare il comando orgs:

add  apis  apps  delete  envs  list  pods  userroles

Utilizza l'opzione -h per visualizzare la guida per qualsiasi comando. Ad esempio, se utilizzi l' -h opzione come mostrato di seguito:

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

L'utilità visualizza le informazioni della guida complete per tutte le opzioni possibili del orgs comando. Il primo elemento nell'output mostra la guida per il orgs add comando:

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

Passare un file ad apigee-adminapi.sh

L'utilità apigee-adminapi.sh è un wrapper di curl. Di conseguenza, alcuni comandi corrispondono a PUT e POST chiamate API che accettano un corpo della richiesta. Ad esempio, la creazione di un host virtuale corrisponde a una chiamata API POST che richiede informazioni sull'host virtuale nel corpo della richiesta.

Quando utilizzi l'utilità apigee-adminapi.sh per creare un host virtuale o qualsiasi comando che accetta un corpo della richiesta, puoi passare tutte le informazioni necessarie nella riga di comando come mostrato di seguito:

/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

In alternativa, puoi passare un file contenente le stesse informazioni che sarebbero contenute nel corpo della richiesta POST. Ad esempio, il seguente comando accetta un file che definisce l'host virtuale:

/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

Dove il file vhostcreate contiene il corpo POST della chiamata. In questo esempio, si tratta di un corpo della richiesta in formato XML:

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

Visualizzare le informazioni di debug e API

Utilizza l'opzione --debug dell'utilità apigee-adminapi.sh per visualizzare informazioni dettagliate sul comando. Queste informazioni includono il curl comando generato dall'apigee-adminapi.sh utilità per eseguire l'operazione.

Ad esempio, il seguente comando utilizza l'opzione --debug. I risultati mostrano l'output del comando curl sottostante in modalità dettagliata:

/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