SAP ASE (Sybase)
Sybase 連接器可讓您在 Sybase 上執行插入、刪除、更新和讀取作業。
事前準備
使用 Sybase 連接器前,請先完成下列工作:
- 在 Google Cloud 專案中:
- 確認已設定網路連線。如要瞭解網路模式,請參閱「網路連線」。
- 將 roles/connectors.admin IAM 角色授予設定連接器的使用者。
- 將下列 IAM 角色授予要用於連接器的服務帳戶:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
服務帳戶是特殊的 Google 帳戶類型,主要用於代表需要驗證且必須取得授權才能存取 Google API 資料的非人類使用者。如果您沒有服務帳戶,請務必建立服務帳戶。詳情請參閱「建立服務帳戶」。
- 啟用下列服務:
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(連接器 API)
如要瞭解如何啟用服務,請參閱「啟用服務」。
如果先前未為專案啟用這些服務或權限,系統會在設定連接器時提示您啟用。
設定連接器
連線是特定資料來源的連線,也就是說,如果您有多個資料來源,則必須為每個資料來源建立個別的連線。如要建立連線,請按照下列步驟操作:
- 在 Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。
- 按一下「+ 建立新連線」,開啟「建立連線」頁面。
- 在「位置」部分,選擇連線的位置。
- 區域:從下拉式清單中選取位置。
支援的連接器地區包括:
如需所有支援地區的清單,請參閱「位置」一節。
- 點按「Next」。
- 區域:從下拉式清單中選取位置。
- 在「連線詳細資料」部分中,完成下列操作:
- 連接器:從可用連接器的下拉式清單中選取「Sybase」。
- 連接器版本:從可用版本的下拉式清單中選取連接器版本。
- 在「Connection Name」欄位中,輸入連線例項的名稱。
連線名稱必須符合下列條件:
- 連線名稱可以包含英文字母、數字或連字號。
- 字母必須為小寫。
- 連線名稱的開頭必須是英文字母,結尾則須為英文字母或數字。
- 連結名稱不得超過 49 個半形字元。
- 視需要輸入連線例項的「Description」(說明)。
- 服務帳戶:選取具備必要角色的服務帳戶。
- 視需要設定連線節點設定:
- 節點數量下限:輸入連線節點數量下限。
- 節點數量上限:輸入連線節點數量上限。
節點是用來處理交易的連線單位 (或備用資源)。處理的交易量越多,就需要越多節點;反之,處理的交易量越少,就需要越少節點。如要瞭解節點對連接器定價的影響,請參閱「 連線節點的定價」。如果您未輸入任何值,系統預設會將最小節點設為 2 (以提高可用性),並將最大節點設為 50。
- 資料庫:Sybase 資料庫的名稱。
- 您可以按一下「+ 新增標籤」,以鍵/值組合的形式為連線新增標籤。
- 點按「Next」。
- 在「目的地」部分,輸入要連線的遠端主機 (後端系統) 詳細資料。
- 目的地類型:您可以使用主機位址或服務附件來指定目的地詳細資料。選取下列任一目標類型:
- 主機位址:如果您想指定目的地的主機名稱或 IP 位址。
- 服務附件:如果您想為內部 IP 位址指定私人端點,服務附件可讓您隱藏內部 IP 位址,不讓外部網路看到。您可以使用 Private Service Connect 功能,在 Google Cloud 中建立服務連結。如要瞭解如何設定 Private Service Connect,請參閱「發布代管服務」。
根據所選的目的地類型,輸入主機位址或服務連結名稱。
如要輸入其他目的地,請按一下「+ 新增目的地」。
- 點按「Next」。
- 目的地類型:您可以使用主機位址或服務附件來指定目的地詳細資料。選取下列任一目標類型:
-
在「Authentication」部分中,輸入驗證詳細資料。
- 選取「驗證類型」並輸入相關詳細資料。
Sybase 連線支援下列驗證類型:
- 使用者名稱和密碼
- 點按「Next」。
如要瞭解如何設定這些驗證類型,請參閱「設定驗證」。
- 選取「驗證類型」並輸入相關詳細資料。
- 查看:查看連線和驗證詳細資料。
- 按一下 [建立]。
設定驗證機制
根據要使用的驗證方法輸入詳細資料。
-
使用者名稱和密碼
- 使用者名稱:用於驗證的 Sybase 使用者帳戶。
- 密碼:Secret Manager 密鑰,內含用於驗證使用者的密碼。
- 密鑰版本:包含密碼的密鑰版本。
連線設定範例
本節列出您在建立 SAP ASE 連線時設定的各種欄位範例值。
使用者名稱和密碼連線類型
下表列出建立使用者名稱和密碼連線時,需要指定的連線屬性:欄位名稱 | 詳細資料 |
---|---|
位置 | europe-west1 |
連接器 | SAP ASE |
連接器版本 | 1 |
連線名稱 | google-cloud-SAP ASE-soap-conn |
啟用 Cloud Logging | 是 |
服務帳戶 | SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com |
資料庫 | Alex |
詳細程度 | 5 |
節點數量下限 | 2 |
節點數量上限 | 50 |
主機位址 | 198.51.100.0 |
驗證 | 使用者密碼 |
使用者名稱 | USERNAME |
密碼 | 密碼 |
Secret 版本 | 1 |
如要瞭解 LDAP 使用者驗證,請參閱「LDAP 使用者驗證」。
SSL 連線類型
下表列出建立 SSL 連線時需要指定的連線屬性:欄位名稱 | 詳細資料 |
---|---|
位置 | us-central1 |
連接器 | Sybase |
連接器版本 | 1 |
連線名稱 | google-cloud-sybase-ssl-conn |
啟用 Cloud Logging | 是 |
服務帳戶 | SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com |
資料庫 | Alex |
節點數量下限 | 2 |
節點數量上限 | 50 |
信任儲存庫 | 私人 |
自訂信任存放區 | 自訂信任存放區 |
Secret 版本 | 2 |
用戶端憑證 | CLIENT_CERTIFICATE |
Secret 版本 | 7 |
用戶端私密金鑰 | 客戶端私密金鑰 |
Secret 版本 | 4 |
用戶端私密金鑰通關密碼 | CLIENT PRIVATE KEY PASSPHRASE |
Secret 版本 | 1 |
主機位址 | 198.51.100.0 |
通訊埠 | PORT |
驗證 | 使用者密碼 |
使用者名稱 | USERNAME |
密碼 | 密碼 |
Secret 版本 | 1 |
如要瞭解如何啟用 SSL,請參閱「啟用 SSL」。
實體、作業和動作
所有整合連接器都為已連結應用程式的物件提供一層抽象層。您只能透過這個抽象層存取應用程式的物件。抽象概念會以實體、作業和動作的形式提供給您。
- 實體: 實體可視為已連結應用程式或服務中的物件或屬性集合。實體的定義與連接器至連接器的定義不同。舉例來說,在資料庫連接器中,資料表是實體;在檔案伺服器連接器中,資料夾是實體;在訊息系統連接器中,佇列是實體。
不過,連接器可能不支援或沒有任何實體,在這種情況下,
Entities
清單會是空白。 - 作業: 作業是指您可對實體執行的活動。您可以對實體執行下列任一操作:
從可用清單中選取實體後,系統會產生可用於該實體的作業清單。如需作業的詳細說明,請參閱連接器工作中的實體作業。不過,如果連接器不支援任何實體作業,則
Operations
清單中不會列出這些不支援的作業。 - 動作: 動作是透過連接器介面提供給整合項目的一流函式。動作可讓您變更實體或多個實體,而這些變更會因連接器而異。通常,動作會包含一些輸入參數和輸出參數。不過,連接器可能不支援任何動作,在這種情況下,
Actions
清單會為空白。
系統限制
Sybase 連接器可處理每個節點每秒 2 筆交易,並節流超出此限制的所有交易。根據預設,Integration Connectors 會為連線分配 2 個節點 (可提高可用性)。
如要瞭解 Integration Connectors 適用的限制,請參閱「限制」一節。
ExecuteCustomQuery 動作
這項動作可讓您執行自訂查詢。
如要建立自訂查詢,請按照下列步驟操作:
- 按照詳細操作說明 新增連接器工作。
- 設定連接器工作時,請在要執行的動作類型中選取「動作」。
- 在「Action」清單中,選取「Execute custom query」,然後按一下「Done」。
- 展開「Task input」部分,然後執行下列操作:
- 在「Timeout after」欄位中,輸入要等待多久時間才執行查詢。
預設值:
180
秒。 - 在「資料列數量上限」欄位中,輸入要從資料庫傳回的資料列數量上限。
預設值:
25
。 - 如要更新自訂查詢,請按一下「編輯自訂指令碼」。系統會開啟「Script editor」對話方塊。
- 在「Script editor」對話方塊中輸入 SQL 查詢,然後按一下「Save」。
您可以在 SQL 陳述式中使用問號 (?) 代表單一參數,該參數必須在查詢參數清單中指定。舉例來說,下列 SQL 查詢會選取
Employees
資料表中與LastName
資料欄指定值相符的所有資料列:SELECT * FROM Employees where LastName=?
- 如果您在 SQL 查詢中使用了問號,請按一下每個問號旁的「+ 新增參數名稱」,新增參數。執行整合作業時,這些參數會依序取代 SQL 查詢中的問號 (?)。舉例來說,如果您新增了三個問號 (?),就必須依序新增三個參數。
如要新增查詢參數,請按照下列步驟操作:
- 在「類型」清單中,選取參數的資料類型。
- 在「Value」欄位中輸入參數的值。
- 如要新增多個參數,請按一下「+ 新增查詢參數」。
- 在「Timeout after」欄位中,輸入要等待多久時間才執行查詢。
執行成功後,這個動作會傳回狀態 200 (OK),並附上含有查詢結果的回應本文。
行動號召範例
本節說明如何在這個連接器中執行部分動作。
範例:建立資料表
- 在
Configure Connector
對話方塊中,選取Region, Connection and Actions
。 - 從動作中選取
Execute Custom Query
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
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
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
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
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
Edit Custom Script
,然後在Custom Query
欄位中輸入類似以下的值:TRUNCATE TABLE customqueries99
這個範例會執行自訂查詢,以截斷資料表。如果動作成功,Execute Custom Query
工作項的 connectorOutputPayload
回應參數會傳回空白酬載。
範例:捨棄資料表
- 在
Configure Connector
對話方塊中,選取Region, Connection and Actions
。 - 從動作中選取
Execute Custom Query
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
Edit Custom Script
,然後在Custom Query
欄位中輸入類似以下的值:DROP TABLE customqueries99
本範例會說明如何執行自訂查詢來刪除資料表。如果動作成功,Execute Custom Query
工作項的 connectorOutputPayload
回應參數會傳回空白酬載。
範例 - 驗證 SUM
- 在
Configure Connector
對話方塊中,選取Region, Connection and Actions
。 - 從動作中選取
Execute Custom Query
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
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
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
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
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
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
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
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
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
Edit Custom Script
,然後在Custom Query
欄位中輸入類似以下的值:select count(*) from EMPLOYEES
這個範例會執行自訂查詢,驗證匯總函式中的 Count。如果動作成功,Execute Custom Query
工作項的 connectorOutputPayload
回應參數會包含類似以下的值:
[{ "": 1.0 }]
範例:使用 Join 和 GroupBy
- 在
Configure Connector
對話方塊中,選取Region, Connection and Actions
。 - 從動作中選取
Execute Custom Query
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
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;
本範例會示範如何使用 Join 和 GroupBy 執行自訂查詢。如果動作成功,Execute Custom Query
工作項的 connectorOutputPayload
回應參數會包含類似以下的值:
[{ "amount": 1122.56, "Total": 14.0 }, { "amount": 123.4567, "Total": 11.0 }, { "amount": 1123.45, "Total": 13.0 }]
範例:使用 Join 和查詢參數
- 在
Configure Connector
對話方塊中,選取Region, Connection and Actions
。 - 從動作中選取
Execute Custom Query
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
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=?
這個範例會說明如何使用 Join 和 Query 參數執行自訂查詢。如果動作成功,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
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
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
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
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
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
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
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
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
,然後按一下「完成」。 - 在「Connector」的「Task Input」部分,按一下
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
作業,然後按一下「Done」。
範例:從實體取得記錄
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取 numbers_table。 - 選取
Get
作業,然後按一下「Done」。 - 將實體 ID 設為 Get single numbers_table。如要設定實體 ID,請在「資料對應」的「資料對應」專區中,按一下「開啟資料對應編輯器」,然後在「輸入值」欄位中輸入
1.0
,並選擇「EntityId」做為「Local」變數。
範例:建立記錄
- 在
Configure connector task
對話方塊中,按一下Entities
。 - 從
Entity
清單中選取 numbers_table。 - 選取
Create
運算,然後按一下「Done」。 - 在「Task」的「Data Mapper」專區中,按一下
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
作業,然後按一下「Done」。 - 將實體 ID 設為 Delete numbers_table。如要設定實體 ID,請在「資料對應」的「資料對應」專區中,按一下「開啟資料對應編輯器」,然後在「輸入值」欄位中輸入
2.0
,並選擇「EntityId」做為「Local」變數。
在整合中使用 Sybase 連線
建立連線後,即可在 Apigee Integration 和 Application Integration 中使用。您可以透過「連接器」工作,在整合中使用連線。
- 如要瞭解如何在 Apigee Integration 中建立及使用連接器工作,請參閱「連接器工作」。
- 如要瞭解如何在 Application Integration 中建立及使用連接器工作,請參閱「連接器工作」。