Share via


使用 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 的連結服務。

  1. 前往 Azure Data Factory 或 Synapse 工作區的 [管理] 索引標籤,選取 [連結服務],然後按一下 [新增]:

  2. 搜尋Google並選取Google BigQuery 連接器。

    Screenshot of the Google BigQuery connector.

  3. 設定服務詳細資料,測試連線,然後建立新的連結服務。

    Screenshot of linked service configuration for 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 只能在自我裝載整合運行時間上使用。
允許的值為 UserAuthenticationServiceAuthentication。 請參閱下表下方各節,以取得這些驗證類型的更多屬性和 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 資料表的名稱。 支援此屬性是基於回溯相容性。 對於新的工作負載,請使用 datasettable 否 (如果已指定活動來源中的「查詢」)

範例

{
    "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>"
            }
        }
    }
]

查閱活動屬性

若要了解屬性的詳細資料,請參閱查閱活動

如需複製活動支援作為來源和接收器的資料存放區清單,請參閱支援的資料存放區