استفاده از ابزار apigee-adminapi.sh

apigee-adminapi.sh برای انجام بسیاری از کارهای نگهداری، با Edge management API تماس می‌گیرد.

درباره apigee-adminapi.sh

فراخوانی apigee-adminapi.sh

apigee-adminapi.sh را از گره «سرور مدیریت» فراخوانی می‌کنید. وقتی ابزار را فراخوانی می‌کنید، باید موارد زیر را به‌عنوان متغیرهای محیطی یا گزینه‌های خط فرمان تعریف کنید:

  • ADMIN_EMAIL (با گزینه خط فرمان admin مطابقت دارد)
  • ‫ADMIN_PASSWORD‏ (pwd)
  • ‫EDGE_SERVER‏ (host)

مثال زیر apigee-adminapi.sh را فراخوانی می‌کند و مقادیر لازم را به‌عنوان گزینه‌های خط فرمان ارسال می‌کند:

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

مثال زیر گزینه‌های لازم را به‌عنوان متغیرهای محیطی موقت تعریف می‌کند و سپس ابزار 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

اگر گذرواژه را به‌عنوان گزینه ارسال نکنید یا آن را به‌عنوان متغیر محیطی تعریف نکنید، apigee-adminapi.sh از شما می‌خواهد آن را وارد کنید.

تنظیم پارامترهای apigee-adminapi.sh

باید همه پارامترها را بااستفاده از کلیدهای خط فرمان یا بااستفاده از متغیرهای محیطی به فرمان وارد کنید. پیشوند کلیدهای خط فرمان را با یک خط تیره (-) یا دو خط تیره (--) به‌صورت لازم مشخص کنید.

برای مثال، می‌توانید نام سازمان را با یکی از روش‌های زیر مشخص کنید:

  • بااستفاده از کلید خط فرمان -o:
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs -o testOrg
  • تنظیم متغیر محیطی به‌نام ORG:
    export ORG=testOrg
    /opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh orgs

اگر هرکدام از پارامترهای الزامی را برای فرمان حذف کنید، ابزار پیام خطایی نمایش می‌دهد که پارامترهای حذف‌شده را شرح می‌دهد. برای مثال، اگر گزینه --host را حذف کنید (که با متغیر محیطی EDGE_SERVER مطابقت دارد)، apigee-adminapi.sh با خطای زیر پاسخ می‌دهد:

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

اگر خطای HTTP STATUS CODE: 401 دریافت کردید، گذرواژه اشتباه وارد کرده‌اید.

دریافت راهنمایی apigee-adminapi.sh

هرزمان خواستید، از کلید جهش برای نمایش پیام‌واره‌ای استفاده کنید که گزینه‌های فرمان دردسترس را فهرست می‌کند.

برای دیدن همه فرمان‌های ممکن، ابزار را بدون گزینه فراخوانی کنید:

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

اگر پس‌از تایپ کردن apigee-adminapi.sh کلید جهش را فشار دهید، فهرست گزینه‌های ممکن را خواهید دید:

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

کلید جهش گزینه‌هایی را براساس بافت فرمان نمایش می‌دهد. اگر بعداز تایپ کردن، کلید جهش را وارد کنید:

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

گزینه‌های ممکن برای تکمیل فرمان orgs را خواهید دید:

add  apis  apps  delete  envs  list  pods  userroles

از گزینه -h برای نمایش راهنمای هر فرمان استفاده کنید. برای مثال، اگر از گزینه -h به‌صورت زیر استفاده کنید:

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

این ابزار اطلاعات راهنمای کاملی را برای همه گزینه‌های ممکن برای فرمان orgs نمایش می‌دهد. اولین مورد در برونداد راهنمای فرمان 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

Pass a file to apigee-adminapi.sh

برنامه کمکی apigee-adminapi.sh یک داده‌پوش در اطراف curl است. درنتیجه، برخی فرمان‌ها با فراخوانی‌های میانای برنامه‌سازی کاربردی PUT و POST که بدنه درخواست را می‌گیرند مطابقت دارند. برای مثال، ایجاد میزبان مجازی با فراخوانی میانای برنامه‌سازی کاربردی POST مطابقت دارد که به اطلاعاتی درباره میزبان مجازی در بدنه درخواست نیاز دارد.

هنگام استفاده از ابزار apigee-adminapi.sh برای ایجاد میزبان مجازی، یا هر دستوری که بدنه درخواست را می‌گیرد، می‌توانید همه اطلاعات لازم را در خط فرمان همان‌طور که در زیر نشان داده شده است ارسال کنید:

/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

یا می‌توانید فایلی را ارسال کنید که حاوی همان اطلاعاتی باشد که در بدنه درخواست POST وجود دارد. برای مثال، فرمان زیر فایلی را می‌گیرد که میزبان مجازی را تعریف می‌کند:

/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

در جایی که فایل vhostcreate حاوی POST بدنه تماس است. در این مثال، بدنه درخواست با قالب XML است:

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

نمایش اطلاعات اشکال‌زدایی و میانای برنامه‌سازی کاربردی

از گزینه --debug برای ابزار apigee-adminapi.sh استفاده کنید تا اطلاعات دقیق درباره فرمان نمایش داده شود. این اطلاعات شامل فرمان curl است که توسط ابزار کمکی apigee-adminapi.sh برای انجام عملیات تولید شده است.

برای مثال، فرمان زیر از گزینه --debug استفاده می‌کند. نتایج برونداد فرمان curl زیرین را در حالت پرحرف نمایش می‌دهد:

/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