メインコンテンツにスキップ
Adaptive Planning
最終更新: 2024-03-08
カスタム クラウド ローダの作成

カスタム クラウド ローダの作成

カスタム クラウド ローダを作成するには、JavaScript のプログラミングに関する十分な知識と経験が必要です。経験豊富な JavaScript プログラマーを利用できない場合は、カスタム クラウド ローダの作成を開始してはいけません。カスタム クラウド ローダを作成する前に、"管理" > "権限セット" の "インテグレーション開発者" 権限を割り当てる必要もあります。
カスタム クラウド ローダでエクスポートできるのは
Adaptive Planning
計画データをサードパーティのクラウド システムに直接送信する。
ビデオを見る:
3 分 16 秒

基本ステップ

  1. データ ソース設定を入力します。
  2. パラメータを定義します。
  3. 以下の CCDS API を使用して JavaScript を書き込みます。 ai 名前空間
  4. ビジネス ルールを定義します。
  5. ローダを実行またはスケジュール設定します。

前提条件

  • インテグレーション開発者権限があることを確認します。
  • 次のことを確認してください
    Adaptive Planning
    エクスポートしたい 計画データは、ステージング テーブルにすでに存在します。
  • 外部システムの OAuth 認証情報を作成するか、JavaScript に明示的に含めることができる認証情報を取得します。
  • 外部システムに転送する必要があるパラメータが何であり、外部システムが想定しているデフォルトが何であるかを確認します。
  • 外部システムのエンドポイントに書き込む方法を理解します。

ナビゲーション

Compass.png ナビゲーション メニューから、
"インテグレーション"
"インテグレーション設定"
へ移動します。

データ ソース設定の入力

データ ソース設定により、インスタンスのステージング データから使用するソース テーブルを選択し、使用する認証情報、およびローダの実行中に記録するログ詳細のレベルを決定できます。

新規カスタム クラウド ローダの作成

  1. "インテグレーション" > "インテグレーション設定"
    に移動し、データ デザイナーにアクセスします。
  2. コンポーネント ライブラリの "ローダ" フォルダで
    "新しいローダの作成"
    を選択します。
  3. ローダのタイプとして
    "カスタム クラウド ローダ"
    を選択し、名前を入力します。
    カスタム クラウド ローダがオプションの 1 つとして表示されない場合は、このインスタンスに関して有効化されていないか、アクセスに必要なインテグレーション開発者権限がありません。
  4. "作成"
    を選択します。

"ソース テーブル"、"認証情報"、"ログ レベル" を選択

  1. カスタム クラウド ローダの情報を入力します。
    • ソース テーブル:
      を含むステージング テーブルを選択
      Adaptive Planning
      エクスポートする Planning データ
    • 必要な認証情報:
      外部システムが OAuth を必要とするかどうかを選択し、適切な OAuth 認証情報を選択するにあたりインテグレーション オペレーター権限を持つユーザーが必要であるかどうかを選択します。
    • 認証情報:
      既存の OAuth 認証情報を選択します。
    • ログ レベル:
      ローダの実行時にどの程度の詳細を記録するかを選択します。
      • エラー
        :
        エラーのみを記録します。
      • 情報
        :
        データ ソースが更新されたときなど、すべての基本情報を記録します。
      • 詳細
        :
        すべてのフェーズとアクションに関する非常に詳細な情報を提供します。
        典型的な使用方法よりも多くのログ情報を生成する可能性があるため、主にデバッグや監査に使用されます。
  2. "アクション" メニューで
    "保存"
    をクリックします。

パラメータの定義

JavaScript でエクスポートする必要があるパラメータを定義します
Adaptive Planning
のデータを外部システムに追加します。パラメータには、 の接続 URL、ユーザー名、パスワード、属性を含めることができます。
Adaptive Planning
その他の情報パラメータ化された設定により、実行時に値を変更できます。ローダの実行中は静的設定が保持されます。
  1. "デザイナー設定"
    を選択します。
  2. パラメータ化された設定アイテムまたは静的設定アイテムを
    "設定コンポーネント"
    ペインから
    "デザイナー設定"
    にドラッグします。
    • ローダの実行時に別の値を入力しない場合、ここに入力されたパラメータ化された設定値がローダのデフォルトになります。
    • ここに入力した静的設定は、ローダが実行されるたびに使用され、実行時に入力する必要はありません。
      • ブール値: 1 またはゼロとして表される値です。
      • 属性: 内の属性管理の属性
        Adaptive Planning
      • 整数: 負ではない整数です。
      • パスワード: パスワード。値は、いったん保存されると表示できません
      • 期間範囲: 内からの期間範囲
        Adaptive Planning
      • テキスト: 英数字の値です。
  3. パラメータ アイテムをダブルクリックすると、名前の入力や値の変更ができます。
  4. 必要に応じて JavaScript で参照するアイテムをいくつでもドラッグできます。
  5. ローダを保存します。
  6. 参照するには、JavaScript 内のパラメータの名前を使用します。

JavaScript の書き込み

  1. "スクリプト"
    を選択します。
  2. 既存のテンプレートを選択して変更するか、
    "新規スクリプト"
    を選択して独自に作成します。
  3. 以下の CCDS API を使用して、ローダで実行する JavaScript を書き込みます。 ai 名前空間
  4. スクリプトに必要なものが含まれていることを確認します。
  5. "デザイナー設定" で作成したパラメータを名前で参照します。
  6. スクリプトを保存します。
