1. نظرة عامة

باستخدام Cloud Functions، يمكنك كتابة وظائف بسيطة ذات غرض واحد مرتبطة بالأحداث الصادرة من البنية الأساسية والخدمات على السحابة الإلكترونية. يتم تشغيل Cloud Function عندما يتم تشغيل حدث تتم مراقبته. يتم تنفيذ الرمز في بيئة مُدارة بالكامل. ليس من الضروري توفير أي بنية تحتية أو القلق بشأن إدارة أي خوادم.
يمكن حاليًا كتابة Cloud Functions بلغة Javascript أو Python أو Go. وفي حالة Javascript، يتم تنفيذها في بيئة Node.js على Google Cloud Platform. يمكنك أخذ دالة Cloud Functions وتشغيلها في أي وقت تشغيل عادي لـ 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 (السجلّات والإبلاغ عن الأخطاء والمزيد)
- ... أو المزيد من دروس البرمجة من فئة "بدون خادم"