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

Edge for Private Cloud v. 4.16.09

از ابزار apigee-adminapi.sh برای انجام همان تکالیف پیکربندی Edge که با فراخوانی به Edge management API انجام می‌دهید استفاده کنید. مزیت ابزار apigee-adminapi.sh این است که: این ابزار:

  • استفاده از میانای خط فرمان ساده
  • تکمیل فرمان براساس زبانه را پیاده‌سازی می‌کند
  • اطلاعات راهنما و استفاده ارائه می‌دهد
  • اگر تصمیم بگیرید «میانای برنامه‌سازی کاربردی» را امتحان کنید، می‌تواند تماس «میانای برنامه‌سازی کاربردی» مربوطه را نمایش دهد

برنامه کمکی apigee-adminapi.sh جایگزین برنامه کمکی apigee-provision نیست. ابزار apigee-provision درواقع از ابزار apigee-adminapi.sh برای انجام وظایف خود استفاده می‌کند.

تفاوت‌های اصلی بین این دو عبارت‌اند از:

  • برنامه کمکی apigee-adminapi.sh عملکردهای اتمی را انجام می‌دهد که جایگزین فراخوانی‌های تکی Edge API می‌شود. برای مثال، ایجاد سازمان، محیط، و میزبان مجازی به سه فرمان جداگانه apigee-adminapi.sh نیاز دارد که مربوط به سه فراخوانی API است.
  • ابزار apigee-provision برای انجام یک عملیات کامل سطح بالا در یک فرمان طراحی شده است. برای مثال، می‌توانید با یک فرمان apigee-provision، سازمان، محیط، و میزبان مجازی ایجاد کنید و فایل پیکربندی را با همه اطلاعات لازم ارسال کنید.

مستندات Edge درصورت لزوم از هر دو ابزار استفاده می‌کند.

درحال نصب apigee-adminapi.sh

ابزار apigee-adminapi.sh به‌طور خودکار هنگام نصب ابزار apigee-provision یا apigee-validate نصب می‌شود.

برنامه کمکی در مکان زیر نصب می‌شود:

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

نحو apigee-adminapi.sh

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

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

> apigee-adminapi.sh 

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

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

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

> apigee-adminapi.sh orgs

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

add  apis  apps  delete  envs  list  pods  userroles

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

> 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

تنظیم پارامترها بااستفاده از کلیدهای خط فرمان و متغیرهای محیطی

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

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

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

اگر هریک از پارامترهای الزامی را به فرمان اضافه نکنید، این ابزار پیام خطایی را نمایش می‌دهد که پارامترهای ازدست‌رفته را توصیف می‌کند. برای مثال، اگر متغیر محیطی --host یا EDGE_SERVER را که سرور مدیریت لبه را هنگام ایجاد سازمان مشخص می‌کند حذف کنید، پیام خطای زیر را می‌بینید:

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

دو پارامتر رایج که اغلب به‌عنوان متغیرهای محیطی تنظیم می‌کنید عبارت‌اند از نشانی ایمیل سرپرست سیستم و نشانی IP «سرور مدیریت»:

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

گذراندن فایل به ابزار apigee-adminapi.sh

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

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

> 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 وجود دارد. برای مثال، فرمان زیر فایلی را می‌گیرد که میزبان مجازی را تعریف می‌کند:

> 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 استفاده می‌کند:

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

و برونداد زیر را، ازجمله فرمان cURL تولیدشده، نمایش می‌دهد:

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