使用 Azure Data Factory 或 Synapse Analytics 從 Google BigQuery 複製數據(舊版)
適用於:Azure Data Factory Azure Synapse Analytics
提示
試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告等所有項目。 了解如何免費啟動新的試用版!
本文概述如何在 Azure Data Factory 和 Synapse Analytics 管線中使用複製活動,從 Google BigQuery 複製數據。 它會以 複製活動概觀 一文為基礎,提供複製活動的一般概觀。
重要
該服務已發行新的Google BigQuery連接器,可提供更佳的原生Google BigQuery支援,請參閱 Google BigQuery 文章的詳細數據。
支援的功能
下列功能支援此 Google BigQuery 連接器:
支援的功能 | IR |
---|---|
複製活動 (來源/-) | (1) (2) |
查閱活動 | (1) (2) |
① 整合執行階段 ② 自我裝載整合執行階段
如需複製活動支援做為來源或接收的數據存放區清單,請參閱 支援的數據存放區 數據表。
此服務提供內建驅動程式來啟用連線。 因此,您不需要手動安裝驅動程式,即可使用此連接器。
注意
此 Google BigQuery 連接器建置在 BigQuery API 之上。 請注意,BigQuery 會限制傳入要求的最大速率,並根據每個專案強制執行適當的配額,請參閱 配額和限制 - API 要求。 請確定您不會對帳戶觸發太多並行要求。
開始使用
若要透過管線執行複製活動,您可以使用下列其中一個工具或 SDK:
使用 UI 建立 Google BigQuery 的連結服務
使用下列步驟,在 Azure 入口網站 UI 中建立 Google BigQuery 的連結服務。
前往 Azure Data Factory 或 Synapse 工作區的 [管理] 索引標籤,選取 [連結服務],然後按一下 [新增]:
搜尋Google並選取Google BigQuery 連接器。
設定服務詳細資料,測試連線,然後建立新的連結服務。
連接器設定詳細資料
下列各節提供屬性的相關詳細數據,這些屬性是用來定義Google BigQuery連接器專屬的實體。
連結服務屬性
Google BigQuery 連結服務支援下列屬性。
屬性 | 描述 | 必要 |
---|---|---|
type | type 屬性必須設定為 GoogleBigQuery。 | Yes |
專案 | 要查詢之預設 BigQuery 專案的專案識別碼。 | Yes |
additionalProjects | 要存取之公用 BigQuery 專案之專案識別碼的逗號分隔清單。 | No |
requestGoogleDriveScope | 是否要求存取Google雲端硬碟。 允許Google Drive存取可支持結合 BigQuery 數據與Google Drive 資料的同盟數據表。 預設值為 false。 | No |
authenticationType | 用於驗證的 OAuth 2.0 驗證機制。 ServiceAuthentication 只能在自我裝載整合運行時間上使用。 允許的值為 UserAuthentication 和 ServiceAuthentication。 請參閱下表下方各節,以取得這些驗證類型的更多屬性和 JSON 範例。 |
Yes |
使用用戶驗證
將 「authenticationType」 屬性設定為 UserAuthentication,並指定下列屬性以及上一節所述的泛型屬性:
屬性 | 描述 | 必要 |
---|---|---|
clientId | 用來產生重新整理令牌的應用程式標識碼。 | Yes |
clientSecret | 用來產生重新整理令牌的應用程式秘密。 將此欄位標記為 SecureString 以便安全儲存,或參考 Azure Key Vault 中儲存的祕密。 | Yes |
refreshToken | 從 Google 取得的重新整理令牌,用來授權存取 BigQuery。 瞭解如何從 取得 OAuth 2.0 存取令牌 和 此社群部落格取得一個令牌。 將此欄位標記為 SecureString 以便安全儲存,或參考 Azure Key Vault 中儲存的祕密。 | Yes |
取得 OAuth 2.0 重新整理權杖所需的最小範圍是 https://www.googleapis.com/auth/bigquery.readonly
。 如果您打算執行可能會傳回大型結果的查詢,可能需要其他範圍。 如需詳細資訊,請參閱此文章。
範例:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQuery",
"typeProperties": {
"project" : "<project ID>",
"additionalProjects" : "<additional project IDs>",
"requestGoogleDriveScope" : true,
"authenticationType" : "UserAuthentication",
"clientId": "<id of the application used to generate the refresh token>",
"clientSecret": {
"type": "SecureString",
"value":"<secret of the application used to generate the refresh token>"
},
"refreshToken": {
"type": "SecureString",
"value": "<refresh token>"
}
}
}
}
使用服務驗證
將 「authenticationType」 屬性設定為 ServiceAuthentication,並指定下列屬性以及上一節所述的泛型屬性。 此驗證類型只能在自我裝載整合運行時間上使用。
屬性 | 描述 | 必要 |
---|---|---|
電子郵件 | ServiceAuthentication 所使用的服務帳戶電子郵件標識碼。 它只能在自我裝載整合運行時間上使用。 | No |
keyFilePath | 用來驗證服務帳戶電子郵件位址之 .p12 或 .json 金鑰檔案的完整路徑。 |
Yes |
trustedCertPath | .pem 檔案的完整路徑,其中包含透過 TLS 連線時用來驗證伺服器的信任 CA 憑證。 只有在您在自我裝載整合運行時間上使用 TLS 時,才能設定此屬性。 預設值是隨整合運行時間一起安裝的 cacerts.pem 檔案。 | No |
useSystemTrustStore | 指定是否要使用來自系統信任存放區或指定 .pem 檔案的 CA 憑證。 預設值為 false。 | No |
範例:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQuery",
"typeProperties": {
"project" : "<project id>",
"requestGoogleDriveScope" : true,
"authenticationType" : "ServiceAuthentication",
"email": "<email>",
"keyFilePath": "<.p12 or .json key path on the IR machine>"
},
"connectVia": {
"referenceName": "<name of Self-hosted Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
資料集屬性
如需可用來定義資料集的區段和屬性完整清單,請參閱資料集一文。 本節提供Google BigQuery資料集所支持的屬性清單。
若要從Google BigQuery 複製數據,請將數據集的類型屬性設定為 GoogleBigQueryObject。 以下是支援的屬性:
屬性 | 描述 | 必要 |
---|---|---|
type | 數據集的類型屬性必須設定為: GoogleBigQueryObject | Yes |
資料集 | Google BigQuery 數據集的名稱。 | 否 (如果已指定活動來源中的「查詢」) |
table | 資料表的名稱。 | 否 (如果已指定活動來源中的「查詢」) |
tableName | 資料表的名稱。 支援此屬性是基於回溯相容性。 對於新的工作負載,請使用 dataset 和 table 。 |
否 (如果已指定活動來源中的「查詢」) |
範例
{
"name": "GoogleBigQueryDataset",
"properties": {
"type": "GoogleBigQueryObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<GoogleBigQuery linked service name>",
"type": "LinkedServiceReference"
}
}
}
複製活動屬性
如需可用來定義活動的區段和屬性完整清單,請參閱管線一文。 本節提供Google BigQuery來源類型所支持的屬性清單。
GoogleBigQuerySource 做為來源類型
若要從Google BigQuery 複製數據,請將複製活動中的來源類型設定為 GoogleBigQuerySource。 複製活動 來源 區段中支援下列屬性。
屬性 | 描述 | 必要 |
---|---|---|
type | 複製活動來源的 type 屬性必須設定為 GoogleBigQuerySource。 | Yes |
query | 使用自訂 SQL 查詢來讀取資料。 例如 "SELECT * FROM MyTable" 。 |
否 (如果已指定資料集中的 "tableName") |
範例:
"activities":[
{
"name": "CopyFromGoogleBigQuery",
"type": "Copy",
"inputs": [
{
"referenceName": "<GoogleBigQuery input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "GoogleBigQuerySource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
查閱活動屬性
若要了解屬性的詳細資料,請參閱查閱活動。
相關內容
如需複製活動支援作為來源和接收器的資料存放區清單,請參閱支援的資料存放區。