1. نظرة عامة

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

الأحداث وعلامات التشغيل
أحداث السحابة الإلكترونية هي أحداث تحدث في بيئة السحابة الإلكترونية، مثل التغييرات في البيانات في قاعدة بيانات أو الملفات المُضافة إلى نظام تخزين أو إنشاء مثيل جديد لجهاز افتراضي.
تحدث الأحداث سواء اخترت الرد عليها أم لا. يمكنك إنشاء ردّ على حدث باستخدام مشغّل. المشغّل هو تصريح بأنّك مهتمّ بحدث معيّن أو مجموعة من الأحداث. يتيح لك ربط دالة بمشغّل تسجيل الأحداث واتّخاذ إجراءات بشأنها. لمزيد من المعلومات حول إنشاء المشغّلات وربطها بالدوال، يُرجى الاطّلاع على "الأحداث والمشغّلات".
حوسبة بدون خادم
تزيل Cloud Functions عبء إدارة الخوادم وإعداد البرامج وتحديث الأُطر وتصحيح أنظمة التشغيل. تتولّى Google إدارة البرامج والبنية الأساسية بالكامل، ما عليك سوى إضافة الرمز البرمجي. بالإضافة إلى ذلك، يتم توفير الموارد تلقائيًا استجابةً للأحداث. وهذا يعني أنّه يمكن توسيع نطاق إحدى الدوال من بضع عمليات استدعاء في اليوم إلى ملايين العمليات بدون أي جهد من جانبك.
حالات الاستخدام
لم تعُد أحمال العمل غير المتزامنة، مثل عمليات استخراج البيانات وتحويلها وتحميلها (ETL) البسيطة أو عمليات الأتمتة السحابية، مثل تشغيل عمليات إنشاء التطبيقات، بحاجة إلى خادم خاص ومطوّر لربطها. ما عليك سوى نشر Cloud Function مرتبطة بالحدث الذي تريده، وبذلك تكون قد انتهيت.
إنّ الطبيعة الدقيقة والمتاحة عند الطلب في Cloud Functions تجعلها أيضًا خيارًا مثاليًا لواجهات برمجة التطبيقات وخطافات الويب الخفيفة. بالإضافة إلى ذلك، يعني التوفير التلقائي لنقاط نهاية HTTP عند نشر دالة HTTP أنّه لا يلزم إجراء أي إعدادات معقّدة كما هو الحال مع بعض الخدمات الأخرى.
يوضّح لك هذا الدرس التطبيقي كيفية إنشاء دالة سحابية ونشرها واختبارها باستخدام "وحدة تحكّم Google Cloud". ستحصل على ما يلي :
- إنشاء دالة سحابية
- نشر الدالة واختبارها
- عرض السجلات
2. الإعداد والمتطلبات
إعداد البيئة بالسرعة التي تناسبك
- سجِّل الدخول إلى Cloud Console وأنشِئ مشروعًا جديدًا أو أعِد استخدام مشروع حالي. (إذا لم يكن لديك حساب على Gmail أو G Suite، عليك إنشاء حساب).
تذكَّر رقم تعريف المشروع، وهو اسم فريد في جميع مشاريع Google Cloud (الاسم أعلاه مستخدَم حاليًا ولن يكون متاحًا لك، نأسف لذلك). سيتم الإشارة إليه لاحقًا في هذا الدرس العملي باسم PROJECT_ID.
- بعد ذلك، عليك تفعيل الفوترة في Cloud Console من أجل استخدام موارد Google Cloud.
لن تكلفك تجربة هذا الدرس التطبيقي حول الترميز الكثير من المال، إن لم تكلفك شيئًا على الإطلاق. احرص على اتّباع أي تعليمات في قسم "التنظيف" الذي ينصحك بكيفية إيقاف الموارد حتى لا تتحمّل رسومًا تتجاوز هذا البرنامج التعليمي. يمكن لمستخدمي Google Cloud الجدد الاستفادة من برنامج الفترة التجريبية المجانية بقيمة 300 دولار أمريكي.
Google Cloud Shell
على الرغم من إمكانية تشغيل Google Cloud وCloud Functions عن بُعد من الكمبيوتر المحمول، سنستخدم في هذا الدرس العملي Google Cloud Shell، وهي بيئة سطر أوامر تعمل في السحابة الإلكترونية.
يتم تحميل هذا الجهاز الافتراضي المستند إلى Debian بجميع أدوات التطوير التي تحتاج إليها. توفّر هذه الخدمة دليلًا رئيسيًا دائمًا بسعة 5 غيغابايت وتعمل في Google Cloud، ما يؤدي إلى تحسين أداء الشبكة والمصادقة بشكل كبير. وهذا يعني أنّ كل ما تحتاجه لهذا الدرس التطبيقي حول الترميز هو متصفّح (نعم، يمكن استخدامه على جهاز Chromebook).
- لتفعيل Cloud Shell من Cloud Console، ما عليك سوى النقر على تفعيل Cloud Shell
(يستغرق توفير البيئة والاتصال بها بضع لحظات فقط).
بعد الاتصال بـ 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:
يضبط Cloud Shell أيضًا بعض متغيرات البيئة تلقائيًا، ما قد يكون مفيدًا عند تنفيذ الأوامر المستقبلية.
echo $GOOGLE_CLOUD_PROJECT
ناتج الأمر
<PROJECT_ID>
- أخيرًا، اضبط المنطقة التلقائية وإعدادات المشروع.
gcloud config set compute/zone us-central1-f
يمكنك اختيار مجموعة متنوعة من المناطق المختلفة. لمزيد من المعلومات، يُرجى الاطّلاع على الأقاليم والمناطق.
3- إنشاء دالة
في هذه الخطوة، ستنشئ دالة سحابية باستخدام وحدة التحكّم.
- في وحدة التحكّم، انقر على "قائمة التنقّل" > "وظائف السحابة الإلكترونية".

