Sử dụng tiện ích apigee-adminapi.sh

apigee-adminapi.sh gọi API Quản lý Edge để thực hiện nhiều thao tác bảo trì.

Giới thiệu về apigee-adminapi.sh

Gọi apigee-adminapi.sh

Bạn gọi apigee-adminapi.sh từ nút Máy chủ quản lý. Khi gọi tiện ích, bạn phải xác định những nội dung sau đây dưới dạng biến môi trường hoặc tuỳ chọn dòng lệnh:

  • ADMIN_EMAIL (tương ứng với tuỳ chọn dòng lệnh admin)
  • ADMIN_PASSWORD (pwd)
  • EDGE_SERVER (host)

Ví dụ sau đây gọi apigee-adminapi.sh và chuyển các giá trị bắt buộc dưới dạng các tuỳ chọn dòng lệnh:

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

Ví dụ sau đây xác định các tuỳ chọn bắt buộc dưới dạng biến môi trường tạm thời, sau đó gọi tiện ích 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

Nếu bạn không truyền mật khẩu dưới dạng một tuỳ chọn hoặc xác định mật khẩu đó là một biến môi trường, thì apigee-adminapi.sh sẽ nhắc bạn nhập mật khẩu đó.

Đặt thông số apigee-adminapi.sh

Bạn phải nhập tất cả tham số vào một lệnh bằng cách sử dụng công tắc dòng lệnh hoặc sử dụng các biến môi trường. Đặt tiền tố cho nút chuyển dòng lệnh bằng một dấu gạch ngang đơn (-) hoặc dấu gạch ngang đôi (--) nếu cần.

Ví dụ: bạn có thể chỉ định tên tổ chức bằng một trong hai cách sau:

  • Sử dụng nút chuyển dòng lệnh -o:
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -o testOrg
  • Đặt biến môi trường có tên ORG:
    export ORG=testOrg
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs

Nếu bạn bỏ qua bất kỳ tham số bắt buộc nào vào lệnh, tiện ích sẽ hiển thị một thông báo lỗi mô tả các tham số bị thiếu. Ví dụ: nếu bạn bỏ qua tuỳ chọn --host (tương ứng với biến môi trường EDGE_SERVER), apigee-adminapi.sh sẽ phản hồi lỗi sau:

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

Nếu gặp lỗi HTTP STATUS CODE: 401 thì tức là bạn đã nhập sai mật khẩu.

Nhận trợ giúp về apigee-adminapi.sh

Bất cứ lúc nào, hãy sử dụng phím tab để hiển thị lời nhắc liệt kê các tuỳ chọn lệnh có sẵn.

Để xem tất cả lệnh có thể dùng, hãy gọi tiện ích không có tuỳ chọn nào:

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

Nếu nhấn phím thẻ sau khi nhập apigee-adminapi.sh, bạn sẽ thấy danh sách các tuỳ chọn có thể có:

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

Phím Tab hiển thị các tuỳ chọn dựa trên ngữ cảnh của lệnh. Nếu bạn nhập phím tab sau khi nhập:

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

Bạn sẽ thấy các tuỳ chọn có thể để hoàn tất lệnh orgs:

add  apis  apps  delete  envs  list  pods  userroles

Sử dụng tuỳ chọn -h để hiện thông tin trợ giúp cho bất kỳ lệnh nào. Ví dụ: nếu bạn sử dụng tuỳ chọn -h như minh hoạ dưới đây:

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

Tiện ích này hiển thị thông tin trợ giúp đầy đủ về tất cả tuỳ chọn có thể dùng đối với lệnh orgs. Mục đầu tiên trong kết quả cho thấy nội dung trợ giúp về lệnh 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

Chuyển tệp tới apigee-adminapi.sh

Tiện ích apigee-adminapi.sh là một trình bao bọc xung quanh curl. Do đó, một số lệnh tương ứng với lệnh gọi API PUTPOST trong nội dung yêu cầu. Ví dụ: việc tạo máy chủ ảo tương ứng với lệnh gọi API POST yêu cầu thông tin về máy chủ ảo trong nội dung yêu cầu.

Khi sử dụng tiện ích apigee-adminapi.sh để tạo máy chủ ảo hoặc bất kỳ lệnh nào chứa nội dung yêu cầu, bạn có thể truyền tất cả thông tin cần thiết vào dòng lệnh như sau:

/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

Hoặc bạn có thể chuyển một tệp chứa thông tin giống như có trong nội dung yêu cầu của yêu cầu POST. Ví dụ: lệnh sau đây lấy một tệp xác định máy chủ ảo:

/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

Trong đó tệp vhostcreate chứa phần nội dung POST của lệnh gọi. Trong ví dụ này, đây là một nội dung yêu cầu có định dạng XML:

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

Hiển thị thông tin gỡ lỗi và API

Sử dụng tuỳ chọn --debug cho tiện ích apigee-adminapi.sh để hiển thị thông tin chi tiết về lệnh. Thông tin này bao gồm lệnh curl do tiện ích apigee-adminapi.sh tạo để thực hiện thao tác.

Ví dụ: lệnh sau đây sử dụng tuỳ chọn --debug. Kết quả sẽ hiển thị đầu ra của lệnh curl cơ bản ở chế độ chi tiết:

/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