CloudControl to platforma chmurowa podobna do Heroku. Tworzenie dodatku cloudControl jest bardzo podobne do tworzenia dodatku Heroku, ale istnieją pewne różnice. W tym artykule wyjaśniono te różnice.

Wstęp

Dodatek GroupDocs do cloudControl to narzędzie internetowe, które można zainstalować w dowolnej aplikacji internetowej w celu zapewnienia funkcjonalności GroupDocs:

  • Utwórz nowego użytkownika GroupDocs z bezpłatnym planem i uzyskaj identyfikator użytkownika i klucz prywatny dla tego użytkownika. Odbywa się to automatycznie po zainstalowaniu dodatku.
  • Użytkownik może zmienić plan płatności za pomocą funkcji zmiany planu dodatku.
  • Dostęp do dowolnych metod z GroupDocs API przy użyciu identyfikatora klienta i klucza prywatnego (który można uzyskać z dodatku). Stworzyliśmy ten przykład, który pokazuje, jak używać dodatku i GroupDocs Python SDK do niektórych podstawowych działań.

Wymagania

  • Narzędzie Kensy
  • narzędzie CloudControl
  • Python 2.7
  • Aplikacja cloudControl

Tworzenie dodatku

Proces tworzenia dodatku cloudControl jest taki sam jak w przypadku tworzenia dodatku Heroku, ale, jak powiedziałem wcześniej, z kilkoma różnicami. Nie będziemy wchodzić w tworzenie dodatku, ponieważ Heroku ma wiele dokumentacji na ten temat i ty decydujesz, jak go zbudujesz. Pokażę tylko, na czym dokładnie polegają różnice. Załóżmy, że mamy już fajny dodatek do Heroku i chcemy go przebudować dla cloudControl:

  1. Zainstaluj narzędzia Kensa i cloudControl. Pomagają zarządzać aplikacjami dodatkowymi i cloudControl. Dowiedz się, jak zainstalować narzędzie cloudControl.
  2. Po zainstalowaniu narzędzi zmień plik addon-manifest.json. Zawiera wszystkie podstawowe informacje dotyczące instalacji dodatków, takie jak zmienne środowiskowe, które zostaną utworzone oraz skąd pobrać i zainstalować pliki dodatków.
    • Przed przesłaniem edytowanego pliku addon-manifest.json ustaw zmienną środowiskową ADDONS\URL=https://api.cloudcontrol.com:.
    • Określ serwer produkcyjny. Heroku wymagało od Ciebie określenia serwera produkcyjnego, a następnie skonstruowania adresu URL używanego do udostępniania dodatku przez dodanie do niego „/heroku/resources”. Teraz podaj skrót zamiast ciągu znaków i zmień „/heroku/resources” na „/cloudcontrol/resources”.
    • Dodaj “sso\salt”:“HASŁO” i “production”: {“base\url”:“https://your.add-on.com/cloudcontrol/resources", “sso\url”:“https:/ /twój.add-on.com/cloudcontrol/resources”}.
  3. Zmień „heroku\id” na „cloudcontrol\id” w plikach dodatków.
  4. Po wprowadzeniu zmian przetestuj dodatek za pomocą testów Kensa, uruchamiając go w konsoli: kensa test provisioning i kensa deprovision test. [caption id=“attachment\3488” align=“alignnone” width=“600” caption=“testy Kensa”]
  5. Jeśli testy wypadną pomyślnie, wypchnij addon-manifest.json do cloudControl za pomocą kensa push -f addon-manifest.json. [caption id=“attachment\3489” align=“alignnone” width=“600” caption=“Kensa push”]
  6. Zainstaluj dodatek do swojej aplikacji cloudControl: cctrlapp TWOJA\APP\NAZWA addon.add TWOJA\ADDON\NAZWA.PLANE

Teraz opublikowaliśmy i zainstalowaliśmy dodatek cloudControl. Jak na razie dobrze. W jaki sposób uzyskujemy zmienne środowiskowe tworzone przez dodatek? Dowiedzmy Się.

Jak uzyskać zmienne środowiskowe

W Heroku jest to łatwe. Na przykład w Python możemy to zrobić za pomocą wiersza os.environ[‘NAZWA ZMIENNEJ’]. Jeśli spróbujesz tego w cloudControl, uzyskasz tylko kilka podstawowych właściwości Python, a nie dodatkowe zmienne. W cloudControl wszystkie zmienne środowiskowe utworzone przez dodatek są zapisywane do pliku json, który możemy uzyskać za pomocą CRED\FILE. Jest to nazwa właściwości systemowej, która zawiera ścieżkę do pliku JSON ze zmiennymi środowiskowymi. Aby uzyskać nasze dane, wystarczy odczytać ten plik JSON i zdekodować ciąg JSON. W Python możemy to zrobić za pomocą tego kodu:

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

W ten sposób uzyskujemy identyfikator klienta i klucz prywatny użytkownika dodatku GroupDocs. I to wszystko. Teraz wiesz, jaka jest różnica między dodatkami Heroku i cloudControl.