変数
変数は、統合のタスク、トリガー、エッジとの間でデータの保持と転送を行う統合の要素です。
- 変数は、設計時に静的に定義するだけでなく、ランタイム時にインテグレーションへ動的に渡すこともできます。
- 変数は、インテグレーション内の他の変数を参照できます。
- 変数は、すべてのタスクに対してグローバルにアクセス可能か、特定のタスクに対してローカルでアクセス可能です。
変数
Application Integration では、変数はさまざまな場所で設定または初期化されます。
- 構成変数: 設計時に設定して、インテグレーションの構成データを保存します。たとえば、この機能を使用して、統合にメールアドレスをハードコードするのではなく、通知の宛先メールアドレスを設定できます。
- システム変数: インテグレーションの構成データを保存するためにシステムによって自動的に生成されます。たとえば、
ExecutionId変数には統合の実行 ID が格納されます。 - インテグレーション変数: インテグレーションで明示的に設定され、インテグレーション実行の全体でデータを追跡します。たとえば、タスクの結果を格納する変数を設定し、後続のタスクで使用できます。
- タスク変数: 特定のタスクを実行してタスクの出力を保存することで、暗黙的に設定されます。たとえば、REST エンドポイントの呼び出しタスクでは、REST エンドポイントのレスポンス本文を格納するように
responseBody変数が設定されます。タスク変数は、自動生成変数とも呼ばれます。自動生成された変数には、変数名をバッククォートで囲むという特別な命名規則があります。
統合変数
入力変数と出力変数を含む統合変数は、プログラミング言語で使用される変数と似ています。統合の実行中に、変数内のデータの読み取りと書き込みを行うことができます。
統合変数は次のように使用できます。
- インテグレーションの入力(入力変数)として取り込みます。
- 統合の出力(出力変数)として返されます。
- 統合の実行中に一時的な状態を保持するために使用されます。
変数を入力変数としてマークすると、インテグレーションがトリガーされたときに変数の値が提供されることが想定されます。入力変数の値は、インテグレーションの実行中に変更できます。
変数を出力変数としてマークすると、変数の最終値がインテグレーションのレスポンスの一部として返されることを示します。
インテグレーションでは、変数の値を静的に定義する必要はありません。トリガーを使用して変数の値をインテグレーションに渡すことができます。ただし、統合で変数が静的に定義され、同じ変数がトリガーで動的に指定されている場合、動的値の割り当てによって静的割り当てが上書きされます。
サポートされるデータタイプ
統合変数では、次のデータ型がサポートされています。
- 文字列と文字列配列
- 整数と整数配列
- Double と Double 配列
- ブール値とブール値配列
- JSON
タスク変数
タスク変数は、タスク用に事前に定義された事前生成の変数です。タスクに出力がある場合、そのような出力はすべてタスク変数で使用できます。タスク変数を削除または編集することはできません。タスク変数は、自動生成変数とも呼ばれます。
タスク変数の固有名は、特別な命名規則に従います。変数名をバッククォートで囲み、タスク ID を含めます。形式は `<Task ID>_<Variable Name>` です。
たとえば、REST エンドポイントの呼び出しタスクには、レスポンス本文の出力があります。このタスクの ID が Task_5 の場合、レスポンス本文の一意のタスク変数名は `Task_5_responseBody` です。
[変数] ペインでは、タスク変数が共通の出力名(responseBody など)で表示されることがあります。この場合、タスク ID やバッククォートは表示されません。参照に必要な完全な一意の変数名を確認するには、ペイン内の変数をクリックして、右側のパネルで詳細を表示します。
構成変数
構成変数を使用すると、インテグレーションの構成を外部化できます。構成変数を使用すると、開発環境(QA、ステージング、本番環境など)に基づいて、コネクタの詳細、認証の詳細、URL エンドポイントなど、インテグレーションの要素を設定できます。インテグレーションを新しい環境にアップロードする前に、インテグレーションを手動で更新する必要はありません。Application Integration では、統合を公開するときに構成変数の値を入力できます。
インテグレーションで定義された構成変数を表示して編集するには、[変数] ペインで variable_add [インテグレーション構成変数] をクリックします。構成変数を作成して使用する方法については、チュートリアル統合用の CICD をビルドするをご覧ください。
システム変数
システム変数は、統合を作成すると自動的に生成されます。これらの変数は、インテグレーション タスクで使用したり、エラーを処理するために使用したりできます。この統合には、次のシステム生成変数が含まれています。
ErrorInfo: 実行が失敗した場合は、ErrorInfo変数を使用してエラーの詳細にアクセスできます。{ "ErrorInfo": { "message": String, "code": Number } }エラー メッセージにアクセスするには、
ErrorMessageという名前の統合変数を作成します。ただし、システム生成のErrorInfo.message変数を使用してエラー メッセージにアクセスすることをおすすめします。ExecutionMode: トリガーに基づく実行モード。有効な値は SYNC と ASYNC です。ExecutionId: 統合の実行 ID。IntegrationName: 統合の名前。Region: 統合のリージョン。ProjectId: インテグレーションを含むプロジェクトの ID。
変数を表示する
[変数] ペインを使用して、インテグレーションの変数を作成、編集、表示、複製、削除できます。[変数] ペインには、インテグレーション内の変数参照の合計数も表示されます。
[変数] ペインを表示するには、デザイナーのナビゲーション バーで (切り替えパネル)をクリックします。
次の図は、[変数] ペインのサンプル レイアウトを示しています。
構成変数の表示と編集
インテグレーションで定義された構成変数を表示するには、[変数] ペインで variable_add 統合構成変数をクリックします。[構成変数] ペインが開き、統合で定義されているすべての構成変数が表示されます。[値] フィールドをクリックするだけで、構成変数の値を編集できます。
次の図は、[構成変数] ペインのサンプル レイアウトを示しています。
変数を作成する
変数を作成するには、次の手順を行います。
- インテグレーション エディタのナビゲーション バーで、(切り替えパネル)をクリックして、[変数] ペインを開きます。
- [+ 作成] をクリックします。
- [変数の作成] ペインで、次の操作を行います。
- 名前: 変数の名前を入力します。
- Variable Type: 変数の種類を選択します。
- 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サポートされているデータ型については、サポートされているデータ型をご覧ください。
- デフォルト値: 変数のデフォルト値を入力します。このフィールドは省略できます。
- スキーマ: 変数の JSON スキーマを選択します。
- Infer from a sample JSON payload: サンプル JSON ペイロードから JSON スキーマを生成します。サンプル ペイロードは、スキーマの生成後に破棄されます。 生成されたスキーマのみが保存されます。
- JSON スキーマを入力: JSON スキーマ全体を手動で入力します。
- デフォルト値から推測する: 指定されたデフォルト値を使用して JSON スキーマを生成します。
- None: JSON スキーマなし。
- Mask the variable in log(プレビュー): インテグレーション実行ログで変数のマスキングを有効にするには、このオプションを選択します。変数のマスキングを有効にするには、インテグレーションとリージョンでマスキング変数を有効にする必要があります。インテグレーションとリージョンのマスキングを有効にする方法については、インテグレーションを編集するとリージョンを編集するをご覧ください。
マスキングについては、ログ内のセンシティブ データをマスクするをご覧ください。
データ型 説明 なし インテグレーション内のローカル変数。 Config variable for Integration インテグレーション内の構成変数。 統合への入力 実行時に、この変数は実行されるトリガーへの入力として提供されます。 統合からの出力 実行終了時の変数の最終値は、インテグレーションの呼び出し元に出力する必要があります。 Input and Output of Integration 実行時に、この変数は実行されたトリガーへの入力として提供され、その最終値がインテグレーションの呼び出し元に出力されます。 - [作成] をクリックします。
インテグレーションでの変数の仕組み
インテグレーションの実行中、インテグレーションまたはタスクに対して宣言された変数としてランタイム データが渡されます。実行が開始されると、入力データはイベントというメモリ内オブジェクトに変換されます。
イベント オブジェクトが作成されると、統合定義を使用してタスクのメモリ内グラフが作成されます。受信した変数の値は、構成に基づいてタスクに渡されます。統合が実行されるとタスクがデータを読み取り、後続のタスクで使用する際または統合の出力データを作成する際に、イベント オブジェクトにデータを書き戻します。
次の表に、さまざまな種類の変数とその動作をまとめます。
| 変数タイプ | 説明 | 動作 | 例 |
|---|---|---|---|
| 構成変数 | インテグレーションの構成データを保存します。 | 設計時に設定され、インテグレーションの公開時に編集できます。 | 通知の宛先メールアドレス。 |
| システム変数 | システムによって自動的に生成されます。 | 読み取り専用で、編集できません。 | ExecutionId 変数。 |
| 統合変数 | 統合実行の全体でデータを追跡します。 | インテグレーションで明示的に設定され、インテグレーションの実行中に編集できます。 | タスクの結果を格納する変数。 |
| タスク変数 | 特定のタスクの出力を保存します。 | タスクの実行によって暗黙的に設定され、編集できません。 | REST エンドポイントの呼び出しタスクの responseBody 変数。 |
変数参照
統合のタスク、トリガー、エッジは、変数参照を使用して変数への読み書きを行います。変数参照は $paramKey$ の形式を取ります。ここで、paramKey は変数の名前です。
$isNameUnique$ = true AND $numAccounts$ >= 1
次に例を示します。
- エッジ条件は次のようになります。
$isNameUnique$ = true AND $numAccounts$ >= 1
この例では、
isNameUniqueはデータ型ブール値の変数で、numAccountsはデータ型整数値のパラメータです。 - アプリケーション統合ワークフロー内で、新しいユーザー登録のメール通知を作成できます。2 つの変数があるとします。
$userName$: 新しいユーザーの名前(「Alex」)。$orderID$: 一意の注文 ID(例: 「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_5 の REST エンドポイントの呼び出しタスクの responseBody 出力を参照するには、$`Task_5_responseBody`$ を使用する必要があります。
割り当てと上限
割り当てと上限については、割り当てと上限をご覧ください。
次のステップ
- 統合用の CI/CD を構築する方法を学習します。
- ログ内のセンシティブ データをマスクする方法を学習する。
- データ マッピング タスクを追加して構成する