適用対象:
Azure Data Factory
Azure Synapse Analytics
ヒント
Data Factory in Microsoft Fabric は、よりシンプルなアーキテクチャ、組み込みの AI、および新機能を備えた次世代のAzure Data Factoryです。 データ統合を初めて使用する場合は、Fabric Data Factory から始めます。 既存の ADF ワークロードをFabricにアップグレードして、データ サイエンス、リアルタイム分析、レポートの新機能にアクセスできます。
この記事では、Azure Data Factoryまたは Synapse Analytics パイプラインでコピー アクティビティを使用して Google 広告からデータをコピーする方法について説明します。 この記事は、コピー アクティビティの概要を示しているコピー アクティビティの概要に関する記事に基づいています。
重要
2024 年 2 月 18 日までに Google Ads ドライバーのバージョンをアップグレードしてください。 そうでない場合は、レガシ ドライバが廃止されたためにエラーが発生して接続が失敗するようになります。
サポートされる機能
この Google Ads コネクタは、次の機能でサポートされます。
| サポートされる機能 | IR |
|---|---|
| コピー アクティビティ (ソース/-) | (1) (2) |
| Lookup アクティビティ | (1) (2) |
(1) Azure統合ランタイム (2) セルフホステッド統合ランタイム
ソースおよびシンクとしてサポートされているデータ ストアの一覧については、「サポートされているデータ ストア」の表を参照してください。
このサービスでは接続を有効にする組み込みのドライバーが提供されるので、このコネクタを使用してドライバーを手動でインストールする必要はありません。
作業の開始
パイプラインでコピー アクティビティを実行するには、次のいずれかのツールまたは SDK を使用できます。
- データのコピー ツール
- Azure Portal
- .NET SDK
- Python SDK
- Azure PowerShell
- REST API
- Azure Resource Manager テンプレート
UI を使用して Google Ads のリンク サービスを作成する
Azure ポータル UI で Google 広告にリンクされたサービスを作成するには、次の手順に従います。
Azure Data Factoryまたは Synapse ワークスペースの [管理] タブを参照し、[リンクされたサービス] を選択し、[新規] をクリックします。
- Azureデータファクトリー
- Azure Synapse
Azure Data Factory UI を使用した新しいリンク サービスの作成のスクリーンショット Google Ads を検索し、Google Ads コネクタを選択します。
サービスの詳細を構成し、接続をテストして、新しいリンク サービスを作成します。
コネクタの構成の詳細
次のセクションでは、Google Ads コネクタに固有の Data Factory エンティティを定義するために使用されるプロパティについて詳しく説明します。
リンクされたサービスのプロパティ
Google Ads のリンクされたサービスには、次のプロパティがサポートされます。
| プロパティ | 説明 | 必須 |
|---|---|---|
| 型 | type プロパティは Google AdWords に設定する必要があります。 | はい |
| googleAdsApiVersion | 推奨されるドライバー バージョンを選んだときの Google Ads API のバージョン。 API のバージョン情報については、こちらの記事を参照してください。 | はい |
| clientCustomerID | レポート データをフェッチする対象の、Ads アカウントのクライアント顧客 ID。 | はい |
| loginCustomerID | 特定の顧客のレポート データのフェッチに使用する、Google Ads マネージャー アカウントの顧客 ID。 | いいえ |
| developerToken | Ads API へのアクセスを許可するために使用する、マネージャー アカウントに関連付けられている開発者トークン。 このフィールドを SecureString としてマークして安全に保存するか、パスワードをAzure Key Vaultに格納し、データ コピーの実行時にコピー アクティビティがそこからプルされるようにすることができます。詳細については、 |
はい |
| authenticationType | 認証に使用される OAuth 2.0 認証メカニズム。 使用可能な値: ServiceAuthentication、UserAuthentication。 ServiceAuthentication はセルフホステッド IR のみで使用できます。 |
はい |
| UserAuthentication の場合: | ||
| refreshToken | UserAuthentication で Ads へのアクセスを承認するために Google から取得した更新トークン。 このフィールドを SecureString としてマークして安全に保存するか、パスワードをAzure Key Vaultに格納し、データ コピーの実行時にコピー アクティビティがそこからプルされるようにすることができます。詳細については、 |
いいえ |
| clientId | 更新トークンを取得するために使用される Google アプリケーションのクライアント ID。 このフィールドを SecureString としてマークして安全に保存するか、パスワードをAzure Key Vaultに格納し、データ コピーの実行時にコピー アクティビティがそこからプルされるようにすることができます。詳細については、 |
いいえ |
| clientSecret | 更新トークンを取得するために使用される google アプリケーションのクライアント シークレット。 このフィールドを SecureString としてマークして安全に保存するか、パスワードをAzure Key Vaultに格納し、データ コピーの実行時にコピー アクティビティがそこからプルされるようにすることができます。詳細については、 |
いいえ |
| ServiceAuthentication の場合: | ||
| メール | ServiceAuthentication で使用されるサービス アカウントの電子メール ID。これはセルフホステッド IR のみで使用できます。 | いいえ |
| privateKey | 推奨ドライバー バージョンの ServiceAuthentication で使用されるサービス プライベート キーは、セルフホステッド IR のみで使用できます。 このフィールドを SecureString としてマークして安全に保存するか、パスワードをAzure Key Vaultに格納し、データ コピーの実行時にコピー アクティビティがそこからプルされるようにすることができます。詳細については、 |
いいえ |
| レガシ ドライバーのバージョンを使用する ServiceAuthentication の場合: | ||
| メール | ServiceAuthentication で使用されるサービス アカウントの電子メール ID。これはセルフホステッド IR のみで使用できます。 | いいえ |
| keyFilePath | サービス アカウントのメール アドレスを認証するために使用される .p12 または .json キー ファイルへの完全なパス。これはセルフホステッド IR でのみ使用できます。 |
いいえ |
| trustedCertPath | TLS 経由で接続するときにサーバーを検証するための信頼された CA 証明書を含む .pem ファイルの完全なパス。 このプロパティは、セルフホステッド IR 上で TLS を使用している場合にのみ設定できます。 既定値は、IR でインストールされる cacerts.pem ファイルです。 | いいえ |
| useSystemTrustStore | システムの信頼ストアと指定した PEM ファイルのどちらの CA 証明書を使用するかを指定します。 既定値は false です。 | いいえ |
例:
{
"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 に設定する必要があります | はい |
| tableName | テーブルの名前。 レガシ ドライバーのバージョンを使用する場合は、このプロパティを指定してください。 | いいえ (アクティビティ ソースの "query" が指定されている場合) |
例
{
"name": "GoogleAdsDataset",
"properties": {
"type": "GoogleAdWordsObject",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<GoogleAds linked service name>",
"type": "LinkedServiceReference"
}
}
}
Copy アクティビティ のプロパティ
アクティビティの定義に利用できるセクションとプロパティの完全な一覧については、パイプラインに関する記事を参照してください。 このセクションでは、Google Ads ソースでサポートされるプロパティの一覧を示します。
ソースとしての Google Ads
Google Ads からデータをコピーするには、コピー アクティビティでのソースの種類を GoogleAdWordsSource に設定します。 コピー アクティビティの source セクションでは、次のプロパティがサポートされます。
| プロパティ | 説明 | 必須 |
|---|---|---|
| 型 | コピー アクティビティ ソースの type プロパティは GoogleAdWordsSource に設定する必要があります。 | はい |
| クエリ | 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>"
}
}
}
]
Lookup アクティビティのプロパティ
プロパティの詳細については、Lookup アクティビティに関するページを参照してください。
Google Ads ドライバーのバージョンをアップグレードする
Google Ads ドライバーのバージョンをアップグレードするには、リンク サービスを更新し、SQL から Google Ads Query Language (GAQL) への移行方法を学ぶ必要があります。
リンク サービス構成を更新する
[リンク サービスの編集] ページで、[ドライバーのバージョン] で [推奨] を選択し、[リンクされたサービスのプロパティ] を参照してリンク サービスを構成します。
SQL から GAQL への移行
SQL から GAQL への移行時に、クエリ ステートメントとフィールド名を変換します。
クエリ ステートメント
レガシ Google Ads リンク サービスを参照するコピー アクティビティのソースまたは検索アクティビティで SQL クエリを使用する場合は、それらを GAQL クエリに更新する必要があります。
SQL とは対照的に、GAQL のクエリは次の 6 種類の句で構成されています。
SELECTFROMWHEREORDER BYLIMITPARAMETERS
GAQL の概要については、「Google Ads Query 言語の文法」を参照してください。
例として、次の SQL ステートメントを取り上げます。
SELECT *|FieldName FROM ResourceName WHERE FieldName Operator Value
次のガイダンスに従って、SQL ステートメントを対応する GAQL ステートメントに変換できます。
-
*句の後にSELECT(アスタリスク) を使用した場合、GAQL はSELECT *をサポートしていないため、アスタリスクの代わりにすべての必須フィールドを指定する必要があります。 この記事にアクセスすると、特定のリソースで選択可能なすべてのフィールドを確認できます。 - フィールド名が
SELECT句の後に使用されている場合、GAQL の命名規則が異なるため、その名前を GAQL の対応するフィールド名に変換する必要があります。 たとえば、SQL クエリ ステートメントのフィールド名campaign_idは、GAQL ではcampaign.idに変換する必要があります。 フィールド名の変換に関する詳細については、「フィールド名」を参照してください。 - リソース名は、ここで指定されたものと大文字と小文字の区別が矛盾しない限り、そのままにすることができます。
-
WHERE句は、GAQL でサポートされる演算子が SQL と整合していないため、GAQL 文法に従って更新する必要があります。また、フィールド名も 2 番目のポイントで説明したとおりに変換する必要があります。
以下は、Google で提供される 2 つの非常に便利なツールで、対応する GAQL クエリ ステートメントを構築する際に強くお勧めします。
フィールド名
SQL で使用されるフィールド名は、GAQL と一致していません。 また、SQL のフィールド名から GAQL のフィールド名への変換規則も学ぶ必要があります。 この変換規則をまとめると次のようになります。
フィールド名がリソースに属する場合、SQL のアンダースコア (
_) は GAQL ではドット (.) に変更されます。 また、ドット間の単語については、SQL で使用されているキャメルケースのステートメントの種類が、ドット間にアンダースコアを追加した単独の単語に変更されます。 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 広告の違い
次の表は、推奨ドライバー バージョンとレガシ ドライバー バージョンを使った Google 広告の機能の違いを示しています。
| 推奨ドライバー バージョン | レガシ ドライバー バージョン |
|---|---|
| Google 広告 API のバージョンの指定がサポートされています。 | Google 広告 API のバージョンの指定はサポートされていません。 |
| ServiceAuthentication は次の 2 つのプロパティをサポートしています。 •電子メール • プライベートキー (privateKey) |
ServiceAuthentication は次の 4 つのプロパティをサポートしています。 •電子メール • keyFilePath • 信頼された証明書パス • useSystemTrustStore(システムの信頼ストアを使用) |
| データセット内のテーブルの選択はサポートされていません。 | データセット内のテーブルの選択と、コピー アクティビティでのテーブルのクエリをサポートします。 |
| クエリ言語として GAQL 構文をサポートします。 | クエリ言語として SQL 構文をサポートします。 |
| 出力列名は、Google 広告で定義されているフィールド名と同じです。 | 出力列名は Google 広告で定義されたフィールド名と一致しません。 |
| Google 広告のデータ型から、サービスによって内部的に使用される中間データ型への、以下のマッピングが使用されます。 float -> float int32 -> int int64 -> ロング |
Google 広告のデータ型から、サービスによって内部的に使用される中間データ型への、以下のマッピングが使用されます。 float -> 文字列 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 ラベル 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 ビデオ
このアップグレードには特定の制限があることに注意してください。
- AWQL のすべてのレポートの種類が GAQL でサポートされているわけではありません。
- すべての AWQL クエリが GAQL クエリに明確に変換されるわけではありません。
関連コンテンツ
Copy アクティビティでソースおよびシンクとしてサポートされるデータ ストアの一覧については、サポートされるデータ ストアに関するセクションを参照してください。