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

Edge for Private Cloud، الإصدار 4.16.05

استخدام 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 أو التحقق من صحة واجهة برمجة التطبيقات.

يتم تثبيت الأداة في الموقع التالي:

/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 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

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

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

على سبيل المثال، من التعليمات الموضحة أعلاه لـ "إضافة المؤسسات" فيمكنك تحديد اسم المؤسسة من خلال أي مما يلي:

  • استخدام سطر الأوامر -o مفتاح التبديل:
    > apigee-adminapi.sh -o testOrg
  • جارٍ ضبط متغيّر بيئة باسم ORG:
    > تصدير ORG=testOrg
    > مؤسسات apigee-adminapi.sh

إذا لم يتم إدخال أي معلمات مطلوبة في الأمر، ستعرض الأداة رسالة خطأ تصف المعلمات المفقودة. على سبيل المثال، إذا حذفت متغير البيئة --host أو EDGE_SERVER الذي يحدد خادم إدارة Edge عند إنشاء مؤسسة، ستظهر لك رسالة الخطأ التالية:

Error with required variable or parameter
ADMIN_PASSWORD....OK
ADMIN_EMAIL....OK
EDGE_SERVER....null

هناك معلمتان شائعتان تقوم بتعيينهما غالبًا كمتغيرين للبيئة، وهما البريد الإلكتروني لمسؤول إدارة النظم عنوان IP وعنوان IP لخادم الإدارة:

> export ADMIN_EMAIL=foo@bar.com
> export EDGE_SERVER=192.168.56.101

تمرير ملف إلى apigee-adminapi.sh شركة الطاقة

بعض أوامر apigee-adminapi.sh مع طلبات البيانات من واجهة برمجة التطبيقات PUT وPOST التي تأخذ نص الطلب. على سبيل المثال، يمكن أن يؤدي إنشاء مخطط مع طلب بيانات من واجهة برمجة تطبيقات POST يتطلب معلومات عن المضيف الظاهري في نص الطلب.

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