Google Merchant Center 転送のスケジュールを設定する

始める前に

Google Merchant Center の転送を作成する前に、次のことを行ってください。

  • BigQuery Data Transfer Service を有効にするために必要なすべての操作が完了していることを確認します。
  • Google Merchant Center のデータを保存する BigQuery データセットを作成します。
    • データセット リージョンについては、US または EU のデフォルト オプションであるマルチリージョンの使用がサポートされています。
    • 特定のリージョンでデータセットを作成する場合、Merchant Center のデータ転送は次のリージョンでのみサポートされます。
    • us-east4 (Northern Virginia)
    • asia-northeast1 (Tokyo)
    • asia-southeast1 (Singapore)
    • australia-southeast1 (Sydney)
    • europe-north1 (Finland)
    • europe-west2 (London)
    • europe-west6 (Zurich)
  • Pub/Sub の転送実行通知を設定する場合は、pubsub.topics.setIamPolicy 権限が必要です。メール通知を設定するだけの場合、Pub/Sub の権限は必要ありません。詳細については、BigQuery Data Transfer Service の実行通知をご覧ください。

必要な権限

転送を作成するユーザーに、次の必要な権限が付与されていることを確認します。

  • BigQuery:

    • bigquery.transfers.update(転送を作成する権限)
    • 抽出先データセットに対する bigquery.datasets.getbigquery.datasets.updateの両方の権限

    bigquery.transfers.update 権限、bigquery.datasets.update 権限、bigquery.datasets.get 権限は、IAM 事前定義ロール bigquery.admin に含まれています。BigQuery Data Transfer Service での IAM ロールについて、詳しくはアクセス制御をご覧ください。

  • Google Merchant Center

Google Merchant Center の転送を設定する

Google Merchant Center レポートのデータ転送を設定するには、以下が必要です。

  • 販売者 ID またはマルチクライアント アカウント ID: これは、Google Merchant Center UI に表示されている販売者 ID です。

Google Merchant Center レポートのデータ転送を作成するには:

コンソール

  1. Google Cloud コンソールの [BigQuery] ページに移動します。

    [BigQuery] ページに移動

  2. [データ転送] をクリックします。

  3. [転送を作成] をクリックします。

  4. [転送の作成] ページで、次の操作を行います。

    • [ソースタイプ] セクションの [ソース] で、[Google Merchant Center] を選択します。

    • [転送構成名] セクションの [表示名] に、転送名(例: My Transfer)を入力します。転送名には、後で修正が必要になった場合に識別できる任意の名前を使用できます。

      転送名

    • [スケジュール オプション] セクションで:

      • [繰り返しの頻度] を選択します。[時間]、[]、[]、[] を選択する場合は、頻度も指定する必要があります。[カスタム] を選択して、カスタムの繰り返しの頻度を指定することもできます。[オンデマンド] を選択した場合、手動で転送をトリガーすると、この転送が実行されます。

      • 必要に応じて、[すぐに開始可能] を選択するか、[設定した時刻に開始] を選択して開始日と実行時間を指定します。

      • [開始日と実行時間] に、転送を開始する日付と時刻を入力します。現在の UTC 時刻から 24 時間以上後の値を指定してください。[すぐに開始可能] を選択した場合、このオプションは無効になります。

        転送スケジュール

        スケジュール オプションの設定を [今すぐ開始] のままにすると、最初の転送実行が直ちに開始され、No data to transfer found for the Merchant account. If you have just created this transfer, you may need to wait for up to a day before the data of your Merchant account are prepared and available for the transfer. というエラー メッセージで失敗します。スケジュールされている次回の転送は正常に実行されます。販売アカウントのデータが UTC 時間の同じ日に準備されている場合は、当日の実行のためのバックフィルを設定できます。

    • [転送先の設定] セクションの [宛先データセット] で、データを保存するために作成したデータセットを選択します。

      転送データセット

    • [データソースの詳細] セクションの [販売者 ID] に、販売者 ID または MCA ID を入力します。

      転送するレポートを選択します。詳細については、サポートされるレポートをご覧ください。

      Google Merchant Center の転送データ。

    • [サービス アカウント] メニューで、Google Cloud プロジェクトに関連付けられたサービス アカウントからサービス アカウントを選択します。ユーザー認証情報を使用する代わりに、サービス アカウントを転送に関連付けることができます。データ転送でサービス アカウントを使用する方法の詳細については、サービス アカウントの使用をご覧ください。

      • フェデレーション ID でログインした場合、転送を作成するにはサービス アカウントが必要です。Google アカウントでログインした場合、転送用のサービス アカウントは省略可能です。
      • サービス アカウントには必要な権限が付与されている必要があります。
    • (省略可)[通知オプション] セクションで、次の操作を行います。

      • 切り替えボタンをクリックしてメール通知を有効にします。このオプションを有効にすると、転送の実行が失敗した場合、転送管理者にメール通知が送信されます。
      • [Pub/Sub トピックを選択してください] で、トピック名を選択するか、[トピックを作成する] をクリックします。このオプションで、Pub/Sub の転送実行通知を構成します。
  5. [保存] をクリックします。