- انقر على "إنشاء دالة" (CREATE FUNCTION):

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

- أثناء بقائك في مربّع الحوار "إنشاء دالة"، انقر على "إنشاء" في أسفل الصفحة لنشر الدالة:

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

هذا كل شيء! أصبحت الدالة متاحة الآن ويمكن تشغيلها عبر HTTP.
4. اختبار الدالة
في صفحة "نظرة عامة على Cloud Functions"، اعرض قائمة الدالة، ثم انقر على اختبار الدالة :

في حقل "حدث التشغيل"، أدخِل النص التالي بين القوسين المعقوفين {} وانقر على اختبار الدالة.
في الحقل Output (الناتج)، من المفترض أن تظهر لك الرسالة Success: Hello World!
في حقل السجلّات، يشير رمز الحالة 200 إلى نجاح العملية. يُرجى العِلم أنّ ظهور السجلّات قد يستغرق دقيقة واحدة.

5- عرض سجلّات الدوال
انقر على السهم الأزرق للرجوع إلى صفحة النظرة العامة على Cloud Functions :

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

في ما يلي مثال على سجلّ الأنشطة :

يُرجى العِلم أنّه يمكنك فلترة السجلّات حسب الدالة وحسب درجة الخطورة، والبحث من خلال تصنيف أو بعض النصوص الحرة.
تم نشر تطبيقك واختباره، وتمكّنت من عرض السجلات.
6. مراجع عن تنظيف البيانات
حسنًا، لا تحتاج إلى تنظيف الموارد لأنّ هذه هي الحوسبة بدون خادم : يعني التوسّع إلى صفر أيضًا خفض التكلفة إلى صفر. لذلك، إذا لم تتلقَّ الدالة أي زيارات، لن يتم تحمّل أي تكلفة. بالإضافة إلى ذلك، تكون أول مليوني عملية استدعاء لوظيفة Cloud Function كل شهر مجانية. يمكنك الاطّلاع على صفحة الأسعار لمزيد من التفاصيل.
إذا أردت حذف الدالة، ما عليك سوى الانتقال إلى صفحة النظرة العامة واختيار الدالة والنقر على DELETE (حذف):

7. الخطوات التالية
تتضمّن "وظائف السحابة الإلكترونية" المزيد من الميزات. يمكنك الاطّلاع على دروس برمجية أخرى وعلى صفحة المنتج ومستنداته.
ننصحك أيضًا بالاطّلاع على ما يلي :
- استدعاء دوال Cloud Functions (المشغّلات المتاحة لاستدعاء الدوال)
- رصد Cloud Functions (السجلّات والإبلاغ عن الأخطاء وغير ذلك)
- ... أو المزيد من الدروس التطبيقية حول الترميز من فئة "حوسبة بدون خادم"