CloudControl は、Heraku とよく似たクラウド プラットフォームです。 CloudControl アドオンの作成は Heroku アドオンの作成と非常に似ていますが、いくつかの違いがあります。この記事ではそれらの違いについて説明します。

序章

CloudControl 用の GroupDocs アドオンは、GroupDocs 機能を提供するために任意の Web アプリケーションにインストールできる Web ツールです。

  • 無料プランで新しい GroupDocs ユーザーを作成し、このユーザーのユーザー ID と秘密キーを取得します。これは、アドオンのインストール時に自動的に行われます。
  • ユーザーは、アドオンのプラン変更機能を使用して支払いプランを変更できます。
  • クライアント ID と秘密キー (アドオンから取得可能) を使用して、GroupDocs API から任意のメソッドにアクセスします。いくつかの基本的なアクションにアドオンと GroupDocs Python SDK を使用する方法を示す この例 を作成しました。

要件

  • けんさ道具
  • クラウドコントロールツール
  • Python 2.7
  • クラウドコントロールアプリケーション

アドオンの作成

CloudControl アドオンを作成するプロセスは Heraku アドオンの作成 と同じですが、前に述べたように、いくつかの違いがあります。 Heroku にはアドオンに関する多くのドキュメントがあり、アドオンの作成方法はユーザーが決定できるため、アドオンの作成方法については説明しません。正確にどのような違いがあるのかだけを説明します。クールな Heroku アドオンがすでにあり、cloudControl 用にそれを再構築するとします。

  1. Kensa と CloudControl ツールをインストールします。これらは、アドオンおよび CloudControl アプリケーションの管理に役立ちます。 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 テスト プロビジョニング テストと kensa デプロビジョニング テスト) を実行して、アドオンをテストします。 [caption id=“attachment\3488” align=“alignnone” width=“600” caption=“Kensa テスト”]
  5. テストに合格したら、kensa Push -f addon-manifest.json を使用して addon-manifest.json を CloudControl にプッシュします。 [caption id=“attachment\3489” align=“alignnone” width=“600” caption=“Kensa プッシュ”]
  6. アドオンを CloudControl アプリケーションにインストールします: cctrlapp YOUR\APP\NAME addon.add YOUR\ADDON\NAME.PLANE

これで、cloudControl アドオンが公開され、インストールされました。ここまでは順調ですね。アドオンが作成する環境変数を取得するにはどうすればよいですか?確認してみましょう。

環境変数を取得する方法

Heroku では、これは簡単です。たとえば、Python では、os.environ[‘VARIABLE NAME’] という行を使用してこれを行うことができます。これを CloudControl で試してみると、いくつかの基本的な Python プロパティのみが取得され、アドオン変数は取得されません。 CloudControl では、アドオンによって作成されたすべての環境変数は、CRED\FILE を使用して取得できる json ファイルに書き込まれます。これは、環境変数を含む 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 アドオン ユーザーのクライアント ID と秘密キーを取得する方法です。以上です。 Heroku と CloudControl アドオンの違いがわかりました。