
تُعتبر Flows محرك أتمتة قوي يسمح بالسحب والإفلات لإنشاء تدفقات اتصالات. في البداية قمنا بتصميمه كحل بدون كود، لكننا وجدنا أن العديد من المستخدمين يمكنهم الحصول على سلوك قوي للغاية من خلال كتابة بعض الأكواد لحالات استخدام محددة. يمكن أن تكون هذه الأكواد داخل Flow Builder، أو يمكن أن تكون وظائف سحابية من جهات خارجية مثل وظائف AWS Lambda أو وظائف Google Cloud.
هذه مجرد مظاهرة بسيطة باستخدام GoogleCloud Functions وFlows للقيام بالتعرف على الصور للصورة المرسلة على Telegram.
التدفقات وما بعدها
بصفتي مطورًا لتدفقات Flows، أفكر كثيرًا في من هم مستخدمينا، ولماذا يستخدمون Flows، وما يحتاجون إليه لتحقيق أهدافهم؛ ثم، ما هي الميزات التي نحتاج إلى تنفيذها لخدمة هؤلاء المستخدمين بأفضل طريقة.
Flows هي محرك أتمتة قوي يعتمد على السحب والإفلات لإنشاء تدفقات التواصل. لقد تصورناها في البداية كحل بدون كود، لكننا وجدنا أن العديد من المستخدمين يمكنهم الحصول على سلوك قوي للغاية عن طريق كتابة بعض الشفرات لحالات الاستخدام الخاصة. يمكن أن تكون هذه القطع من الشفرات داخل Flows، أو يمكن أن تكون وظائف سحابية من أطراف ثالثة مثل وظائف AWS Lambda أو Google Cloud Functions.
حالة استخدام مثيرة للاهتمام: التعرف على الصور
كمثال قصير وممتع، سأوضح لك كيفية تنفيذ تطبيق يتعرف على الهوت دوج. سنقوم بإعداد تدفق في Flows، والذي سيستلم الصور من المستخدمين ويقرر ما إذا كانوا قد أرسلوا صورة لهوت دوج أم لا.
بالنسبة للعديد من عملائنا، يمكن أن يكون هذا النوع من التعرف على الصور قويًا جدًا. تخيل أنك تدير خدمة توصيل وتريد التحقق من نجاح عمليات التسليم تلقائيًا. مشابه لما سأعرضه، يمكنك استخدام بيانات الموقع، وصور الطرود، بل وحتى توقيعات المستلمين لإنشاء تدفق تحقق في Flows.
خطة للنجاح
إعداد وظيفة Google Cloud
أولاً، سنحتاج إلى إعداد وظيفة سحابية. للبدء بسرعة، قم بإنشاء وظيفة سحابية باستخدام هذا البرنامج التعليمي: https://cloud.google.com/functions/docs/quickstart-console. كـ 'مشغل' اختر HTTP trigger، بيئة التنفيذ: Node.js 10، وفي حقل شفرة المصدر أدخل القصاص المبار. إنها شفرة بسيطة، تتحقق مما إذا كان الطلب يحتوي على شفرة JSON وتجيب بنعم أو لا.

بعد ذلك، ستحتاج إلى نشر هذه الوظيفة. لاختبارها داخل منصة Google Cloud، اتبع الخطوات من الدليل التعليمي.
لاختبارها من متصفحك، انتقل إلى عنوان URL التالي بإدخال العنوان المحدد لوظيفتك:
https://your-function-address.cloudfunctions.net/HotDogOrNot/?url=hello
يجب أن يعود {“isHotDog”: true} والعنوان https://your-function-address.cloudfunctions.net/HotDogOrNot
يجب أن يعود {“isHotDog”: false}.
عمل رائع! لقد أعددت وظيفة سحابية في google. الآن نحتاج إلى جعل وظيفتنا السحابية أكثر ذكاءً.
إعداد واجهة برمجة تطبيقات Google Vision
لجعلها أكثر ذكاءً دعونا نضيف التعرف على الصور. لهذا الغرض سنستخدم Google Vision API. للبدء، اتبع الخطوات 1-4 من هذا البرنامج التعليمي: https://cloud.google.com/vision/docs/quickstart-client-libraries. في البرنامج التعليمي ستقوم بتنشيط Vision API وإنشاء حساب خدمة لاستخدامه.
الآن عد إلى وظيفة السحابة التي أنشأتها. قم بتبديل "متغيرات البيئة، الشبكات، مهلات وأكثر" و في ملف "حساب الخدمة" اختر حساب الخدمة VisionAPI الذي أنشأته للتو. الآن يمكننا الوصول إلى Vision API داخل وظيفتنا.

