واجهات برمجة التطبيقات للاتصال من مشروع على Google Cloud

1. قبل البدء

يعرض لك هذا الدرس التطبيقي كيفية إنشاء مشروع على Google Cloud ثم طلب Google Cloud APIs من ذلك المشروع.

المتطلبات الأساسية

  • إمكانية التنقّل في Google Cloud Console.

ما ستتعرَّف عليه

  • كيفية إنشاء مشروع على Google Cloud
  • كيفية إعداد حساب فوترة
  • كيفية إعداد Cloud Shell
  • كيفية تفعيل واجهة برمجة التطبيقات
  • كيفية تفويض واجهة برمجة تطبيقات باستخدام مفتاح واجهة برمجة التطبيقات
  • كيفية تفويض واجهة برمجة تطبيقات باستخدام حساب خدمة

المتطلبات

2. الإعداد

يوضِّح لك هذا القسم كيفية إنشاء مشروع على Google Cloud وإعداد حساب فوترة وإعداد Cloud Shell.

إنشاء مشروع على Google Cloud وإعداد حساب فوترة

  1. سجِّل الدخول إلى Cloud Console واختَر مشروعًا أو أنشئه.

حلول Google Cloud

جزء جديد للمشروع

جزء جديد من المشروع يعرض حقول "اسم المشروع" و"المؤسسة" و"الموقع الجغرافي".

تذكّر رقم تعريف المشروع الذي يظهر ضمن حقل اسم المشروع. رقم التعريف هو اسم فريد في جميع مشاريع Google Cloud (سبق أن تم استخدام هذا الاسم)، ويُشار إليه لاحقًا في هذا الدرس التطبيقي حول الترميز باسم PROJECT_ID.

  1. بعد ذلك، يمكنك تفعيل الفوترة في Cloud Console لاستخدام موارد Google Cloud.

على الرغم من أنّ هذا الدرس التطبيقي حول الترميز لن يكلّف الكثير، إن وجد، اتّبِع التعليمات الواردة في القسم تنظيف لإيقاف الموارد وتجنُّب التكاليف التي تتجاوز هذا الدرس التطبيقي. لاحظ أن مستخدمي Google Cloud الجدد مؤهّلون للحصول على فترة تجريبية مجانية بقيمة 300 دولار أمريكي.

إعداد Cloud Shell

في هذا الدرس التطبيقي حول الترميز، يمكنك استخدام Cloud Shell، وهي بيئة سطر أوامر يتم تشغيلها في Google Cloud. Cloud Shell عبارة عن جهاز افتراضي يستند إلى Debian ويتضمّن جميع أدوات التطوير التي تحتاج إليها. ويوفّر هذا الدليل دليلاً رئيسيًا ثابتًا بسعة 5 غيغابايت، ما يحسّن أداء الشبكة والمصادقة بشكل كبير. وهذا يعني أنّ كل ما تحتاج إليه لإكمال هذا الدرس التطبيقي هو متصفّح.

لتفعيل Cloud Shell من Cloud Console:

  1. انقر على a8460e837e9f5fda.png تفعيل Cloud Shell.

قد تستغرق إدارة الحسابات والاتصال بالبيئة بضع لحظات.

تفعيل خيار Cloud Shell

Cloud Shell يعرض موجه سطر الأوامر.

بعد الربط بخدمة Cloud Shell، من المفترض أن يظهر لك أنّه قد تمت مصادقتك وأنّ المشروع سبق أن تم ضبطه على PROJECT_ID.

  1. إنشاء قائمة بالحسابات المعتمَدة:
gcloud auth list

من المفترض أن يظهر لك هذا الإخراج:

Credentialed accounts:
 - <MY_ACCOUNT>@<MY_DOMAIN>.com (active)
  1. للاطّلاع على قائمة بمشاريعك، أدخِل هذا الأمر.
gcloud config list project

من المفترض أن يظهر لك هذا الإخراج:

[core]
project = <PROJECT_ID>

إذا لم يتم ضبط المشروع لسبب ما، شغِّل هذا الأمر لإعداده.

gcloud config set project <PROJECT_ID>

وPROJECT_ID هو رقم التعريف الذي استخدمته في خطوات الإعداد. يمكنك أيضًا البحث عنه في لوحة بيانات Cloud Console:

لوحة معلومات المشروع تعرض رقم تعريف المشروع.

تضبط Cloud Shell أيضًا بعض متغيرات البيئة تلقائيًا، وهو ما قد يكون مفيدًا عند تشغيل الأوامر المستقبلية.

  1. للاطّلاع على رقم تعريف مشروعك، أدخِل الأمر التالي.
