الإصدار 4.16.09 من Edge for 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
بنية apigee-adminapi.sh
تستخدم الأداة المساعدة apigee-adminapi.sh بنية سطر أوامر بسيطة. يمكنك في أي وقت استخدام مفتاح التبويب لعرض طلب يسرد خيارات الأوامر المتاحة.
للاطّلاع على جميع الأوامر الممكنة، يمكنك استدعاء الأداة المساعدة بدون خيارات:
> apigee-adminapi.sh
إذا ضغطت على مفتاح التبويب بعد كتابة apigee-adminapi.sh، ستظهر لك قائمة بالخيارات المحتملة:
analytics classification logsessions regions securityprofile userroles buildinfo GET orgs runtime servers users
يعرض مفتاح 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:
> 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 يتطلب معلومات حول المضيف الافتراضي في نص الطلب.
عند استخدام الأداة المساعدة 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