ストアド プロシージャを実行する
この例では、データベース接続の使用時にストアド プロシージャを実行する方法を示します。 この例では、次のコンセプトを理解していることを前提としています。
- Application Integration を使用した統合の作成
- コネクタタスク
- Integration Connectors
- データベースのストアド プロシージャ
データベース接続内のすべてのストアド プロシージャは、コネクタタスクでアクションとして公開されます。アクションは、コネクタ インターフェースを介して統合で使用できる最初のクラス関数です。アクションは、それを使用することで 1 つまたは複数のエンティティに対して変更を加えることができ、またコネクタごとに異なるものです。ただし、コネクタがどのアクションもサポートしていない可能性があります。その場合は、Actions
リストが空になります。
ストアド プロシージャをサポートするコネクタは次のとおりです。
- BigQuery
- Cloud SQL - MySQL
- Cloud SQL - PostgreSQL
- Cloud SQL - SQL Server
- MySQL
- Oracle DB
- PostgreSQL
- SQL Server
- MariaDB
- AlloyDB
- Snowflake
- Redshift
例
customers
テーブルから顧客の情報を取得する次のストアド プロシージャを含む MySQL データベースがあるとします。
CREATE PROCEDURE get_customer_info (IN p_customer_id INT, OUT p_name VARCHAR(50), OUT p_email VARCHAR(255)) BEGIN SELECT name, email INTO p_name, p_email FROM customers WHERE id = p_customer_id; END
このストアド プロシージャは、指定された顧客の名前とメールアドレスを返します。これは p_customer_id
入力変数を介してお客様 ID を取得し、p_name
と p_email
の出力変数でそれぞれ名前とメールアドレスを返します。
ここで、customer_id=1001
を使用して顧客の名前とメール ID を取得する場合、次のタスクを行う必要があります。
- MySQL データベースへの接続を作成します。
- 新しい統合を開くか、作成します。
- 統合に Connectors タスクを追加します。
- [設定] セクションで [タスクを設定] をクリックして、[コネクタ タスクを設定] ペインを開きます。
- 手順 1 で作成した接続を使用するように Connectors タスクを構成します。
- [接続] 列で、使用可能な接続のリストから必要な接続を選択します。
接続を選択すると、[タイプ] 列に
Entities
とActions
の値が表示されます。すべてのストアド プロシージャが [アクション] に表示されます。 - [アクション] > [get_customer_info] を選択します。
- [完了] をクリックして接続の構成を完了し、ペインを閉じます。
- [接続] 列で、使用可能な接続のリストから必要な接続を選択します。
Connectors
タスク要素をクリックし、[Task Input
] セクションの [connectorInputPayload
] をクリックします。Default Value
フィールドに次の JSON ペイロードを指定します。{ "customer_id": 1001 }
- 統合エディタのツールバーで、[Test] ボタンをクリックして統合を実行します。
統合が正常に実行されると、
connectorOutputPayload
変数 には、次のような JSON ペイロードが含まれます。{ "name": "John", "email": "john@test.com" }