بدء استخدام دوال السحابة

1. نظرة عامة

Cloud-Functions.png

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

يمكن كتابة "الدوال السحابية" حاليًا بلغة JavaScript أو Python أو Go. في حال استخدام JavaScript، يتم تنفيذها في بيئة Node.js على Google Cloud Platform. يمكنك الاستفادة من دالة Cloud في أي وقت تشغيل عادي في Node.js، ما يسهّل عملية النقل والاختبار المحلي.

ربط خدمات السحابة الإلكترونية وتوسيع نطاقها

توفّر دوال السحابة الإلكترونية طبقة ربط منطقية تتيح لك كتابة الرموز البرمجية لربط خدمات السحابة الإلكترونية وتوسيع نطاقها. الاستماع إلى ملف تم تحميله على Cloud Storage والردّ عليه أو تغيير سجلّ أو رسالة واردة حول موضوع Cloud Pub/Sub تعزّز ميزة Cloud Functions خدمات السحابة الإلكترونية الحالية وتتيح لك معالجة عدد متزايد من حالات الاستخدام باستخدام منطق البرمجة العشوائي. يمكن لـ Cloud Functions الوصول إلى بيانات اعتماد "حساب خدمة Google" وبالتالي تتم مصادقتها بسلاسة مع معظم خدمات Google Cloud Platform، مثل Datastore وCloud Spanner وCloud Translation API وCloud Vision API، وغير ذلك الكثير.

907ffb96feada611.png

الأحداث والعوامل المشغِّلة

أحداث السحابة الإلكترونية هي أحداث تحدث في البيئة السحابية.قد تشمل هذه التغييرات التغييرات في البيانات في قاعدة بيانات أو الملفات التي تتم إضافتها إلى نظام تخزين أو إنشاء مثيل جهاز افتراضي جديد.

تحدث الأحداث سواء اخترت الرد عليها أم لا. يمكنك إنشاء رد على حدث باستخدام عامل تشغيل. العامل المشغِّل هو تصريح بأنّك مهتم بحدث معيّن أو مجموعة معيّنة من الأحداث. يتيح لك ربط دالة بعامل تشغيل تسجيل الأحداث والتصرف بناءً عليها. لمزيد من المعلومات عن إنشاء مشغِّلات وربطها بوظائفك، اطّلع على "الأحداث والعوامل المشغِّلة".

بدون خادم

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

حالات الاستخدام

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

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

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

  • إنشاء دالة سحابة
  • نشر الدالة واختبارها
  • عرض السجلات

2. الإعداد والمتطلبات

إعداد بيئة ذاتية

  1. سجِّل الدخول إلى Cloud Console وأنشِئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. (إذا لم يكن لديك حساب على Gmail أو G Suite، عليك إنشاء حساب.)

dMbN6g9RawQj_VXCSYpdYncY-DbaRzr2GbnwoV7jFf1u3avxJtmGPmKpMYgiaMH-qu80a_NJ9p2IIXFppYk8x3wyymZXavjglNLJJhuXieCem56H30hwXtd8PvXGpXJO9gEUDu3cZw

ci9Oe6PgnbNuSYlMyvbXF1JdQyiHoEgnhl4PlV_MFagm2ppzhueRkqX4eLjJllZco_2zCp0V0bpTupUSKji9KkQyWqj11pqit1K1faS1V6aFxLGQdkuzGp4rsQTan7F01iePL5DtqQ

8-tA_Lheyo8SscAVKrGii2coplQp2_D1Iosb2ViABY0UUO1A8cimXUu6Wf1R9zJIRExL5OB2j946aIiFtyKTzxDcNnuznmR45vZ2HMoK3o67jxuoUJCAnqvEX6NgPGFjCVNgASc-lg

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

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

إنّ تنفيذ هذا الدرس التطبيقي حول الترميز لن يكون مكلفًا أو مكلفًا على الإطلاق. احرص على اتّباع أي تعليمات في قسم "الحذف سريعًا". الذي يقدم لك نصائح حول كيفية إيقاف تشغيل الموارد حتى لا تتكبّد أي فواتير خارج نطاق هذا البرنامج التعليمي. يكون مستخدمو Google Cloud الجدد مؤهَّلون للانضمام إلى برنامج الفترة التجريبية المجانية التي تبلغ قيمتها 300 دولار أمريكي.

Google Cloud Shell

يمكن إدارة Google Cloud وCloud Functions عن بُعد من الكمبيوتر المحمول، ولكن في هذا الدرس التطبيقي، سنستخدم Google Cloud Shell، وهي بيئة سطر أوامر يتم تشغيلها في السحابة الإلكترونية.

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

  1. لتفعيل Cloud Shell من Cloud Console، ما عليك سوى النقر على تفعيل Cloud Shell fEbHefbRynwXpq1vj2wJw6Dr17O0np8l-WOekxAZYlZQIORsWQE_xJl-cNhogjATLn-YxLVz8CgLvIW1Ncc0yXKJsfzJGMYgUeLsVB7zSwz7p6ItNgx4tXqQjag7BfWPcZN5kP-X3Q (من المفترَض أن تستغرق عملية الإعداد والاتصال بالبيئة بضع دقائق فقط).

