使用 Azure Data Factory 或 Synapse Analytics,從 Google Ads 複製資料
適用於:Azure Data Factory Azure Synapse Analytics
提示
試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用!
此文章概述如何使用 Azure Data Factory 或 Synapse Analytics 管線中的複製活動,從 Google Ads 複製資料。 本文是根據複製活動概觀一文,該文提供複製活動的一般概觀。
重要
請在 2024 年 2 月 18 日之前升級 Google Ads 驅動程式版本。 如果沒有升級,連線將會因舊版驅動程式遭淘汰而開始失敗,並發生錯誤。
支援的功能
此 Google Ads 連接器支援下列功能:
支援的功能 | IR |
---|---|
複製活動 (來源/-) | ① ② |
查閱活動 | ① ② |
① Azure 整合執行階段 ② 自我裝載整合執行階段
如需支援做為來源/接收器的資料存放區清單,請參閱支援的資料存放區表格。
此服務提供的內建驅動程式可啟用連線,因此,您不需手動安裝任何驅動程式,即可使用此連接器。
開始使用
若要透過管線執行複製活動,您可以使用下列其中一個工具或 SDK:
使用 UI 建立連結至 Google Ads 的服務
使用下列步驟,在 Azure 入口網站 UI 中建立連結至 Google Ads 的服務。
前往 Azure Data Factory 或 Synapse 工作區的 [管理] 索引標籤,選取 [連結服務],然後按一下 [新增]:
搜尋 Google Ads 並選取 Google Ads 連接器。
設定服務詳細資料,測試連線,然後建立新的連結服務。
連接器設定詳細資料
下列各節提供屬性的相關詳細資料,這些屬性是用來定義 Google Ads 連接器專屬的 Data Factory 實體。
連結服務屬性
以下是針對 Google Ads 已連結服務支援的屬性:
屬性 | 描述 | 必要 |
---|---|---|
type | type 屬性必須設定為:GoogleAdWords | Yes |
googleAdsApiVersion | 選取建議驅動程式版本時所使用的 Google Ads API 版本。 如需 API 版本資訊,請參閱這篇文章。 | Yes |
clientCustomerID | 要擷取其報告資料的 Ads 帳戶用戶端客戶識別碼。 | Yes |
loginCustomerID | Google Ads 管理員帳戶的客戶識別碼,透過此帳戶可擷取特定客戶報告資料的帳戶。 | No |
developerToken | 與用來授與 Ads API 存取權的管理員帳戶相關聯的開發人員權杖。 您可以選擇將這個欄位標記為 SecureString 以安全地儲存,或將密碼儲存在 Azure Key Vault;然後在執行複製資料時,讓複製活動從該處提取 - 請參閱將認證儲存在 Key Vault 以進一步了解。 | Yes |
authenticationType | 用於驗證的 OAuth 2.0 驗證機制。 允許的值為:ServiceAuthentication、UserAuthentication。 ServiceAuthentication 只能在自我裝載 IR 上使用。 |
Yes |
針對 UserAuthentication=0: | ||
refreshToken | 從 Google 取得的重新整理權杖,用於針對 UserAuthentication 授權存取 Ads。 您可以選擇將這個欄位標記為 SecureString 以安全地儲存,或將密碼儲存在 Azure Key Vault;然後在執行複製資料時,讓複製活動從該處提取 - 請參閱將認證儲存在 Key Vault 以進一步了解。 | No |
clientId | 用來取得重新整理權杖的 Google 應用程式用戶端識別碼。 您可以選擇將這個欄位標記為 SecureString 以安全地儲存,或將密碼儲存在 Azure Key Vault;然後在執行複製資料時,讓複製活動從該處提取 - 請參閱將認證儲存在 Key Vault 以進一步了解。 | No |
clientSecret | 用來取得重新整理權杖的 Google 應用程式用戶端密碼。 您可以選擇將這個欄位標記為 SecureString 以安全地儲存,或將密碼儲存在 Azure Key Vault;然後在執行複製資料時,讓複製活動從該處提取 - 請參閱將認證儲存在 Key Vault 以進一步了解。 | No |
針對 ServiceAuthentication: | ||
電子郵件 | 服務帳戶電子郵件識別碼,用於 ServiceAuthentication 且只能在自我裝載 IR 上使用。 | No |
privateKey | ServiceAuthentication 建議驅動程式版本所使用的服務私密金鑰,且只能在自我裝載 IR 上使用。 您可以選擇將這個欄位標記為 SecureString 以安全地儲存,或將密碼儲存在 Azure Key Vault;然後在執行複製資料時,讓複製活動從該處提取 - 請參閱將認證儲存在 Key Vault 以進一步了解。 | No |
針對使用舊版驅動程式的 ServiceAuthentication: | ||
電子郵件 | 服務帳戶電子郵件識別碼,用於 ServiceAuthentication 且只能在自我裝載 IR 上使用。 | No |
keyFilePath | .p12 或 .json 金鑰檔的完整路徑,用來驗證服務帳戶電子郵件地址且只能在自我裝載 IR上使用。 |
No |
trustedCertPath | .pem 檔案的完整路徑,其中包含在透過 TLS 連線時,用來驗證伺服器的受信任 CA 憑證。 只有在自我裝載 IR 上使用 TLS 時,才能設定這個屬性。 預設值為隨 IR 安裝的 cacerts.pem 檔案。 | No |
useSystemTrustStore | 指定是否使用來自系統信任存放區或來自指定 PEM 檔案的 CA 憑證。 預設值為 false。 | No |
範例:
{
"name": "GoogleAdsLinkedService",
"properties": {
"type": "GoogleAdWords",
"typeProperties": {
"clientCustomerID": "<clientCustomerID>",
"loginCustomerID": "<loginCustomerID>",
"developerToken": {
"type": "SecureString",
"value": "<developerToken>"
},
"authenticationType": "UserAuthentication",
"refreshToken": {
"type": "SecureString",
"value": "<refreshToken>"
},
"clientId": {
"type": "SecureString",
"value": "<clientId>"
},
"clientSecret": {
"type": "SecureString",
"value": "<clientSecret>"
},
"googleAdsApiVersion": "v14"
}
}
}
資料集屬性
如需可用來定義資料集的區段和屬性完整清單,請參閱資料集一文。 本節提供 Google Ads 資料集所支援的屬性清單。
若要從 Google Ads 複製資料,請將資料集的 type 屬性設定為 GoogleAdWordsObject。 以下是支援的屬性:
屬性 | 描述 | 必要 |
---|---|---|
type | 資料集的類型屬性必須設為:GoogleAdWordsObject | Yes |
tableName | 資料表的名稱。 當您使用舊版驅動程式時,請指定此屬性。 | 否 (如果已指定活動來源中的「查詢」) |
範例
{
"name": "GoogleAdsDataset",
"properties": {
"type": "GoogleAdWordsObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<GoogleAds linked service name>",
"type": "LinkedServiceReference"
}
}
}
複製活動屬性
如需可用來定義活動的區段和屬性完整清單,請參閱管線一文。 本節提供 Google Ads 來源所支援的屬性清單。
Google Ads 作為來源
若要從 Google Ads 複製資料,請將複製活動中的來源類型設定為 GoogleAdWordsSource。 複製活動的 source 區段支援下列屬性:
屬性 | 描述 | 必要 |
---|---|---|
type | 複製活動來源的 type 屬性必須設定為 GoogleAdWordsSource | Yes |
query | 使用 GAQL 查詢來讀取資料。 例如: SELECT campaign.id FROM campaign 。 |
否 (如果已指定資料集中的 "tableName") |
範例:
"activities":[
{
"name": "CopyFromGoogleAds",
"type": "Copy",
"inputs": [
{
"referenceName": "<GoogleAds input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "GoogleAdWordsSource",
"query": "SELECT campaign.id FROM campaign"
},
"sink": {
"type": "<sink type>"
}
}
}
]
查閱活動屬性
若要了解屬性的詳細資料,請參閱查閱活動。
升級 Google Ads 驅動程式版本
若要升級 Google Ads 驅動程式版本,您需要更新連結服務,並了解如何從 SQL 移轉至 Google Ads Query Language (GAQL)。
更新連結服務設定
在 [編輯連結服務] 頁面中,選取 [驅動程式版本] 底下的 [建議],並參考 [連結服務屬性] 來設定連結的服務。
從 SQL 移轉至 GAQL
從 SQL 移轉至 GAQL 時,將您的查詢陳述式和欄位名稱轉換成 GAQL。
查詢陳述式
如果您在參照舊版 Google Ads 連結服務的複製活動來源或查閱活動中使用 SQL 查詢,則必須將其更新為 GAQL 查詢。
相較於 SQL,GAQL 中的查詢是由六種子句所組成:
SELECT
FROM
WHERE
ORDER BY
LIMIT
PARAMETERS
前往 Google Ads Query Language 文法以取得 GAQL 的簡介。
以下列 SQL 陳述式為例:
SELECT *|FieldName FROM ResourceName WHERE FieldName Operator Value
您可以遵循下列指引,將 SQL 陳述式轉換成對應的 GAQL 陳述式:
- 如果在
SELECT
子句之後使用*
(星號),由於 GAQL 不支援SELECT *
,因此您需要指定所有必要的欄位來取代星號。 前往此文章以查看特定資源中的所有可選取欄位。 - 如果在
SELECT
子句之後使用欄位名稱,則您必須將名稱轉換成 GAQL 中對應的欄位名稱,因為兩者的命名慣例不同。 例如,SQL 查詢陳述式中的欄位名稱campaign_id
應該轉換成 GAQL 中的campaign.id
。 如需欄位名稱轉換的詳細資訊,請參閱欄位名稱。 - 資源名稱可以保留原樣,除非資源名稱與此處指定的大小寫不一致。
WHERE
子句應該根據 GAQL 文法進行更新,因為 GAQL 支援的運算子與 SQL 不一致,且欄位名稱也應該依照第二點所述進行轉換。
Google 有提供下列兩個非常實用的工具,強烈建議在建置對應的 GAQL 查詢陳述式時使用:
欄位名稱
SQL 中使用的欄位名稱與 GAQL 不一致。 您也需要了解將 SQL 欄位名稱轉換成 GAQL 欄位名稱的轉換規則。 轉換規則可摘要如下:
如果欄位名稱屬於資源,SQL 中的底線 (
_
) 將會變更為 GAQL 中的點 (.
)。 對於點之間的單字,SQL 中使用的 camelCase 類型陳述式將會將其變更為以底線分隔的獨立單字。 SQL 中 PascalCase 類型的第一個字串將會變更為 GAQL 中的對應資源名稱。如果欄位名稱屬於區段或計量,則在 GAQL 中應該新增前置詞
segments.
或metrics.
,接著遵循與第一點所述的相同規則來轉換名稱。
以下是欄位名稱轉換的具體範例:
類別 | SQL 中的欄位名稱 | GAQL 中的欄位名稱 |
---|---|---|
資源欄位 | Campaign_startDate |
campaign.start_date |
資源欄位 | Customer_conversionTrackingSetting_conversionTrackingStatus |
customer.conversion_tracking_setting.conversion_tracking_status |
區隔 | DayOfWeek |
segments.day_of_week |
計量 | VideoViews |
metrics.video_views |
Google Ads 使用建議與舊版驅動程式版本之間的差異
下表顯示 Google Ads 使用建議與舊版驅動程式版本之間的功能差異。
建議驅動程式版本 | 舊版驅動程式版本 |
---|---|
支援指定 Google Ads API 版本。 | 不支援指定 Google Ads API 版本。 |
ServiceAuthentication 支援兩個屬性: • privateKey |
ServiceAuthentication 支援四個屬性: • keyFilePath • trustedCertPath • useSystemTrustStore |
不支援選取資料集中的資料表。 | 支援選取資料集中的資料表,並在複製活動中查詢資料表。 |
支援 GAQL 語法作為查詢語言。 | 支援 SQL 語法作為查詢語言。 |
輸出資料行名稱與 Google Ads 中定義的欄位名稱相同。 | 輸出資料行名稱與 Google Ads 中定義的欄位名稱不相符。 |
從 Google Ads 資料類型到服務在內部使用的過渡期資料類型皆會使用下列對應。 浮點數 -> 浮點數 int32 -> int int64 -> long |
從 Google Ads 資料類型到服務在內部使用的過渡期資料類型皆會使用下列對應。 浮點數 -> 字串 int32 -> 字串 int64 -> 字串 |
將 Google AdWords 連接器升級為 Google Ads 連接器
遵循下列步驟,將您的 Google AdWords 連結服務升級為最新的 Google Ads 連結服務:
選取 [建議] 作為驅動程式版本,以建立新的 Google Ads 連結服務,並參考連結服務屬性進行設定。
將參考舊版 Google AdWords 連結服務的管線進行更新。 考慮到 Google Ads 連結服務僅支援使用查詢來複製資料,因此:
如果您的管線是直接從 Google AdWords 報表擷取資料,請在下表中找到對應的 Google Ads 資源名稱,並使用此工具來建置查詢。
Google AdWords 報告 Google Ads 資源 ACCOUNT_PERFORMANCE_REPORT 客戶 AD_PERFORMANCE_REPORT ad_group_ad ADGROUP_PERFORMANCE_REPORT ad_group AGE_RANGE_PERFORMANCE_REPORT age_range_view AUDIENCE_PERFORMANCE_REPORT campaign_audience_view、ad_group_audience_view AUTOMATIC_PLACEMENTS_PERFORMANCE_REPORT group_placement_view BID_GOAL_PERFORMANCE_REPORT bidding_strategy BUDGET_PERFORMANCE_REPORT campaign_budget CALL_METRICS_CALL_DETAILS_REPORT call_view CAMPAIGN_AD_SCHEDULE_TARGET_REPORT ad_schedule_view CAMPAIGN_CRITERIA_REPORT campaign_criterion CAMPAIGN_PERFORMANCE_REPORT campaign CAMPAIGN_SHARED_SET_REPORT campaign_shared_set CAMPAIGN_LOCATION_TARGET_REPORT location_view CLICK_PERFORMANCE_REPORT click_view DISPLAY_KEYWORD_PERFORMANCE_REPORT display_keyword_view DISPLAY_TOPICS_PERFORMANCE_REPORT topic_view GENDER_PERFORMANCE_REPORT gender_view GEO_PERFORMANCE_REPORT geographic_view、user_location_view KEYWORDLESS_QUERY_REPORT dynamic_search_ads_search_term_view KEYWORDS_PERFORMANCE_REPORT keyword_view LABEL_REPORT label LANDING_PAGE_REPORT landing_page_view、expanded_landing_page_view PAID_ORGANIC_QUERY_REPORT paid_organic_search_term_view PARENTAL_STATUS_PERFORMANCE_REPORT parental_status_view PLACEHOLDER_FEED_ITEM_REPORT feed_item、feed_item_target PLACEHOLDER_REPORT feed_placeholder_view PLACEMENT_PERFORMANCE_REPORT managed_placement_view PRODUCT_PARTITION_REPORT product_group_view SEARCH_QUERY_PERFORMANCE_REPORT search_term_view SHARED_SET_CRITERIA_REPORT shared_criterion SHARED_SET_REPORT shared_set SHOPPING_PERFORMANCE_REPORT shopping_performance_view TOP_CONTENT_PERFORMANCE_REPORT 在 Google Ads API 中已不再支援。 URL_PERFORMANCE_REPORT detail_placement_view USER_AD_DISTANCE_REPORT distance_view VIDEO_PERFORMANCE_REPORT 影片 如果管線使用查詢從 Google AdWords 擷取資料,請使用查詢移轉工具將 AWQL (AdWords Query Language) 轉譯為 GAQL (Google Ads Query Language)。
請注意,此升級有下列限制:
- GAQL 未支援 AWQL 的所有報表類型。
- 並非所有 AWQL 查詢都會完全轉譯為 GAQL 查詢。
相關內容
如需複製活動支援作為來源和接收器的資料存放區清單,請參閱支援的資料存放區。