Azure Synapse
Azure Synapse 連接器可讓您連線至 Azure Synapse SQL 集區,並使用 SQL 擷取及更新 Azure Synapse 資料。
事前準備
使用 Azure Synapse 連接器前,請先完成下列工作:
- 在 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
(Connectors API)
如要瞭解如何啟用服務,請參閱「啟用服務」。
如果專案先前未啟用這些服務或權限,系統會在設定連結器時提示您啟用。
設定連接器
連線專屬於資料來源。也就是說,如果您有多個資料來源,則必須為每個資料來源建立個別的連線。如要建立連線,請按照下列步驟操作:
- 在 Cloud 控制台中,前往「Integration Connectors」>「Connections」頁面,然後選取或建立 Google Cloud 專案。
- 按一下「+ 建立新連線」,開啟「建立連線」頁面。
- 在「位置」部分中,選擇連線位置。
- 區域:從下拉式清單中選取位置。
連接器支援的地區包括:
如需所有支援的地區清單,請參閱「位置」一文。
- 點選「下一步」。
- 區域:從下拉式清單中選取位置。
- 在「連線詳細資料」部分,完成下列步驟:
- 連接器:從可用連接器的下拉式清單中選取「Azure Synapse」。
- 連接器版本:從可用版本的下拉式清單中選取連接器版本。
- 在「連線名稱」欄位中,輸入連線執行個體的名稱。
連線名稱必須符合下列條件:
- 連線名稱可使用英文字母、數字或連字號。
- 字母必須為小寫。
- 連線名稱開頭須為英文字母,結尾則須為英文字母或數字。
- 連結名稱不得超過 49 個字元。
- 視需要輸入連線執行個體的說明。
- 服務帳戶:選取具備必要角色的服務帳戶。
- 視需要設定「連線節點設定」:
- 節點數量下限:輸入連線節點數量下限。
- 節點數量上限:輸入連線節點數量上限。
節點是用來處理交易的連線單位 (或備用資源)。連線處理的交易量越多,就需要越多節點;反之,處理的交易量越少,需要的節點就越少。如要瞭解節點對連線器定價的影響,請參閱「 連線節點定價」。如未輸入任何值,系統預設會將節點下限設為 2 (提高可用性),節點上限則設為 50。
- Azure 租戶:這個屬性會指定用於存取資料的 Microsoft Azure 租戶。
- 資料庫:這個屬性會指定無伺服器 SQL 集區或專用 SQL 集區中的 Synapse 資料庫名稱。
- 在「目的地」下方輸入下列屬性:
- 目的地類型:從下拉式選單中選取主機位址
- 主機 1:輸入 SQL 集區端點
- 通訊埠 1:輸入 SQL 端點的通訊埠
-
視需要輸入 SSL 的下列屬性:
- 啟用 SSL:這個核取方塊屬性用於指定是否要啟用 SSL。
- 信任存放區:這個屬性會指定信任存放區。您可以選取圓形按鈕,從「公開」、「私人」或「不安全連線」中選取信任儲存區。
- 自訂信任儲存庫:這個屬性用於選取包含 PEM 格式自訂信任儲存庫的密鑰。
- SSL 用戶端憑證:這項屬性會指定 SSL 用戶端憑證。
- SSL 用戶端私密金鑰:這個屬性會以 PEM 格式指定 SSL 用戶端私密金鑰。
- SSL 用戶端憑證金鑰通關密語:這個屬性會指定 SSL 用戶端私密金鑰通關密語。
- (選用) 按一下「+ 新增標籤」,以鍵/值組合的形式為連線新增標籤。
- 點選「下一步」。
-
在「Authentication」(驗證) 部分,輸入驗證詳細資料。
- 選取「驗證類型」並輸入相關詳細資料。
Azure Synapse 連線支援下列驗證類型:
- 使用者密碼
- Azure AD
- 點選「下一步」。
如要瞭解如何設定這些驗證類型,請參閱「設定驗證」。
- 選取「驗證類型」並輸入相關詳細資料。
- 檢查:檢查連線和驗證詳細資料。
- 點選「建立」。
設定驗證機制
根據要使用的驗證方式輸入詳細資料。
-
使用者密碼
- 使用者名稱:輸入資料庫使用者名稱。
- 密碼:Secret Manager 密鑰,內含與使用者名稱相關聯的密碼。
-
Azure AD
- 用戶端 ID:用於要求存取權杖的用戶端 ID。您可以在 Azure 入口網站中建立的已連結應用程式總覽中找到這項資訊。
- 範圍:以半形逗號分隔的所需範圍清單。
- 用戶端密鑰:內含帳戶存取金鑰的 Secret Manager 密鑰。
- 授權網址:建立 OAuth 用戶端時產生的授權網址。
請按照下列格式輸入網址:
https://login.microsoftonline.com/TENANT_IDENTIFIER/oauth2/v2.0/authorize?prompt=consent
。 例如https://login.microsoftonline.com/9bxxxxxxxxx8112/oauth2/v2.0/authorize?prompt=consent
。
建立連結後需執行的其他步驟
如果您選取 OAuth 2.0 - Authorization code
進行驗證,建立連線後必須執行下列額外步驟:
- 在「連線」頁面中,找出新建立的連線。
請注意,新連接器的「狀態」會顯示「需要授權」。
- 按一下「需要授權」。
系統隨即會顯示「Edit authorization」(編輯授權) 窗格。
- 將「重新導向 URI」值複製到外部應用程式。
- 驗證授權詳細資料。
- 按一下「Authorize」。
授權成功後,「連線」頁面的連線狀態會設為「有效」。
重新授權授權碼
如果您使用 Authorization code
驗證類型,且在 Azure Synapse 應用程式中進行任何設定變更,則必須重新授權 Azure Synapse 連線。如要重新授權連結,請按照下列步驟操作:
- 在「連線」頁面中,按一下所需連線。
系統隨即會開啟連線詳細資料頁面。
- 按一下「編輯」即可編輯連結詳細資料。
- 在「驗證」部分中,驗證「OAuth 2.0 - 授權碼」詳細資料。
視需要進行變更。
- 按一下 [儲存]。系統會將您帶往連線詳細資料頁面。
- 在「驗證」部分中,按一下「編輯授權」。系統會顯示「Authorize」(授權) 窗格。
- 按一下「Authorize」。
如果授權成功,「連線」頁面的連線狀態會設為「有效」。
實體、作業和動作
所有整合連接器都會為所連應用程式的物件提供抽象層。您只能透過這個抽象化程序存取應用程式的物件。抽象化會以實體、作業和動作的形式呈現。
- 實體: 實體可以視為已連結應用程式或服務中的物件,或是屬性集合。實體的定義因連接器而異。舉例來說,在資料庫連接器中,資料表是實體;在檔案伺服器連接器中,資料夾是實體;在訊息系統連接器中,佇列是實體。
不過,連接器可能不支援或沒有任何實體,在這種情況下,
Entities
清單會是空白。 - 作業: 作業是指您可以在實體上執行的活動。您可以對實體執行下列任一操作:
從可用清單中選取實體,系統會產生該實體可用的作業清單。如需作業的詳細說明,請參閱 Connectors 工作的實體作業。 不過,如果連接器不支援任何實體作業,系統就不會在
Operations
清單中列出這些不支援的作業。 - 動作: 動作是透過連接器介面提供給整合的第一類函式。動作可讓您變更一或多個實體,且因連接器而異。一般來說,動作會有一些輸入參數和輸出參數。不過,連接器可能不支援任何動作,此時
Actions
清單會是空白。
系統限制
每個節點每秒最多可處理 4 筆交易,超過此限制的交易都會遭到節流。根據預設,Integration Connectors 會為連線分配 2 個節點 (提高可用性)。
如要瞭解 Integration Connectors 適用的限制,請參閱「限制」一文。
支援的資料類型
這個連接器支援的資料類型如下:
- BIGINT
- BINARY
- BIT
- CHAR
- DATE
- DATETIME
- DATETIME2
- DATETIMEOFFSET
- DECIMAL
- FLOAT
- DECIMAL
- FLOAT
- INT
- MONEY
- NCHAR
- NVARCHAR
- REAL
- LSEG
- SMALLDATETIME
- SMALLINT
- SMALLMONEY
- TINYINT
- UNIQUEIDENTIFIER
- VARBINARY
- VARCHAR
動作
您可以使用 Azure Synapse 連接器,以 Azure Synapse 支援的格式執行儲存程序和自訂 SQL 查詢。如要執行自訂 SQL 查詢,連接器提供「執行自訂查詢」動作。
如要建立自訂查詢,請按照下列步驟操作:
- 請按照詳細說明 新增連接器工作。
- 設定連接器工作時,請在要執行的動作類型中選取「動作」。
- 在「動作」清單中,選取「執行自訂查詢」,然後按一下「完成」。
- 展開「Task input」(工作輸入) 區段,然後執行下列操作:
- 在「Timeout after」(逾時時間) 欄位中,輸入查詢執行前的等待秒數。
預設值:
180
秒。 - 在「資料列數量上限」欄位中,輸入要從資料庫傳回的資料列數量上限。
預設值為
25
。 - 如要更新自訂查詢,請按一下「編輯自訂指令碼」。「指令碼編輯器」對話方塊隨即開啟。
- 在「指令碼編輯器」對話方塊中輸入 SQL 查詢,然後按一下「儲存」。
您可以在 SQL 陳述式中使用問號 (?) 代表單一參數,該參數必須在查詢參數清單中指定。舉例來說,下列 SQL 查詢會從
Employees
資料表選取與LastName
資料欄指定值相符的所有資料列:SELECT * FROM Employees where LastName=?
- 如果您在 SQL 查詢中使用問號,請為每個問號點按「+ 新增參數名稱」,加入參數。執行整合時,這些參數會依序取代 SQL 查詢中的問號 (?)。舉例來說,如果您新增了三個問號 (?),就必須依序新增三個參數。
如要新增查詢參數,請按照下列步驟操作:
- 在「類型」清單中,選取參數的資料類型。
- 在「值」欄位中輸入參數值。
- 如要新增多個參數,請按一下「+ 新增查詢參數」。
「執行自訂查詢」動作不支援陣列變數。
- 在「Timeout after」(逾時時間) 欄位中,輸入查詢執行前的等待秒數。
實體作業範例
範例 - 列出實體的記錄
這個範例會列出 Users
實體的記錄。
- 在「
Configure connector task
」對話方塊中,按一下Entities
。 - 從
Entity
清單中選取Users
。 - 選取「
List
」作業,然後按一下「完成」。 - 在「連線器」工作的「工作輸入」部分,您可以根據需求設定 filterClause。
舉例來說,如果將篩選子句設為
employeeCode='5100' and startDate='2010-01-01 00:00:00'
,系統只會列出 employeeCode 為 5100 且 startDate 為 2010-01-01 00:00:00 的記錄。
範例 - 從實體取得單一記錄
這個範例會從 Users
實體擷取記錄。
- 在「
Configure connector task
」對話方塊中,按一下Entities
。 - 從
Entity
清單中選取User
。 - 選取「
Get
」作業,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入) 區段中,按一下「entityId」,然後在「Default Value」(預設值) 欄位中輸入
103032
。其中
103032
是Users
實體的主鍵值。
範例 - 從實體刪除記錄
這個範例會從 Users
實體刪除記錄。
- 在「
Configure connector task
」對話方塊中,按一下Entities
。 - 從
Entity
清單中選取Users
。 - 選取「
Delete
」作業,然後按一下「完成」。 - 在「連線器」工作的「工作輸入」部分,按一下「entityId」,然後在「預設值」欄位中輸入
113132
。或者,如果實體具有複合式主鍵,而非指定 entityId,則可以設定 filterClause。例如:
employeeCode='5100' and startDate='2010-01-01 00:00:00'
。
範例 - 在實體中建立記錄
這個範例會在 Users
實體中建立記錄。
- 在「
Configure connector task
」對話方塊中,按一下Entities
。 - 從
Entity
清單中選取Users
。 - 選取「
Create
」作業,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "employeeCode": "5100", "startDate": "2010-01-01 00:00:00.0", "country": "US" }
如果整合成功,連接器工作的 connectorOutputPayload
欄位會顯示建立作業的回應。
範例 - 更新實體中的記錄
這個範例會更新 Users
實體中的記錄。
- 在「
Configure connector task
」對話方塊中,按一下Entities
。 - 從
Entity
清單中選取Users
。 - 選取「
Update
」作業,然後按一下「完成」。 - 在「Connectors」(連結器) 任務的「Task Input」(任務輸入內容) 區段中,按一下
connectorInputPayload
,然後在Default Value
欄位中輸入類似下列的值:{ "country": "IN" }
- 在「連線器」工作的「工作輸入」部分,按一下「entityId」,然後在「預設值」欄位中輸入
113132
。或者,如果實體具有複合式主鍵,而非指定 entityId,則可以設定 filterClause。例如:
employeeCode='5100' and startDate='2010-01-01 00:00:00'
。
如果整合成功,連接器工作的 connectorOutputPayload
欄位會顯示更新作業的回應。
在整合中建立 Azure Synapse 連線
建立連線後,Apigee Integration 和 Application Integration 都會提供該連線。您可以在整合中透過「連接器」工作使用連線。
- 如要瞭解如何在 Apigee Integration 中建立及使用「連線器」工作,請參閱「連線器工作」。
- 如要瞭解如何在 Application Integration 中建立及使用「連線器」工作,請參閱「連線器工作」。