キーボード ショートカットの
CTRL + Shift + B
を使用して、エディタでスクリプトの書式を設定し、整えることができます。
Ctrl+H
を押すと、検索と置換が起動します。
長いスクリプトを複数のファイルに分離することにより、メンテナンスを簡単にできます。
例: たとえば、
testConnection
と呼ばれる 1 つのスクリプト内のロジック
testconnectionscript
。という 2 つ目のスクリプト
exportdatascript
、次のすべてを含めることができます:
exportData
ロジック
同じ関数が複数のスクリプトで宣言されている場合、最後に追加されたスクリプトからのものが使用されます。

カスタム クラウド ローダ スクリプトにおける OAuth の使用

カスタム クラウド ローダの "認証情報が必要" を選択した場合、スクリプトに以下が含まれている必要があります:
ai.https.authorizedRequest.
OAuth 認証情報を作成する方法については 、OAuth を使用した認証を 参照してください。
認証情報を参照してカスタム クラウド ローダを実行する場合は、以下のようにする必要があります。
  1. ローダを実行する前に
    "認証をリクエスト"
    を選択します。
  2. 適用範囲など、外部システムのエンドポイントに必要な追加の認証情報を入力します。
  3. "接続テスト"
    を選択して、OAuth 認証情報がエンドポイントに正常に送信されたことを確認します。
  4. 認証ステータスの認証日およびユーザー ID を記録します。認証の有効期限は、外部システムにより異なります。"アクション" パネルの "認証のリセット" を選択して、必要に応じて再認証を行います。

ビジネス ルールの定義

ビジネス ルールを使用して、外部システムにエクスポートするステージング データを制限する SQL 式を作成できます。フィルタ基準を満たすレコードのみがロードされます。
"ビジネス ルール" タブには、SQL を入力するためのテキスト領域が含まれています。
  1. "ビジネス ルール"
    タブを選択します。
  2. "編集"
    を選択します。
  3. SQL 式を入力します。"使用できる列" でアイテムをクリックすると、タイピングせずに、その列を SQL 式に持ってくることができます。
  4. "適用"
    を選択して、構文を確認します。エラーが発生すると、式を囲む線が赤に変わります。式の上にマウスを合わせて、構文エラー情報を確認します。
  5. 構文のエラーを修正し、
    "適用"
    を選択します。SQL 式に一致するステージング行のみがロードされます。

インテグレーション タスクにカスタム クラウド ローダを含める

カスタム クラウド ローダは、インテグレーション タスクとして実行する必要があります。どの場合でも 1 つまたは複数のローダを含めることができます。他のインテグレーション タスクおよびローダを 1 つのタスクに含めることもできます。参照 インテグレーション タスクの作成
ベスト プラクティス: 各ローダに個別のインテグレーション タスクを持たせます。
1 つのタスクに複数のローダが含まれている場合は、タスクの実行時に各ローダのパラメータが表示されます。タスク内のローダで共通/共有パラメータが使用されている場合、タスクがパラメータの入力を求めるのは 1 回だけです。パラメータ プロンプトのオーバーライドを選択できます。
スケジュールに基づいて実行されるタスクの場合、ローダが作成された際に保存されたパラメータのデフォルト値が使用されます。

サンプル CCL スクリプト

下記の例を使って、スプレッドシートのデータをエクスポートして表示するために、AWS S3 インスタンスに接続します。バケット名、キー、アクセス キー、秘密キー、地方値が必要になります。詳細とコードの例については、ai.awss3 を参照してください。
  1. スプレッドシート データ ソースを設定します。
  2. "ローダ"
    ペインで、新規カスタム クラウド ローダを作成します。
  3. "データ ソース設定"
    タブに移動して、
    "ソース テーブル"
    フィールドでスプレッドシートのデータ ソースを選択します。
  4. "スクリプト"
    タブで、以下のサンプル スクリプトをコピーします。
    // Manually invoke this method via 'Test connection' function testConnection(context) { return true; } // Manually invoke this method via 'Run manually' function exportData(context) { //"xxx" is the name of your Amazon S3 bucket. var bucketName = 'xxx'; //Name of the sample CSV file to which data from your spreadsheet data source is exported var key = 'exampleTest.csv'; //"xxxx" is the access key for your AWS S3 bucket. var awsAccessKey = 'xxxx'; //"xxxx" is the secret key of your AWS S3 bucket. var awsSecretKey = 'xxxx'; var region = 'us-west-1'; // Step 1: Get the data var reader = context.createTableReader(); // Step 2: Process and export the data var result = "Column,Heading,Names\n"; var row = null; while ((row = reader.readRow()) !== null) { // remove meta columns we don't need row.length = row.length - 2; result += row.join() + '\n'; } ai.awss3.putFile(bucketName, key, result, region, awsAccessKey, awsSecretKey); }
  5. "アクション"
    ペインで
    "保存"
    を選択します。
  6. スクリプトを実行するには、
    "アクション"
    ペインで
    "手動で実行"
    を選択します。