bq

bq mk コマンドを入力して、転送作成フラグ --transfer_config を指定します。次のフラグも必要です。

  • --data_source
  • --target_dataset
  • --display_name
  • --params

--project_id フラグを指定して、特定のプロジェクトを指定することもできます。--project_id を指定しない場合は、デフォルトのプロジェクトが使用されます。

bq mk \
--transfer_config \
--project_id=project_id \
--target_dataset=dataset \
--display_name=name \
--params='parameters' \
--data_source=data_source
--service_account_name=service_account_name

ここで

  • project_id は、プロジェクト ID です。
  • dataset は、転送構成の抽出先データセットです。
  • name は、転送構成の表示名です。転送名には、後で修正が必要になった場合に識別できる任意の名前を使用できます。
  • parameters には、作成される転送構成のパラメータを JSON 形式で指定します。例: --params='{"param":"param_value"}'
    • Google Merchant Center では、merchant_id パラメータを指定する必要があります。
    • export_products パラメータは、商品と商品問題のデータを転送するかどうかを指定します。export_products パラメータを指定しなくても、このパラメータはデフォルトで含まれています。このパラメータを明示的に含めて、true に設定することをおすすめします。
    • export_regional_inventories パラメータは、地域別在庫データを転送するかどうかを指定します。
    • export_local_inventories パラメータは、ローカル在庫データを転送するかどうかを指定します。
    • export_price_competitiveness パラメータは、価格競争力データを転送するかどうかを指定します。
    • export_price_insights パラメータは、価格の検討データを転送するかどうかを指定します。
    • export_best_sellers_v2 パラメータは、ベストセラー データを転送するかどうかを指定します。
    • export_performance パラメータは、商品のパフォーマンス データを転送するかどうかを指定します。
  • data_source は、データソース(merchant_center)です。
  • service_account_name は、転送の認証に使用されるサービス アカウント名です。サービス アカウントは、転送の作成に使用した project_id が所有している必要があります。また、必要な権限がすべて付与されている必要があります。

たとえば、次のコマンドは、販売者 ID 1234 とターゲット データセット mydataset を使用して、My Transfer という名前の Google Merchant Center の転送を作成します。この転送はデフォルトのプロジェクト内に作成されます。

bq mk \
--transfer_config \
--target_dataset=mydataset \
--display_name='My Transfer' \
--params='{"merchant_id":"1234","export_products":"true","export_regional_inventories":"true","export_local_inventories":"true","export_price_benchmarks":"true","export_best_sellers":"true"}' \
--data_source=merchant_center

コマンドの初回実行時に、次のようなメッセージが表示されます。

[URL omitted] Please copy and paste the above URL into your web browser and follow the instructions to retrieve an authentication code.

メッセージの指示に従って、認証コードをコマンドラインに貼り付けます。

この転送を作成したばかりの場合は、販売アカウントのデータが準備されて転送に使用できるようになるまでに最長で 1 日間かかることがあります。スケジュールされている次回の転送は正常に実行されます。販売アカウントのデータが UTC 時間の同じ日に準備されている場合は、当日の実行のためのバックフィルを設定できます。

API

projects.locations.transferConfigs.create メソッドを使用して、TransferConfig リソースのインスタンスを指定します。

Google Merchant Center の転送設定のトラブルシューティング

転送を設定する際に問題が発生した場合は、BigQuery Data Transfer Service 転送設定のトラブルシューティングGoogle Merchant Center の転送に関する問題をご覧ください。