Menggunakan utilitas apigee-adminapi.sh

apigee-adminapi.sh memanggil API pengelolaan Edge untuk melakukan banyak pemeliharaan tugas klasifikasi.

Tentang apigee-adminapi.sh

Panggil apigee-adminapi.sh

Anda memanggil apigee-adminapi.sh dari node Server Pengelolaan. Saat memanggil utilitas, Anda harus tentukan hal berikut sebagai variabel lingkungan atau opsi command line:

  • ADMIN_EMAIL (sesuai dengan opsi command line admin)
  • ADMIN_PASSWORD (pwd)
  • EDGE_SERVER (host)

Contoh berikut memanggil apigee-adminapi.sh dan meneruskan nilai yang diperlukan sebagai command line opsi:

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

Contoh berikut mendefinisikan opsi yang diperlukan sebagai variabel lingkungan sementara dan kemudian akan memanggil utilitas 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

Jika Anda tidak meneruskan {i>password<i} itu sebagai opsi atau menentukannya sebagai variabel lingkungan, apigee-adminapi.sh akan meminta Anda untuk memasukkannya.

Menyetel parameter apigee-adminapi.sh

Anda harus memasukkan semua parameter ke suatu perintah dengan menggunakan tombol command line atau variabel lingkungan. Awali tombol command line dengan satu tanda hubung (-) atau tanda pisah ganda (--) sesuai kebutuhan.

Misalnya, Anda dapat menentukan nama organisasi dengan:

  • Menggunakan tombol command line -o:
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -o testOrg
  • Menyetel variabel lingkungan bernama ORG:
    export ORG=testOrg
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs

Jika Anda menghilangkan parameter yang diperlukan untuk perintah tersebut, utilitas akan menampilkan pesan error yang menjelaskan parameter yang hilang. Misalnya, jika Anda menghapus opsi --host (yang sesuai dengan variabel lingkungan EDGE_SERVER), apigee-adminapi.sh merespons dengan error berikut:

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

Jika Anda menerima error HTTP STATUS CODE: 401, berarti Anda memasukkan informasi yang salah {i>password<i}.

Mendapatkan bantuan apigee-adminapi.sh

Kapan pun, gunakan tombol tab untuk menampilkan prompt yang mencantumkan opsi perintah yang tersedia.

Untuk melihat semua kemungkinan perintah, panggil utilitas tanpa opsi:

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

Jika menekan tombol tab setelah mengetik apigee-adminapi.sh, Anda akan melihat daftar kemungkinan opsi:

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

Tombol tab menampilkan opsi berdasarkan konteks perintah. Jika Anda memasukkan tombol tab setelah mengetik:

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

Anda akan melihat kemungkinan opsi untuk menyelesaikan perintah orgs:

add  apis  apps  delete  envs  list  pods  userroles

Gunakan opsi -h untuk menampilkan bantuan untuk perintah apa pun. Misalnya, jika Anda menggunakan -h seperti yang ditunjukkan di bawah ini:

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

Utilitas ini menampilkan informasi bantuan lengkap untuk semua opsi yang mungkin bagi Perintah orgs. Item pertama dalam output menunjukkan bantuan untuk Perintah 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

Meneruskan file ke apigee-adminapi.sh

Utilitas apigee-adminapi.sh adalah wrapper di sekitar curl. Akibatnya, beberapa Perintah berkaitan dengan panggilan API PUT dan POST yang mengambil isi permintaan. Misalnya, pembuatan host virtual sesuai dengan panggilan API POST yang memerlukan informasi tentang {i>host<i} virtual dalam isi permintaan.

Saat menggunakan utilitas apigee-adminapi.sh untuk membuat {i>host<i} virtual, atau perintah apa pun yang mengambil isi permintaan, Anda bisa meneruskan semua informasi yang diperlukan pada command line seperti yang ditunjukkan di bawah ini:

/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

Atau, Anda dapat meneruskan file yang berisi informasi yang sama seperti yang akan terkandung dalam permintaan isi POST. Misalnya, perintah berikut mengambil file yang menentukan host virtual:

/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

Dengan file vhostcreate berisi isi POST panggilan. Di beberapa contoh ini, ini adalah isi permintaan berformat XML:

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

Menampilkan informasi API dan debug

Gunakan opsi --debug pada utilitas apigee-adminapi.sh untuk menampilkan informasi terperinci tentang perintah itu. Informasi ini mencakup perintah curl yang dihasilkan oleh utilitas apigee-adminapi.sh untuk menjalankan operasi.

Misalnya, perintah berikut menggunakan opsi --debug. Hasil tampilkan output perintah curl yang mendasarinya dalam mode panjang:

/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