I5aEsuNurCxHoDFjZRZrKBdarPPKPoKuExYpdagmdaOLKe7eig3DAKJitIKyuOpuwmrMAyZhp5AXpmD_k66cBuc1aUnWlJeSfo_aTKPY9aNMurhfegg1CYaE11jdpSTYNNIYARe01A

لقطة شاشة يوم 14-06-2017 في الساعة 10.13.43 مساءً.png

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

gcloud auth list

مخرجات الأمر

Credentialed accounts:
 - <myaccount>@<mydomain>.com (active)
gcloud config list project

مخرجات الأمر

[core]
project = <PROJECT_ID>

إذا لم يتم ضبط المشروع لسبب ما، ما عليك سوى إصدار الأمر التالي:

gcloud config set project <PROJECT_ID>

هل تبحث عن PROJECT_ID؟ تحقَّق من المعرّف الذي استخدمته في خطوات الإعداد أو ابحث عنه في لوحة بيانات Cloud Console:

R7chO4PKQfLC3bvFBNZJALLTUiCgyLEq_67ECX7ohs_0ZnSjC7GxDNxWrJJUaoM53LnqABYamrBJhCuXF-J9XBzuUgaz7VvaxNrkP2TAn93Drxccyj2-5zz4AxL-G3hzxZ4PsM5HHQ

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

echo $GOOGLE_CLOUD_PROJECT

مخرجات الأمر

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

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

3- إنشاء دالة

في هذه الخطوة، ستُنشئ دالة سحابية باستخدام وحدة التحكم.

  • في وحدة التحكم، انقر فوق قائمة التنقل > وظائف السحابة الإلكترونية:

fe64222954f5f372.png

  • انقر على "إنشاء وظيفة". :

7adca9640ca2e5a6.png

  • أدخِل اسمًا للدالة GCFunction واحتفِظ بالقيم التلقائية الأخرى : تخصيص الذاكرة وHTTP كمشغّل ومحرّر مضمّن وبيئة التشغيل التلقائية ورمز نموذجي تلقائي.

795f1fedc0f039bb.png

  • بينما لا تزال في "دالة إنشاء" انقر على "إنشاء" في أسفل الصفحة لنشر الدالة:

b68c3647b771e6f9.png

بعد النقر على "إنشاء"، تعيد وحدة التحكّم التوجيه إلى صفحة "نظرة عامة على دوال Cloud".

أثناء نشر الدالة، يظهر الرمز المجاور على شكل مؤشر دوار صغير. عند تفعيل مؤشر سريان العمل، ستظهر علامة اختيار خضراء. إذا كانت هناك أية مشكلات، فسيتم إعلامك من خلال رمز أحمر ورابط إلى السجلات لفهم الخطأ الذي حدث (من المحتمل أن تكون هناك مشكلة في التعليمات البرمجية).

3ec684b1b4906657.png

هذا كل شيء! أصبحت الدالة نشطة الآن وجاهزة للتفعيل عبر HTTP.

4. اختبار الدالة

في صفحة "نظرة عامة على دوال السحابة"، اعرض قائمة الدالة، وانقر على اختبار الدالة :

74e310ee6663bb3c.png

في حقل "حدث التشغيل"، أدخِل النص التالي بين الأقواس {} وانقر على اختبار الدالة.

في حقل الإخراج، من المفترض أن ترى الرسالة تم بنجاح: Hello World!

في حقل السجلات، يشير رمز الحالة 200 إلى النجاح. تجدر الإشارة إلى أنّ ظهور السجلّات قد يستغرق دقيقة.

a876def9cbf24a45.png

5- عرض سجلات الدوال

انقر على السهم الأزرق للرجوع إلى صفحة نظرة عامة على دوال Cloud :

8917a2bfa4fb9502.png

اعرض القائمة للدالة، وانقر على عرض السجلات :

e97e6ec1fc17dfd7.png

في ما يلي مثال على سِجلّ السجل :

d91a00cf4457fa84.png

لاحظ أنه يمكنك تصفية السجلات لكل دالة وحسب درجة الخطورة، والبحث عبر تصنيف أو بعض النصوص الحرة.

تم نشر تطبيقك واختباره وتمكَّنت من الاطّلاع على السجلّات.

6- موارد تنظيف البيانات

حسنًا، لن تكون بحاجة إلى تنظيف الموارد نظرًا لأن هذه هي الحوسبة بدون خادم : يؤدي التوسع إلى القيمة الصفرية إلى تخفيض التكلفة إلى الصفر أيضًا. ولذلك، إذا لم تكن الدالة تحصل على أي زيارات، لن يتم تكبد أي تكلفة. أول 2 مليون استدعاء لـ Cloud Function كل شهر مجاني. يمكنك الاطّلاع على صفحة الأسعار لمزيد من التفاصيل.

إذا كنت ترغب في حذف الدالة، فما عليك سوى التوجه إلى صفحة النظرة العامة، وحدد الدالة وانقر فوق DELETE :

4fe11e1b41b32ba2.png

7. الخطوات التالية

ميزات Cloud Functions التي تنتظرك يمكنك الاطّلاع على الدروس التطبيقية الأخرى حول الترميز وصفحة المنتج ومستنداتها.

يجب عليك أيضًا التحقق مما يلي :