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

Edge for Private Cloud نسخه ۴.۱۸.۰۵

از ابزار کمکی 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-provision یا apigee-validate را نصب می‌کنید، ابزار کمکی apigee-adminapi.sh به‌طور خودکار نصب می‌شود.

این ابزار در مکان زیر نصب شده است:

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

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

برنامه کمکی 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

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

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

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

  • بااستفاده از کلید خط فرمان -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 را که Edge Management 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 با فراخوانی‌های PUT و POST API که بدنه درخواست را می‌گیرند مطابقت دارند. برای مثال، ایجاد میزبان مجازی با فراخوانی POST API مطابقت دارد که به اطلاعاتی درباره میزبان مجازی در بدنه درخواست نیاز دارد.

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

/opt/apigee/apigee-adminapi/bin/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