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

Edge for Private Cloud نسخه 4.17.01

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

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

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

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

  • ابزار apigee-adminapi.sh توابع اتمی را انجام می دهد که جایگزین فراخوانی های API Edge فردی می شود. به عنوان مثال، برای ایجاد یک سازمان، محیط و میزبان مجازی نیاز به سه دستور جداگانه 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

نحو apigee-adminapi.sh

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

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

> apigee-adminapi.sh 

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

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

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

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

نمایش اطلاعات اشکال زدایی و API

از گزینه --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