SAP ASE(Sybase)
Sybase コネクタを使用すると、Sybase に対して挿入、削除、更新、読み取りオペレーションを実行できます。
始める前に
Sybase コネクタを使用する前に、次の作業を行います。
- Google Cloud プロジェクトで次の操作を行います。
- ネットワーク接続が設定されていることを確認します。ネットワーク パターンの詳細については、Network Connectivity をご覧ください。
- コネクタを構成するユーザーに roles/connectors.admin IAM ロールを付与します。
- コネクタに使用するサービス アカウントに、次の IAM ロールを付与します。
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
サービス アカウントは特別なタイプの Google アカウントで、Google API のデータにアクセスするのに認証を受ける必要がある人間以外のユーザーを表します。サービス アカウントがない場合は、サービス アカウントを作成する必要があります。詳細については、サービス アカウントを作成するをご覧ください。
- 次のサービスを有効にします。
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(Connectors API)
サービスを有効にする方法については、サービスを有効にするをご覧ください。
以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときにそれを有効にすることを求められます。
コネクタを構成する
コネクタを構成するには、データソース(バックエンド システム)への接続を作成する必要があります。接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。
- Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。
- [+ 新規作成] をクリックして [接続の作成] ページを開きます。
- [ロケーション] セクションで、接続のロケーションを選択します。
- リージョン: プルダウン リストからロケーションを選択します
コネクタをサポートしているリージョンは次のとおりです。
サポートされているすべてのリージョンの一覧については、ロケーションをご覧ください。
- [次へ] をクリックします。
- リージョン: プルダウン リストからロケーションを選択します
- [接続の詳細] セクションで、次の操作を行います。
- コネクタ: 使用可能なコネクタのプルダウン リストから [Sybase] を選択します。
- コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
- [接続名] フィールドに、接続インスタンスの名前を入力します。
接続名は次の条件を満たす必要があります。
- 接続名には英字、数字、ハイフンを使用できます。
- 文字は小文字のみを使用できます。
- 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
- 接続名は 49 文字以内で指定してください。
- 必要に応じて、接続インスタンスの [説明] を入力します。
- サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
- 必要に応じて、接続ノードの設定を構成します。
- ノードの最小数: 接続ノードの最小数を入力します。
- ノードの最大数: 接続ノードの最大数を入力します。
ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。
- データベース: Sybase データベースの名前。
- 必要に応じて、[+ ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
- [次へ] をクリックします。
- [宛先] セクションに、接続するリモートホスト(バックエンド システム)の詳細を入力します。
- 宛先タイプ: 宛先の詳細は、ホストアドレスまたはサービス アタッチメントとして指定できます。次のいずれかの宛先タイプを選択します。
- ホストアドレス: 宛先のホスト名または IP アドレスを指定する場合。
- サービス アタッチメント: 内部 IP アドレスのプライベート エンドポイントを指定する場合。サービス アタッチメントを使用すると、外部ネットワークから内部 IP アドレスを非表示にできます。Private Service Connect 機能を使用して、Google Cloud でサービス アタッチメントを作成できます。Private Service Connect の構成については、マネージド サービスを公開するをご覧ください。
選択した宛先タイプに基づいて、ホストアドレスまたはサービス アタッチメント名を入力します。
他の宛先を入力するには、[+ 宛先を追加] をクリックします。
- [次へ] をクリックします。
- 宛先タイプ: 宛先の詳細は、ホストアドレスまたはサービス アタッチメントとして指定できます。次のいずれかの宛先タイプを選択します。
-
[認証] セクションで、認証の詳細を入力します。
- [認証タイプ] を選択し、関連する詳細を入力します。
Sybase 接続でサポートされる認証タイプは、次のとおりです。
- ユーザー名とパスワードを指定する
- [次へ] をクリックします。
これらの認証タイプの構成方法については、認証を構成するをご覧ください。
- [認証タイプ] を選択し、関連する詳細を入力します。
- Review: 接続と認証の詳細を確認します。
- [作成] をクリックします。
認証を構成する
使用する認証に基づいて詳細を入力します。
-
ユーザー名とパスワード
- ユーザー名: 認証に使用される Sybase ユーザー アカウント。
- パスワード: ユーザーの認証に使用されるパスワードを含む Secret Manager の Secret。
- シークレットのバージョン: パスワードを含むシークレットのバージョン。
エンティティ、オペレーション、アクション
すべての Integration Connectors が、接続されたアプリケーションのオブジェクトを抽象化するレイヤを提供します。アプリケーションのオブジェクトには、この抽象化を通じてのみアクセスできます。抽象化は、エンティティ、オペレーション、アクションとして公開されます。
- エンティティ: エンティティは、接続されているアプリケーションやサービスのオブジェクト、またはプロパティのコレクションと考えることができます。エンティティの定義は、コネクタによって異なります。たとえば、データベース コネクタでは、テーブルがエンティティであり、ファイル サーバー コネクタでは、フォルダがエンティティです。また、メッセージング システム コネクタでは、キューがエンティティです。
ただし、コネクタでいずれのエンティティもサポートされていない、またはエンティティが存在しない可能性があります。その場合、
Entities
リストは空になります。 - オペレーション: エンティティに対して行うことができるアクティビティです。エンティティに対して次のいずれかのオペレーションを行うことができます。
使用可能なリストからエンティティを選択すると、そのエンティティで使用可能なオペレーションのリストが生成されます。オペレーションの詳細については、コネクタタスクのエンティティ オペレーションをご覧ください。ただし、コネクタがいずれかのエンティティ オペレーションをサポートしていない場合、サポートされていないオペレーションは
Operations
リストに含まれません。 - アクション: コネクタ インターフェースを介して統合で使用できる主要な関数の一つです。アクションを使用すると、1 つまたは複数のエンティティに対して変更を加えることができます。また、使用できるアクションはコネクタごとに異なります。通常、アクションには入力パラメータと出力パラメータがあります。ただし、コネクタがどのアクションもサポートしていない可能性があります。その場合は、
Actions
リストが空になります。
システムの上限
Sybase コネクタは、ノードごとに 1 秒あたり 2 件のトランザクションを処理することができ、この上限を超えるトランザクションはすべてスロットルされます。デフォルトでは、Integration Connectors は、接続に 2 つのノードを割り当てます(可用性を高めるため)。
Integration Connectors に適用される上限の詳細については、上限をご覧ください。
ExecuteCustomQuery アクション
このアクションにより、カスタムクエリを実行できます。
カスタムクエリを作成する手順は次のとおりです。
- 詳細な手順に沿って、コネクタタスクを追加します。
- コネクタタスクを構成するときに、実行するアクションの種類で [Actions] を選択します。
- [Actions] リストで [Execute custom query] を選択し、[Done] をクリックします。
- [Task input] セクションを開き、次の操作を行います。
- [タイムアウト後] フィールドに、クエリが実行されるまで待機する秒数を入力します。
デフォルト値:
180
秒 - [最大行数]フィールドに、データベースから返される最大行数を入力します。
デフォルト値:
25
。 - カスタムクエリを更新するには、[Edit Custom Script] をクリックします。[Script editor] ダイアログが開きます。
- [Script editor] ダイアログで、SQL クエリを入力して [Save] をクリックします。
SQL ステートメントで疑問符(?)を使用して、クエリ パラメータ リストで指定する必要がある 1 つのパラメータを表すことができます。たとえば、次の SQL クエリは、
LastName
列に指定された値と一致するEmployees
テーブルからすべての行を選択します。SELECT * FROM Employees where LastName=?
- SQL クエリで疑問符を使用した場合は、各疑問符の [+ パラメータ名を追加] をクリックして、パラメータを追加する必要があります。統合の実行中に、これらのパラメータにより SQL クエリ内の疑問符(?)が順番に置き換わります。たとえば、3 つの疑問符(?)を追加した場合、3 つのパラメータを順番に追加する必要があります。
クエリ パラメータを追加する手順は次のとおりです。
- [Type] リストから、パラメータのデータ型を選択します。
- [値] フィールドに、パラメータの値を入力します。
- 複数のパラメータを追加するには、[+ クエリ パラメータを追加] をクリックします。
- [タイムアウト後] フィールドに、クエリが実行されるまで待機する秒数を入力します。
アクションが正常に実行されると、クエリ結果のあるレスポンスの本文でステータス 200(OK)を返します。
アクションの例
このセクションでは、このコネクタでいくつかのアクションを実行する方法について説明します。
例 - テーブルを作成する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。CREATE TABLE customqueries98( ID INT , NAME VARCHAR (20), AGE INT, City CHAR (25) , SALARY DECIMAL (18, 2) );
この例では、カスタムクエリを実行して新しいテーブルを作成します。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータに空のペイロードが返されます。
例 - テーブルを変更する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。ALTER TABLE customqueries98 ADD CONSTRAINT ID PRIMARY KEY (ID)
この例では、カスタムクエリを実行してテーブルを変更します。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータに空のペイロードが返されます。
例 - テーブルを切り捨てる
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。TRUNCATE TABLE customqueries99
この例は、カスタムクエリを実行してテーブルを切り捨てる方法を示しています。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータに空のペイロードが返されます。
例 - テーブルを削除する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。DROP TABLE customqueries99
この例では、カスタムクエリを実行してテーブルを削除します。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータに空のペイロードが返されます。
例 - SUM を検証する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。SELECT SUM(SALARY) as Total FROM EMPLOYEES
この例では、カスタムクエリを実行して集計関数の SUM を検証します。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Total": 7500.0 }]
例 - AVG を検証する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。SELECT AVG(SALARY) as Average FROM EMPLOYEES
この例では、カスタムクエリを実行して集計関数の AVG を検証します。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Average": 7500.0 }]
例 - MAX を検証する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。SELECT MAX(SALARY) as Max_Salary FROM EMPLOYEES
この例では、カスタムクエリを実行して集計関数の MAX を検証します。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Max_Salary": 7500.0 }]
例 - MIN を検証する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。SELECT MIN(SALARY) as Min_Salary FROM EMPLOYEES
この例では、カスタムクエリを実行して集計関数の MIN を検証します。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Min_Salary": 7500.0 }]
例 - COUNT を検証する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。select count(*) from EMPLOYEES
この例では、カスタムクエリを実行して集計関数のカウントを検証します。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "": 1.0 }]
例 - Join と GroupBy を使用する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。SELECT SmallMoney.amount, Sum(Testsybase.clone) AS Total FROM Testsybase INNER JOIN SmallMoney ON Testsybase.id = SmallMoney.id GROUP BY SmallMoney.amount;
この例では、結合と GroupBy を使用してカスタムクエリを実行します。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "amount": 1122.56, "Total": 14.0 }, { "amount": 123.4567, "Total": 11.0 }, { "amount": 1123.45, "Total": 13.0 }]
例 - 結合パラメータとクエリ パラメータを使用する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。SELECT e.payload,e.rest,ed.id FROM Testsybase e, Smallmoney ed where e.id=ed.id and ed.id=?
この例では、結合パラメータとクエリ パラメータを使用してカスタムクエリを実行します。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "payload": 5678.9, "rest": 13.6666, "id": 2.0 }]
例 - GroupBy、Having、Count を使用する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。select payload, count(payload) from Testsybase group by payload having count(payload)>=1
この例では、GroupBy、Having、Count を使用してカスタムクエリを実行します。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "payload": 1234.56, "": 1.0 }, { "payload": 2345.67, "": 1.0 }, { "payload": 4352.78, "": 1.0 }, { "payload": 6789.12, "": 1.0 }]
例 - 列キャスト、LIKE、その他の演算子を使用する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。select e.id,e.clone from Testsybase e where e.payload>10 and e.rest LIKE '%1%' AND e.id<>3 order by e.id;
この例は、列キャスト、LIKE、その他の演算子(<> など)を使用してカスタムクエリを実行する方法を示しています。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "id": 1.0, "clone": 10.0 }, { "id": 2.0, "clone": 99.0 }, { "id": 4.0, "clone": 14.0 }]
例 - 統合で入力を指定して関数を実行する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。SELECT dbo.MultiplyNumbers(5, 10) AS Result
この例は、統合で入力を指定して関数を実行するカスタムクエリの実行を示しています。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "Result": 50.0 }]
例 - 統合で入力を指定して関数を作成する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。CREATE FUNCTION MultiplyNumbersTest1 (@num1 INT, @num2 INT) RETURNS INT AS RETURN @num1 * @num2
この例は、統合で入力を指定して関数を作成するカスタムクエリの実行を示しています。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータに空のペイロードが返されます。
例 - 統合で入力を指定してプロシージャを実行する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [データ マッピング] セクションで、
Open Data Mapping Editor
をクリックし、Input
フィールドに次のような値を入力します。{ "@EmpID": 1.0 }
この例は、統合で入力を指定してプロシージャを実行するカスタムクエリの実行を示しています。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータの値は次のようになります。
[{ "EmpID": 1.0, "LastName": "Test", "FirstName": "Bcone", "Address": "Noida", "City": "UP" }]
例 - 統合で入力を指定してプロシージャを作成する
- [
Configure Connector
] ダイアログでRegion, Connection and Actions
を選択します。 - アクションから [
Execute Custom Query
] を選択し、[完了] をクリックします。 - [コネクタ] の [タスク入力] セクションで、
Edit Custom Script
をクリックし、Custom Query
フィールドに次のような値を入力します。CREATE PROCEDURE SelectAllEmployees2 @EmpID int AS SELECT * FROM Employees WHERE EmpID = @EmpID
この例は、統合で入力を指定してプロシージャを作成するカスタムクエリの実行を示しています。アクションが成功すると、Execute Custom Query
タスクの connectorOutputPayload
レスポンス パラメータに空のペイロードが返されます。
エンティティ オペレーションの例
このセクションでは、このコネクタでエンティティ オペレーションの一部を実行する方法について説明します。
例 - すべてのレコードを一覧表示する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
リストから [numbers_table] を選択します。- [
List
] オペレーションを選択し、[完了] をクリックします。
例 - エンティティからレコードを取得する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
リストから [numbers_table] を選択します。- [
Get
] オペレーションを選択し、[完了] をクリックします。 - エンティティ ID を「単一の numbers_table を取得」に設定します。エンティティ ID を設定するには、[データ マッピング] の [データ マッパー] セクションで [データ マッピング エディタを開く] をクリックし、[入力値] フィールドに
1.0
を入力し、EntityId をローカル変数として選択します。
例 - レコードを作成する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
リストから [numbers_table] を選択します。- [
Create
] オペレーションを選択し、[完了] をクリックします。 - [タスク] の [データ マッパー] セクションで、
OpenDataMapping
エディタをクリックし、field:
に次のような値を入力します。{ "bigint_column": 1.2345678901234516E16, "usmallint_column": 124.0, "numeric_column": 987.664, "real_column": 67.88999938964847, "uint_column": 125.0, "ubigint_column": 1.2345678901234516E16, "decimal_column": 124.459, "smallint_column": 16.0, "int_column": 125.0, "floatn_column": 154.45, "tinyint_column": 127.0, "id": 20.0 }
この例を実行すると、コネクタ タスクの
connectorOutputPayload
出力変数で次のようなレスポンスが返されます。{ "Success": true }
Example - Update a record
- In the
Configure connector task
dialog, clickEntities
. - Select numbers_table from the
Entity
list. - Select the
Update
operation, and then click Done. - Set the entity ID to Update a numbers_table. To set the entity ID, in
the Data mapper section of the Tasks, click entityId and
then enter
20.0
in the given field. - In the Data mapper section of the Task click
OpenDataMapping
editor and then enter a value similar to the following in thefield:
{ "uint_column": 128.0, "floatn_column": 154.95 }
この例を実行すると、成功した場合に空のペイロードが返されます。
例 - テーブルからデータを削除する
- [
Configure connector task
] ダイアログで、[Entities
] をクリックします。 Entity
リストから [numbers_table] を選択します。- [
Delete
] オペレーションを選択し、[完了] をクリックします。 - エンティティ ID を「numbers_table の削除」に設定します。エンティティ ID を設定するには、[データ マッピング] の [データ マッパー] セクションで [データ マッピング エディタを開く] をクリックし、[入力値] フィールドに
2.0
を入力し、EntityId をローカル変数として選択します。
統合で Sybase 接続を使用する
接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。
- Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
- Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
Google Cloud コミュニティの助けを借りる
Google Cloud コミュニティの Cloud フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。次のステップ
- 接続を一時停止して再開する方法を確認する。
- コネクタの使用状況をモニタリングする方法を確認する。
- コネクタログを表示する方法を確認する。