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

الإصدار 4.18.05 من Edge الخاص بخدمة Private Cloud

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

/opt/apigee/apigee-adminapi/bin/apigee-adminapi.sh بناء جملة

تستخدم الأداة apigee-adminapi.sh بنية سطر أوامر بسيطة. يمكنك في أي وقت استخدام مفتاح التبويب (Tab) لعرض إشعار يسرد خيارات الأوامر المتاحة.

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

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

إذا ضغطت على مفتاح التبويب (Tab) بعد كتابة apigee-adminapi.sh، ستظهر لك قائمة بالخيارات المحتملة:

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

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

ضبط المعلَمات باستخدام مفاتيح تبديل سطر الأوامر ومتغيرات البيئة

يجب إدخال جميع المعلَمات في أمر باستخدام مفاتيح تبديل سطر الأوامر أو باستخدام متغيرات البيئة. ضع بادئة لمفاتيح تبديل سطر الأوامر باستخدام شرطة واحدة (-) أو شرطة مزدوجة (--) حسب الحاجة.

على سبيل المثال، من التعليمات المعروضة أعلاه للأمر "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 عند إنشاء مؤسسة، ستظهر لك رسالة الخطأ التالية:

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 لإنشاء مضيف افتراضي أو أي أمر يأخذ نص طلب، يمكنك تمرير جميع المعلومات اللازمة في سطر الأوامر كما هو موضح أدناه:

/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