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

Edge cho đám mây riêng tư phiên bản 4.18.01

Hãy sử dụng tiện ích apigee-adminapi.sh để thực hiện các tác vụ định cấu hình Edge tương tự mà bạn thực hiện bằng cách thực hiện lệnh gọi đến API quản lý Edge. Ưu điểm của tiện ích apigee-adminapi.sh là:

  • Sử dụng giao diện dòng lệnh đơn giản
  • Triển khai tính năng hoàn tất lệnh dựa trên thẻ
  • Cung cấp thông tin trợ giúp và thông tin về việc sử dụng
  • Có thể hiển thị lệnh gọi API tương ứng nếu bạn quyết định dùng thử API

Tiện ích apigee-adminapi.sh không thay thế cho tiện ích apigee-applicability. Trên thực tế, tiện ích apigee-vendor sử dụng tiện ích apigee-adminapi.sh để thực hiện các tác vụ của nó.

Điểm khác biệt chính giữa 2 loại mã này là:

  • Tiện ích apigee-adminapi.sh thực hiện các hàm nguyên tử thay thế các lệnh gọi API Edge riêng lẻ. Ví dụ: để tạo một tổ chức, môi trường và máy chủ ảo, bạn cần có 3 lệnh apigee-adminapi.sh riêng biệt tương ứng với 3 lệnh gọi API.
  • Tiện ích cấp phép apigee được thiết kế để thực hiện thao tác cấp cao hoàn chỉnh trong một lệnh duy nhất. Ví dụ: bạn có thể tạo một tổ chức, môi trường và máy chủ ảo bằng một lệnh apigee-ens duy nhất bằng cách truyền một tệp cấu hình kèm theo tất cả thông tin cần thiết.

Tài liệu về Edge sử dụng cả hai tiện ích khi thích hợp.

Cài đặt apigee-adminapi.sh

Tiện ích apigee-adminapi.sh được cài đặt tự động khi bạn cài đặt tiện ích apigee-vendor hoặc apigee-validate.

Tiện ích được cài đặt ở vị trí sau:

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

cú pháp apigee-adminapi.sh

Tiện ích apigee-adminapi.sh sử dụng cú pháp dòng lệnh đơn giản. Bất cứ lúc nào, hãy sử dụng phím thẻ để 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:

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

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

> apigee-adminapi.sh orgs -h

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

Đặt tham số bằng công tắc dòng lệnh và biến môi trường

Bạn phải nhập tất cả tham số vào một lệnh bằng cách sử dụng lệnh chuyển đổi 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ụ: trong phần trợ giúp ở trên cho lệnh "orgs add", 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:
    > apigee-adminapi.sh orgs -o testOrg
  • Đặt biến môi trường có tên ORG:
    > export ORG=testOrg
    > 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 biến môi trường --host hoặc EDGE_SERVER chỉ định Máy chủ quản lý Edge khi tạo một tổ chức, bạn sẽ thấy thông báo lỗi sau:

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

Hai thông số phổ biến mà bạn thường đặt làm biến môi trường là địa chỉ email của quản trị viên hệ thống và địa chỉ IP của Máy chủ quản lý:

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

Chuyển tệp vào tiện ích apigee-adminapi.sh

Một số lệnh tiện ích apigee-adminapi.sh tương ứng với lệnh gọi API PUT và POST lấy 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 nhận nội dung yêu cầu, bạn có thể chuyển tất cả thông tin cần thiết trên dòng lệnh như minh hoạ dưới đây:

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

> 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 nội dung POST của lệnh gọi. Trong ví dụ nà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 này. 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 này.

Ví dụ: lệnh này sử dụng tuỳ chọn --debug:

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

Đồng thời cho thấy kết quả sau đây, bao gồm cả lệnh cURL đã tạo:

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