Apigee Integration での変数の使用

変数は、インテグレーションのタスク、トリガー、エッジとの間でデータを保持と転送を行うインテグレーションの要素です。

  • 変数は、設計時に静的に定義するだけでなく、ランタイム時にインテグレーションへ動的に渡すこともできます。
  • 変数は、インテグレーション内の他の変数を参照できます。
  • 変数は、すべてのタスクに対してグローバルにアクセス可能か、特定のタスクに対してローカルでアクセス可能です。

次の 3 種類の変数を利用できます。

インテグレーション変数

インテグレーション変数は、プログラミング言語で使用される変数と似ています。インテグレーションの実行中に、変数内のデータの読み取りと書き込みを行うことができます。

インテグレーション変数は次のように使用できます。

  • インテグレーションの入力(入力変数)として取り込みます。
  • インテグレーションの出力(出力変数)として返されます。
  • インテグレーションの実行中に一時的な状態を保持するために使用されます。

インテグレーションでは、変数の値を静的に定義する必要はありません。トリガーを使用して変数の値をインテグレーションに渡すことができます。ただし、インテグレーションで変数が静的に定義され、同じ変数がトリガーで動的に指定されている場合、動的値のアサインメントによって静的アサインメントが上書きされます。

インテグレーション変数でサポートされているデータ型

インテグレーション変数では、次のデータ型がサポートされています。

  • 文字列と文字列配列
  • 整数と整数配列
  • Double と Double 配列
  • ブール値とブール値配列
  • JSON

タスク変数

タスク変数は、タスク用に事前に定義された事前生成の変数です。タスクに出力がある場合、そのような出力はすべてタスク変数で使用できます。タスク変数を削除または編集することはできません。たとえば、Call REST Endpoint タスクでは、レスポンスの本文が responseBody 変数に格納されます。

構成変数

構成変数を使用すると、インテグレーションの構成を外部化できます。構成変数を使用すると、開発環境(QA、ステージング、本番環境)に基づいて、コネクタの詳細、認証の詳細、URL エンドポイントなど、インテグレーションの要素を設定できます。インテグレーションを新しい環境にアップロードする前に、インテグレーションを手動で更新する必要はありません。Application Integration では、インテグレーションを公開するときに構成変数の値を入力できます。

構成変数を作成して使用する方法については、チュートリアル統合用の CICD をビルドするをご覧ください。

変数を表示する

[変数] ペインを使用して、インテグレーションの変数を作成、編集、表示、複製、削除できます。[変数] ペインには、インテグレーション内の変数参照の合計数も表示されます。

[変数] ペインを表示するには、デザイナーのナビゲーション バーで、(切り替えパネル)をクリックします。

次の図は、[変数] ペインのサンプル レイアウトを示しています。

インテグレーション デザイナーの変数 インテグレーション デザイナーの変数

変数を作成する

変数を作成するには、次の手順を行います。

  1. インテグレーション エディタのナビゲーション バーで、(パネル切り替え)をクリックして [変数] ペインを開きます。
  2. [+ 作成] をクリックします。
  3. [変数の作成] ペインで、次の操作を行います。
    1. 名前: 変数の名前を入力します。
    2. Variable Type: 変数の種類を選択します。
    3. データ型 説明
      なし インテグレーション内のローカル変数。
      Config variable for Integration インテグレーション内の構成変数
      Input to Integration 実行時に、この変数は実行されるトリガーへの入力として提供されます。
      Output from Integration 実行終了時の変数の最終値は、インテグレーションの呼び出し元に出力する必要があります。
      Input and Output of Integration 実行時に、この変数は実行されたトリガーへの入力として提供され、その最終値がインテグレーションの呼び出し元に出力されます。
    4. Data Type: 変数のデータ型を選択します。変数名の横にあるアイコンから、変数のデータ型を確認できます。
      データ型
      文字列 Alex
      整数 30
      double 型 30.5
      ブール値 true
      JSON { "employee":{"name":"Alex", "age":30, "city":"Mountain View"} }
      文字列配列 Alex, Kai, Raha
      整数配列 30, 25, 22
      double 配列 30.5, 25.34, 22.134
      ブール値配列 true, false, false

      サポートされているデータ型については、サポートされているデータ型をご覧ください。

    5. デフォルト値: 変数のデフォルト値を入力します。このフィールドは省略できます。
    6. スキーマ: 変数の JSON スキーマを選択します。
      • Infer from a sample JSON payload: サンプル JSON ペイロードから JSON スキーマを生成します。サンプル ペイロードは、スキーマの生成後に破棄されます。 生成されたスキーマのみが保存されます。
      • JSON スキーマを入力: JSON スキーマ全体を手動で入力します。
      • デフォルト値から推測する: 指定されたデフォルト値を使用して JSON スキーマを生成します。
      • None: JSON スキーマなし。
    7. Mask the variable in log(プレビュー): インテグレーション実行ログで変数のマスキングを有効にするには、このオプションを選択します。変数のマスキングを有効にするには、インテグレーションとリージョンでマスキング変数を有効にする必要があります。インテグレーションとリージョンのマスキングを有効にする方法については、インテグレーションを編集するリージョンを編集するをご覧ください。

      マスキングについては、ログ内の機密データをマスクするをご覧ください。

  4. [作成] をクリックします。

インテグレーションでの変数データの使用

インテグレーションの実行中、インテグレーションまたはタスクに対して宣言された変数としてランタイム データが渡されます。実行が開始されると、入力データはイベントというメモリ内オブジェクトに変換されます。

イベント オブジェクトが作成されると、統合定義を使用してタスクのメモリ内グラフが作成されます。受信した変数の値は、構成に基づいてタスクに渡されます。インテグレーションが実行されるとタスクがデータを読み取り、後続のタスクで使用する際またはインテグレーションの出力データを作成する際に、イベント オブジェクトにデータを書き戻します。