Menggunakan utilitas apigee-adminapi.sh

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

Tentang apigee-adminapi.sh

Panggil apigee-adminapi.sh

Anda memanggil apigee-adminapi.sh dari node Server Pengelolaan. Saat memanggil utilitas ini, Anda harus menentukan 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 opsi command line:

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

Contoh berikut menentukan opsi yang diperlukan sebagai variabel lingkungan sementara, lalu 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 sandi sebagai opsi atau menentukannya sebagai variabel lingkungan, apigee-adminapi.sh akan meminta Anda untuk memasukkannya.

Menetapkan parameter apigee-adminapi.sh

Anda harus memasukkan semua parameter ke perintah menggunakan tombol command line atau menggunakan variabel lingkungan. Awali tombol command line dengan tanda hubung tunggal (-) 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
  • Menetapkan variabel lingkungan bernama ORG:
    export ORG=testOrg
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs

Jika Anda menghilangkan parameter yang diperlukan pada perintah, utilitas akan menampilkan pesan error yang menjelaskan parameter yang tidak ada. Misalnya, jika Anda menghilangkan opsi --host (yang sesuai dengan variabel lingkungan EDGE_SERVER), apigee-adminapi.sh akan 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 sandi yang salah.

Mendapatkan bantuan apigee-adminapi.sh

Gunakan tombol tab kapan saja untuk menampilkan perintah yang mencantumkan opsi perintah yang tersedia.

Untuk melihat semua perintah yang mungkin, 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 opsi -h seperti ditunjukkan di bawah ini:

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

Utilitas ini menampilkan informasi bantuan lengkap untuk semua opsi yang memungkinkan ke 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 sesuai dengan panggilan API PUT dan POST yang menggunakan isi permintaan. Misalnya, pembuatan host virtual berkaitan dengan panggilan API POST yang memerlukan informasi tentang host virtual dalam isi permintaan.

Saat menggunakan utilitas apigee-adminapi.sh untuk membuat host virtual, atau perintah apa pun yang menggunakan isi permintaan, Anda dapat 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 dimuat dalam isi permintaan 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. Dalam contoh ini, 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 ke utilitas apigee-adminapi.sh untuk menampilkan informasi terperinci tentang perintah. Informasi ini mencakup perintah curl yang dihasilkan oleh utilitas apigee-adminapi.sh untuk menjalankan operasi.

Misalnya, perintah berikut menggunakan opsi --debug. Hasilnya menampilkan 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