CloudControl ist eine Cloud-Plattform, ähnlich wie Heroku. Das Erstellen eines cloudControl-Add-ons ist dem Erstellen eines Heroku-Add-ons sehr ähnlich, es gibt jedoch einige Unterschiede. In diesem Artikel werden diese Unterschiede erläutert.

Einführung

Das GroupDocs-Add-on für cloudControl ist ein Web-Tool, das auf jeder Webanwendung installiert werden kann, um GroupDocs funktionalität bereitzustellen:

  • Erstellen Sie einen neuen GroupDocs-Benutzer mit einem kostenlosen Plan und erhalten Sie die Benutzer-ID und den privaten Schlüssel für diesen Benutzer. Dies erfolgt automatisch bei der Installation des Add-ons.
  • Der Benutzer kann den Zahlungsplan über die Planänderungsfunktion des Add-ons ändern.
  • Zugriff auf alle Methoden der GroupDocs-API mithilfe der Client-ID und des privaten Schlüssels (den Sie über das Add-on erhalten können). Wir haben dieses Beispiel erstellt, das zeigt, wie man das Add-on und das GroupDocs Python SDK für einige grundlegende Aktionen verwendet.

Anforderungen

  • Kensa-Tool
  • cloudControl-Tool
  • Python 2.7
  • cloudControl-Anwendung

Erstellen des Add-ons

Der Prozess zum Erstellen eines cloudControl-Add-ons ist derselbe wie für das Erstellen eines Heroku-Add-ons, jedoch, wie ich bereits sagte, mit ein paar Unterschieden. Wir werden nicht näher darauf eingehen, wie das Add-on erstellt wird, da Heroku hierfür eine umfangreiche Dokumentation hat und Sie entscheiden, wie Sie es erstellen. Ich werde nur zeigen, was genau die Unterschiede sind. Nehmen wir an, wir haben bereits ein cooles Heroku-Add-on und möchten es für cloudControl neu erstellen:

  1. Installieren Sie die Tools Kensa und cloudControl. Sie helfen Ihnen bei der Verwaltung von Add-on und cloudControl-Anwendungen. Erfahren Sie, wie Sie das cloudControl-Tool installieren.
  2. Ändern Sie nach der Installation der Tools die Datei addon-manifest.json. Darin sind alle grundlegenden Informationen für die Add-on-Installation enthalten, z. B. welche Umgebungsvariablen erstellt werden und von wo Add-on Dateien heruntergeladen und installiert werden können.
    • Bevor Sie die bearbeitete Datei addon-manifest.json hochladen, legen Sie die Umgebungsvariable ADDONS\URL=https://api.cloudcontrol.com: fest.
    • Geben Sie den Produktionsserver an. Heroku verlangte von Ihnen die Angabe des Produktionsservers und erstellte dann die URL, die zur Bereitstellung Ihres Add-Ons verwendet wird, indem Sie „/heroku/resources“ daran anhängen. Geben Sie nun einen Hash anstelle einer Zeichenfolge an und ändern Sie „/heroku/resources“ in „/cloudcontrol/resources“.
    • Fügen Sie „sso\salt“: „PASSWORD“ und „Production“ hinzu: {“base\url“: „https://your.add-on.com/cloudcontrol/resources“, „sso\url“: „https:/ /your.add-on.com/cloudcontrol/resources"}.
  3. Ändern Sie „heroku\id“ in „cloudcontrol\id“ in den Add-on Dateien.
  4. Wenn die Änderungen vorgenommen wurden, testen Sie das Add-on mit Kensa-Tests, indem Sie es in der Konsole ausführen: Kensa Test Provision und Kensa Deprovision Test. [caption id=“attachment\3488” align=“alignnone” width=“600” caption=“Kensa-Tests”]
  5. Wenn die Tests erfolgreich sind, pushen Sie addon-manifest.json mit kensa push -f addon-manifest.json an cloudControl. [caption id=“attachment\3489” align=“alignnone” width=“600” caption=“Kensa push”]
  6. Installieren Sie das Add-on zu Ihrer cloudControl-Anwendung: cctrlapp YOUR\APP\NAME addon.add YOUR\ADDON\NAME.PLANE

Jetzt haben wir ein cloudControl Add-on veröffentlicht und installiert. So weit, ist es gut. Wie erhalten wir die Umgebungsvariablen, die das Add-on erstellt? Lass es uns herausfinden.

So erhalten Sie Umgebungsvariablen

In Heroku ist das einfach. In Python können wir dies beispielsweise mit der Zeile os.environ[‘VARIABLE NAME’] tun. Wenn Sie dies in cloudControl versuchen, erhalten Sie nur einige grundlegende Python-Eigenschaften und nicht Ihre Zusatzvariablen. In cloudControl werden alle vom Add-on erstellten Umgebungsvariablen in die JSON-Datei geschrieben, die wir über CRED\FILE abrufen können. Dies ist der Name einer Systemeigenschaft, die den Pfad zur JSON-Datei mit Umgebungsvariablen enthält. Um unsere Daten zu erhalten, müssen wir lediglich diese JSON-Datei lesen und den JSON-String dekodieren. In Python können wir dies mit diesem Code tun:

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

Auf diese Weise erhalten wir die Client-ID und den privaten Schlüssel des GroupDocs-Add-on-Benutzers. Und das ist alles. Sie wissen jetzt, was der Unterschied zwischen Heroku und cloudControl-Add-ons ist.