echo $GOOGLE_CLOUD_PROJECT

من المفترض أن يظهر لك الناتج التالي:

<PROJECT_ID>
  1. أخيرًا، قم بتعيين تهيئة المنطقة الافتراضية والمشروع.
gcloud config set compute/zone us-central1-f

يمكنك اختيار مجموعة متنوعة من المناطق المختلفة. لمزيد من المعلومات، يُرجى الاطّلاع على المناطق.

3- طلب واجهة برمجة تطبيقات من مشروع

يعرض لك هذا الدرس التطبيقي كيفية استخدام نموذج لواجهة برمجة تطبيقات (Natual Language API) للعثور على الكيانات (مثل الأشخاص والأماكن والأحداث) في نصّها، وكيفية تقريب شعور (مستوى الأفضلية) لهذا النص. وستتعرف على كيفية:

  • تفعيل واجهات Google Cloud API
  • احصل على تفويض لواجهة برمجة التطبيقات باستخدام مفاتيح واجهة برمجة التطبيقات وحسابات الخدمة.
  • يمكنك استدعاء واجهة برمجة التطبيقات مع curl ومكتبات العملاء.

تفعيل واجهة برمجة تطبيقات

  1. حدد واجهات برمجة التطبيقات الخدمات من القائمة الرئيسية في Cloud Console.

القائمة الرئيسية في Cloud Console تعرض واجهات برمجة التطبيقات الخدمات.

  1. اختَر + تفعيل واجهات برمجة التطبيقات والخدمات من أعلى الشاشة.

خيار &quot;تفعيل واجهات برمجة التطبيقات والخدمات&quot;.

  1. في هذه المرحلة، يمكنك فلترة واجهات برمجة التطبيقات وتصفّحها أو الانتقال مباشرةً إلى إحدى واجهات برمجة التطبيقات باستخدام المربّع البحث. ابحث عن Natural Language واختَر Cloud Natural Language API.

لوحة Cloud Natural Language API التي يظهر فيها الزران &quot;تفعيل&quot; و&quot;تجربة هذه الميزة&quot; في واجهة برمجة التطبيقات.

  1. انقر على تجربة واجهة برمجة التطبيقات هذه.

إذا لم يظهر الزر تجربة واجهة برمجة التطبيقات هذه، انقر على إحدى الطرق المدرَجة لتجربة هذه الطريقة.

إنشاء مفتاح واجهة برمجة التطبيقات

بما أنّك تستخدم curl لإرسال طلب إلى Natural Language API، يجب إنشاء مفتاح واجهة برمجة تطبيقات لتمرير عنوان URL الخاص بطلبك.

  1. في Cloud Console، حدِّد قائمة التنقل > واجهات برمجة التطبيقات الخدمات > بيانات الاعتماد:

قائمة تنقّل تعرض واجهات برمجة التطبيقات الخيارات &quot;الخدمات&quot; و&quot;بيانات الاعتماد&quot;

  1. انقر على إنشاء شهادات ثم اختَر مفتاح واجهة برمجة التطبيقات:

لوحة بيانات الاعتماد تعرض الخيارات &quot;إنشاء CREDENTIALS&quot; و&quot;مفتاح واجهة برمجة التطبيقات&quot;.

  1. انسخ مفتاح واجهة برمجة التطبيقات الذي تم إنشاؤه، ثم انقر على إغلاق.

استخدام مفتاح واجهة برمجة التطبيقات لطلب بيانات من واجهة برمجة التطبيقات

  1. في سطر أوامر Cloud Shell، صدِّر مفتاح واجهة برمجة التطبيقات.
export API_KEY=<YOUR_API_KEY>

استبدِل <YOUR_API_KEY> بالمفتاح الذي أنشأته سابقًا.

  1. أنشئ طلبًا لواجهة برمجة التطبيقات في "محرِّر Cloud Shell" أو باستخدام محرِّر في Linux، مثل Vim أو Emacs. يمكنك العثور على تفاصيل المَعلمات في Method: Docs.analyzeContacts. احفظ المخرجات في ملف باسم request.json:
{
  "document":{
    "type":"PLAIN_TEXT",
    "content":"Google, headquartered in Mountain View (1600 Amphitheatre Pkwy, Mountain View, CA 940430), unveiled the new Android phone for $799 at the Consumer Electronic Show. Sundar Pichai said in his keynote that users love their new Android phones."
  },
  "encodingType":"UTF8"
}
  1. يمكنك استدعاء واجهة برمجة التطبيقات مع تقديم معلومات الطلب.
