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

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

تستخدم وثائق Edge كلتا الأداتين المساعدة حيثما كان ذلك مناسبًا.

تثبيت apigee-adminapi.sh

يتم تثبيت الأداة apigee-adminapi.sh تلقائيًا عند تثبيت الأداة apigee-provision أو الأداة apigee-التحقّق.

يتم تثبيت الأداة في المكان التالي:

/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

ويعرض مفتاح التبويب (Tab) الخيارات بناءً على سياق الأمر. إذا أدخلت مفتاح التبويب (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 الذي يحدِّد خادم إدارة 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 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>

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

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