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

apigee-adminapi.sh 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 کلید tab را فشار دهید، لیستی از گزینه های ممکن را مشاهده خواهید کرد:

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

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

/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

یک فایل را به apigee-adminapi.sh منتقل کنید

ابزار apigee-adminapi.sh یک بسته بندی در اطراف curl است. در نتیجه، برخی از دستورات مربوط به فراخوانی های 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>

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

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