curl "https://language.googleapis.com/v1/documents:analyzeEntities?key=${API_KEY}" \
  -s -X POST -H "Content-Type: application/json" --data-binary @request.json
  1. إعادة تشغيل الأمر وإعادة توجيه الناتج إلى ملف وفحص النتيجة. تتوفر أيضًا تفاصيل نتائج ملف JSON في الطريقة: Docs.analyzeEntity.
  2. لتغيير النص المراد تحليله في الملف request.json، استبدِل القيمة content بالنص الذي تختاره.

4. التفويض باستخدام حساب الخدمة

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

  1. ارجع إلى قسم بيانات الاعتماد في واجهات برمجة التطبيقات الخدمات.
  2. اختَر إنشاء بيانات اعتماد، ولكن هذه المرة، اختَر حساب الخدمة.

جزء تفاصيل حساب الخدمة.

  1. أدخِل اسم حساب الخدمة الذي يصف الغرض منه، مثل "Natural Language Service Account". يقترح النظام معرّفًا. يمكنك أيضًا إضافة وصف. عندما تتعرّف على المزيد من المعلومات عن حسابات الخدمة، ستُتيح إذن الوصول إلى حساب الخدمة للمشاريع وتمنح المستخدمين إذن الوصول إلى حساب الخدمة، ولكن في الوقت الحالي، ما عليك سوى النقر على تم لإنشاء حساب الخدمة.
  2. لإنشاء مفتاحَي تشفير لحساب الخدمة من أجل استخدامه، انقر على d489bd059474ae59.png لتعديل حساب الخدمة.

جزء حسابات الخدمة يعرض قائمة بالحسابات.

يتم عرض تفاصيل حساب الخدمة.

يعرض جزء تفاصيل حساب الخدمة تفاصيل حساب &quot;خدمة اللغة الطبيعية&quot;.

  1. انسخ عنوان البريد الإلكتروني لحساب الخدمة وارجع إلى Cloud Shell.
  2. في Cloud Shell، أنشئ مفتاحَي تشفير لحساب الخدمة واضبط متغيّر بيئة للإشارة إليه:
gcloud iam service-accounts keys create ~/key.json \
  --iam-account <your service account email>
export GOOGLE_APPLICATION_CREDENTIALS="/home/$USER/key.json"

تستخدم Google Cloud متغيّر البيئة هذا للعثور على بيانات الاعتماد، لذا لا حاجة إلى تضمينها في طلب بيانات من واجهة برمجة التطبيقات.

  1. يمكنك الآن طلب واجهة برمجة التطبيقات باستخدام الأمر:
gcloud ml language analyze-entities --content="Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'." 

يجب أن تكون النتيجة هي نفسها كما في السابق.

تحتوي العديد من واجهات برمجة التطبيقات على مكتبات عملاء واسعة لاستخراج هذه التفاصيل منها. لمزيد من المعلومات عن مكتبات العملاء، يُرجى الاطّلاع على مكتبات عميل Cloud. يمكنك أيضًا قراءة وثائق واجهات برمجة التطبيقات التي تستخدمها لمعرفة مكتبات العملاء المتوفرة لها.

5- تَنظيم

من الممارسات السيئة استخدام مفتاح واجهة برمجة تطبيقات غير مقيّد للمشاريع. فإذا تمكن شخص ما من الوصول إلى هذا الملف الشخصي، يمكن لهذا الشخص استخدامه بدون الحاجة إلى المصادقة الإضافية.

لحذف مفتاح واجهة برمجة التطبيقات هذا:

  1. انقر على f6b6844bf5688982.png قائمة التنقل > واجهات برمجة التطبيقات و الخدمات > بيانات الاعتماد:
  2. ضمن مفاتيح واجهة برمجة التطبيقات، اختَر المفتاح الذي تريد حذفه ثم انقر على 247adf2e1d1eae4b.pngحذف.
  3. وبالمثل، بدلاً من القلق بشأن عدم حماية المفتاح الخاص لحساب الخدمة، ضمن حسابات الخدمة، اختَر حساب الخدمة المراد حذفه، ثم انقر على 247adf2e1d1eae4b.pngحذف.

6- تهانينا

تهانينا! لقد تعلمت كيفية إنشاء مشروع على Google Cloud وكيفية طلب واجهة برمجة تطبيقات من داخل المشروع.