CloudControl عبارة عن منصة سحابية تشبه إلى حد كبير Heroku. يشبه إنشاء الوظيفة الإضافية cloudControl إنشاء وظيفة إضافية لـ Heroku ولكن هناك بعض الاختلافات. تشرح هذه المقالة تلك الاختلافات.

مقدمة

الوظيفة الإضافية GroupDocs لـ cloudControl هي أداة ويب يمكن تثبيتها على أي تطبيق ويب لتوفير وظائف GroupDocs:

  • أنشئ مستخدم GroupDocs جديدًا بخطة مجانية واحصل على معرف المستخدم والمفتاح الخاص لهذا المستخدم. يتم ذلك تلقائيًا عند تثبيت الوظيفة الإضافية.
  • يمكن للمستخدم تغيير خطة الدفع باستخدام وظيفة تغيير الخطة الإضافية.
  • الوصول إلى أي طرق من GroupDocs API باستخدام معرف العميل والمفتاح الخاص (الذي يمكنك الحصول عليه من الوظيفة الإضافية).أنشأنا هذا المثال الذي يوضح كيفية استخدام الوظيفة الإضافية و GroupDocs Python SDK لبعض الإجراءات الأساسية.

متطلبات

  • أداة Kensa
  • أداة CloudControl
  • بايثون 2.7
  • تطبيق cloudControl

إنشاء الوظيفة الإضافية

إن عملية إنشاء الوظيفة الإضافية cloudControl هي نفسها بالنسبة إلى إنشاء وظيفة إضافية Heroku ، ولكن كما قلت سابقًا ، مع وجود بعض الاختلافات. لن نتطرق إلى كيفية إنشاء الوظيفة الإضافية لأن لدى Heroku الكثير من الوثائق لذلك وأنت تقرر كيفية إنشائها. سأظهر فقط ما هي الاختلافات بالضبط. لنفترض أن لدينا بالفعل وظيفة إضافية رائعة من Heroku ونريد إعادة بنائها من أجل CloudControl:

  1. قم بتثبيت Kensa وأدوات التحكم السحابي. إنها تساعدك على إدارة تطبيقات الوظائف الإضافية والتحكم السحابي. تعرف على كيفية تثبيت أداة CloudControl.
  2. بعد تثبيت الأدوات ، قم بتغيير ملف addon-manifest.json. يحتوي هذا على جميع المعلومات الأساسية لتثبيت الوظيفة الإضافية ، مثل متغيرات البيئة التي سيتم إنشاؤها ومكان تنزيل ملفات الوظائف الإضافية وتثبيتها.
    • قبل تحميل ملف addon-manifest.json المحرر ، قم بتعيين متغير البيئة ADDONS \ URL = https://api.cloudcontrol.com:.
    • حدد خادم الإنتاج. طلب Heroku منك تحديد خادم الإنتاج ، ثم أنشأ عنوان URL المستخدم لتوفير الوظيفة الإضافية عن طريق إلحاق “/ heroku / resources” بها. الآن ، قم بتوفير تجزئة بدلاً من سلسلة وتغيير “/ heroku / resources” إلى “/ cloudcontrol / resources”.
    • أضف “sso \ salt”: “PASSWORD” و “production”: {“base \ url”: “https://your.add-on.com/cloudcontrol/resources"، “sso \ url”: “https: / /your.add-on.com/cloudcontrol/resources “}.
  3. غيّر “heroku \ id” إلى “cloudcontrol \ id” في ملفات الوظائف الإضافية.
  4. بعد إجراء التغييرات ، اختبر الوظيفة الإضافية باستخدام اختبارات Kensa عن طريق تشغيلها في وحدة التحكم: توفير اختبار kensa واختبار إلغاء تراخيص كينسا. \ [caption id = “attachment \ 3488” align = “alignnone” width = “600” caption = “اختبارات كينسا” ]
  5. إذا نجحت الاختبارات ، فقم بدفع addon-manifest.json إلى cloudControl باستخدام kensa push -f addon-manifest.json. \ [caption id = “attachment \ 3489” align = “alignnone” width = “600” caption = “Kensa push” ]
  6. قم بتثبيت الوظيفة الإضافية على تطبيق cloudControl الخاص بك: cctrlapp YOUR \ APP \ NAME addon.add YOUR \ ADDON \ NAME.PLANE

لقد قمنا الآن بنشر الوظيفة الإضافية cloudControl وقمنا بتثبيتها. حتى الان جيدة جدا. كيف نحصل على متغيرات البيئة التي تنشئها الوظيفة الإضافية؟ هيا نكتشف.

كيفية الحصول على متغيرات البيئة

في Heroku ، هذا سهل. على سبيل المثال ، في Python يمكننا القيام بذلك باستخدام السطر os.environ [‘VARIABLE NAME’]. إذا جربت ذلك في cloudControl ، فستحصل فقط على عدد قليل من خصائص Python الأساسية وليس متغيرات الوظائف الإضافية. في cloudControl ، تتم كتابة جميع متغيرات البيئة التي تم إنشاؤها بواسطة الوظيفة الإضافية في ملف json الذي يمكننا الحصول عليه باستخدام CRED \ FILE. هذا هو اسم خاصية النظام التي تحتوي على المسار إلى ملف JSON بمتغيرات البيئة. للحصول على بياناتنا ، كل ما نحتاجه هو قراءة ملف JSON وفك تشفير سلسلة JSON. في Python ، يمكننا القيام بذلك باستخدام هذا الكود:

credentialsFile = os.getenv('CRED\_FILE')
    credentials = open(credentialsFile)
    data = json.load(credentials)
    credentials.close()
    clientId = data\['GROUPDOCS'\]\['GROUPDOCS\_CID'\]
    privateKey = data\['GROUPDOCS'\]\['GROUPDOCS\_PKEY'\]

هذه هي الطريقة التي نحصل بها على معرف العميل والمفتاح الخاص لمستخدم الوظيفة الإضافية GroupDocs. و هذا كل شيء. أنت تعرف الآن ما هو الفرق بين إضافات Heroku و cloudControl.