変数

変数は、統合のタスク、トリガー、エッジとの間でデータの保持と転送を行う統合の要素です。

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

変数

Application Integration では、変数はさまざまな場所で設定または初期化されます。

  • 構成変数: 設計時に設定され、インテグレーションの構成データを保存します。たとえば、インテグレーションにメールアドレスをハードコードするのではなく、これを使用して通知の宛先メールアドレスを設定できます。
  • システム変数: インテグレーションの構成データを保存するために、システムによって自動的に生成されます。たとえば、ExecutionId 変数にはインテグレーションの実行 ID が格納されます。
  • インテグレーション変数: インテグレーションで明示的に設定され、インテグレーション実行の全体でデータを追跡します。たとえば、タスクの結果を保存する変数を設定し、後続のタスクで使用できます。
  • タスク変数: 特定のタスクを実行して暗黙的に設定され、タスクの出力を保存します。たとえば、Call REST Endpoint タスクは、REST エンドポイントのレスポンス本文を保存するように responseBody 変数を設定します。タスク変数は、自動生成変数とも呼ばれます。 自動生成変数には、変数名をバッククォートで囲むという特別な命名規則があります。

統合変数

統合変数(入力変数と出力変数を含む)は、プログラミング言語で使用される変数と似ています。インテグレーションの実行中に、変数内のデータを読み取り、書き込みできます。

統合変数は次のように使用できます。

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

変数を入力変数としてマークすると、インテグレーションがトリガーされたときに変数の値 が提供されることが想定されます。入力変数の値は、インテグレーションの実行中に 変更できます。

変数を出力変数としてマークすると、変数の最終値がインテグレーションのレスポンスの一部として返されることを示します。

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

サポートされるデータタイプ

統合変数では、次のデータ型がサポートされています。

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

タスク変数

タスク変数は、タスク用に事前に定義された事前生成の変数です。タスクに出力がある場合、そのような 出力はすべてタスク変数で使用できます。タスク変数を削除または編集することはできません。 タスク変数は、自動生成変数とも呼ばれます。

タスク変数の一意の名前には、特別な命名規則があります。変数名をバッククォートで囲み、タスク ID を含めます。形式は `<Task ID>_<Variable Name>` です。

たとえば、Call REST Endpoint タスクにはレスポンス本文の出力があります。このタスクの ID が Task_5 の場合、レスポンス本文の一意のタスク変数名は `Task_5_responseBody` です。

[変数] ペインでは、タスク変数は、タスク ID やバッククォートなしで、responseBody などの共通の出力名で一覧表示されることがあります。参照に必要な完全で一意の変数名を確認するには、ペインで変数をクリックし、右側のパネルで詳細を表示します。

構成変数

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

インテグレーションで定義されている構成変数を表示して編集するには、[**変数**] ペインで [ variable_add インテグレーション構成変数] をクリックします。構成変数を作成して使用する方法については、チュートリアル統合用の CICD をビルドするをご覧ください。

システム変数

システム変数は、インテグレーションを作成すると自動的に生成されます。 これらの変数は、インテグレーションタスクで使用してエラーを処理できます。インテグレーションには、次のシステム生成変数が含まれています。

  • ErrorInfo: 実行が失敗した場合は、ErrorInfo 変数を使用してエラーの詳細にアクセスできます。
    {
      "ErrorInfo": {
      "message": String,
      "code": Number
      }
    }
    

    インテグレーション変数という名前のErrorMessageを作成して、エラー メッセージにアクセスできます。ただし、エラー メッセージにアクセスするには、システム生成の ErrorInfo.message 変数を使用することをおすすめします。

  • ExecutionMode: トリガーに基づく実行モード。有効な値は SYNCASYNC です。
  • ExecutionId: 統合の実行 ID。
  • IntegrationName: 統合の名前。
  • Region: 統合のリージョン。
  • ProjectId: インテグレーションを含むプロジェクト ID。

変数を表示する

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

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

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

統合のデザイナー変数 統合のデザイナー変数

構成変数を表示して編集する

インテグレーションで定義されている構成変数を表示するには、[変数] ペインで variable_add [インテグレーション構成変数] をクリックします。インテグレーションで定義されているすべての構成変数が表示される [構成変数] ペインが表示されます。[] フィールドをクリックするだけで、構成変数の値を編集できます。

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

統合構成変数 統合構成変数

変数を作成する

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

  1. インテグレーション エディタのナビゲーション バーで、(切り替えパネル)をクリックして、[**変数**] ペインを開きます。
  2. [+ 作成] をクリックします。
  3. [変数の作成] ペインで、次の操作を行います。
    1. 名前: 変数の名前を入力します。
    2. Variable Type: 変数の種類を選択します。
    3. データ型 説明
      なし インテグレーション内のローカル変数。
      Config variable for 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. [作成] をクリックします。

インテグレーションでの変数の仕組み

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

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

次の表に、さまざまな種類の変数とその動作をまとめます。

変数タイプ 説明 行動
構成変数 インテグレーションの構成データを保存します。 設計時に設定され、インテグレーションを公開するときに編集できます。 通知の宛先メールアドレス。
システム変数 システムによって自動的に生成されます。 読み取り専用で、編集できません。 ExecutionId 変数。
統合変数 インテグレーション実行の全体でデータを追跡します。 インテグレーションで明示的に設定され、インテグレーションの実行中に編集できます。 タスクの結果を保存する変数。
タスク変数 特定のタスクの出力を保存します。 タスクを実行して暗黙的に設定され、編集できません。 Call REST Endpoint タスクの responseBody 変数。

変数参照

インテグレーションのタスク、トリガー、エッジは、変数参照 を使用して変数への読み書きを行います。変数参照は $paramKey$ の形式で、paramKey は変数の名前です。

$isNameUnique$ = true AND $numAccounts$ >= 1

次に例を示します。

  • エッジ条件は次のようになります。
    $isNameUnique$ = true AND $numAccounts$ >= 1

    この例では、isNameUnique はデータ型 ブール値 の変数で、 numAccounts はデータ型 整数値 のパラメータです。

  • Application Integration ワークフロー内で、新しいユーザー登録のメール通知を作成できます。次の 2 つの変数があるとします。

    • $userName$: 新しいユーザーの名前(「Alex」など)を保持します。
    • $orderID$: 一意の注文識別子(「ORD-12345」など)を保持します。

    メールの本文のテンプレートは次のようになります。

    Hello $userName$, thank you for your order! Your order ID is $orderID$.

    このメッセージが送信されると、システムは変数参照を対応する値に置き換えます。 最終的なメッセージは次のようになります。

    Hello Alex, thank you for your order! Your order ID is ORD-12345.

変数参照は次の場所で使用できます。

自動生成変数またはタスク変数を参照する場合は、ドル記号の区切り文字内で、バッククォートとタスク ID を含む完全で一意の名前を使用する必要があります。たとえば、ID が Task_5Call REST Endpoint タスクの responseBody 出力を参照するには、$`Task_5_responseBody`$ を使用する必要があります。

割り当てと上限

割り当てと上限については、割り当てと上限をご覧ください。

次のステップ