الآن دعونا نغير الشفرة. في علامة تبويب "Package.json"، أدخل هذه الكود. ستضيف مكتبة Google Vision API كاعتماد لوظيفتك.
في علامة تبويب "Index.js" قم بتحديث الشفرة الحالية باستخدام مقتطف الشفرة التالي.

ما الفرق مقارنة بالنسخة السابقة؟ أضفنا طلبًا إلى VisionAPI، والذي يعيد ‘التسميات’ التي وجدها على الصورة. ثم نُرشح هذه التسميات حسب الوصف: إذا كانت تحتوي على "hot dog" وإذا كان لديها ثقة أكبر من 60% في تلك التسمية. إذا كان هناك على الأقل تسمية واحدة متبقية بعد الترشيح، فهذا يعني أننا وجدنا شطيرة نقانق في الصورة.
لفهم كيف يعمل Google VisionAPI وكيف يبدو الاستجابة تحقق من وثائقهم، https://cloud.google.com/vision/docs
بعد ذلك، قم بنشر النسخة الجديدة من وظيفتنا. لاختبارها من متصفحك، ابحث عن أي صورة لشطيرة نقانق واحفظ عنوان URL الخاص بها. الآن انتقل إلى عنوان URL لوظيفتك (تضمين العنوان الصحيح لوظيفتك) https://your-function-address.cloudfunctions.net/HotDogOrNot?url=url_to_image
واستبدل "url_to_image" بعنوان URL للصورة التي تم العثور عليها. إذا كان هناك شطيرة نقانق في الصورة، ستعيد الصفحة {“isHotDog”: true}.
الآن دعنا نربط هذه الوظيفة بربط Flow Builder.
إنشاء تدفق في Flows
قم بتسجيل الدخول إلى لوحة تحكم Bird أو اشترك للحصول على حساب إذا لم يكن لديك حساب.
إذا كنت جديدًا في Flows ولم تقم بإعداد أي قنوات، فستحتاج إلى الذهاب إلى صفحة إعداد القنوات، واختيار إعداد قناة Telegram. اخترت Telegram لهذا العرض التوضيحي لأنه من السهل والسريع الإعداد.

الآن لديك قناة يمكننا استخدامها في Flows. اذهب إلى صفحة Flows، قم بإنشاء تدفق مخصص جديد، واختر مشغل قناة "Telegram".

سيتم توجيهك إلى صفحة التدفق، حيث يجب عليك اختيار قناة Telegram كمشغل، في حالتنا هي "Hotdog". يرجى إضافة خطوتين: "جلب المتغيرات" و"الرد على رسالة القناة".
داخل خطوة "جلب المتغيرات"، سنقوم باستدعاء وظيفة السحابة الخاصة بنا واسترداد الرد في المتغير "isHotDog" والذي سيتضمن "true" أو "false" كاستجابة من وظيفة GoogleCloud. في حقل URL، يرجى إدخال عنوان URL لوظيفتك https://your-function-address.cloudfunctions.net/HotDogOrNot
واملأ جميع الحقول الأخرى كما في صورة محتوى خطوة "جلب المتغيرات".
وفي خطوة "الرد على رسالة القناة"، سنرد على العميل برسالة تحتوي على الإجابة بنعم أو لا. لذلك، أدخل في حقل "الرد بالرسالة" النص التالي "هل النقانق في الصورة؟ {{isHotDog}}".


إذا كانت لديك أي مشكلة في بناء التدفق، يمكنك استخدام الكود التالي:

لاختباره، أرسل صورة إلى بوت Telegram الخاص بك.
حتى الآن، يبدو رائعًا! لقد أنشأنا روبوت دردشة صغيرًا، الذي يتحقق من صور العملاء المرسلة. لجعله أكثر جمالًا، دعونا نضيف بعض الخطوات كما هو موضح أدناه:

إذا كانت لديك أي مشكلة في بناء التدفق، يمكنك استخدام الكود التالي:
النتائج


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