ストアド プロシージャを実行する
この例では、データベース接続を使用しているときにストアド プロシージャを実行する方法を示します。 この例では、次のコンセプトを理解していることを前提としています。
- Application Integration を使用して統合を作成する
- コネクタタスク
- インテグレーション コネクタ
- データベース ストアド プロシージャ
データベース接続内のすべてのストアド プロシージャは、コネクタタスクのアクションとして公開されます。アクションは、コネクタ インターフェースを介して統合で使用できる最初のクラス関数です。アクションは、それを使用することで 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
の値が表示されます。すべてのストアド プロシージャは、[Actions] に表示されます。 - [Actions] > [get_customer_info] を選択します。
- [完了] をクリックして接続の構成を完了し、ペインを閉じます。
- [接続] 列で、使用可能な接続のリストから必要な接続を選択します。
Connectors
タスク要素をクリックし、Task Input
セクションでconnectorInputPayload
をクリックします。Default Value
フィールドに次の JSON ペイロードを指定します。{ "customer_id": 1001 }
- 統合エディタのツールバーで、[Test] ボタンをクリックして統合を実行します。
統合が正常に実行されると、
connectorOutputPayload
Vairable は次のような JSON ペイロードを持ちます。{ "name": "John", "email": "john@test.com" }