استخدام الأداة apigee-adminapi.sh

Edge for Private Cloud‏ 4.16.09

استخدِم الأداة apigee-adminapi.sh لتنفيذ مهام ضبط Edge نفسها التي تنفّذها من خلال إجراء طلبات إلى واجهة برمجة تطبيقات إدارة Edge. تتمثل ميزة الأداة apigee-adminapi.sh في أنّه:

  • استخدام واجهة سطر أوامر بسيطة
  • تنفيذ إكمال الأوامر استنادًا إلى علامة التبويب
  • تقديم المساعدة ومعلومات الاستخدام
  • يمكن عرض طلب البيانات لواجهة برمجة التطبيقات المقابل إذا قرّرت تجربة واجهة برمجة التطبيقات.

لا تشكّل الأداة apigee-adminapi.shبديلاً عن الأداة apigee-provision. تستخدِم الأداة apigee-provision في الواقع أداة apigee-adminapi.sh للقيام بمهامها.

الاختلافات الرئيسية بين الاثنين هي:

  • تنفّذ الأداة apigee-adminapi.sh وظائف بسيطة تحل محل طلبات البيانات من واجهة برمجة التطبيقات Edge الفردية. على سبيل المثال، لإنشاء مؤسسة وبيئة ومضيف افتراضي، يجب استخدام ثلاثة أوامر apigee-adminapi.sh منفصلة تتوافق مع ثلاث طلبات بيانات من واجهة برمجة التطبيقات.
  • تم تصميم الأداة 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 بنية سطر أوامر بسيطة. في أي وقت، استخدِم مفتاح التبويب (Tab) لعرض طلب يسرد خيارات الأوامر المتاحة.

لعرض جميع الأوامر الممكنة، استدعِ الأداة بدون خيارات:

> apigee-adminapi.sh 

إذا ضغطت على مفتاح التبويب (Tab) بعد كتابة 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 الذي يحدِّد خادم إدارة Edge عند إنشاء مؤسسة، ستظهر لك رسالة الخطأ التالية:

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 اللتين تأخذان محتوى الطلب. على سبيل المثال، يتوافق إنشاء مضيف افتراضي مع طلب 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>

عرض معلومات تصحيح الأخطاء وواجهة برمجة التطبيقات

استخدِم الخيار --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