YouTube コンテンツ所有者の転送

BigQuery Data Transfer Service for YouTube を使用すると、繰り返し実施する必要がある YouTube コンテンツ所有者レポートの読み込みジョブのスケジュールと管理を自動化できます。

サポートされるレポート

BigQuery Data Transfer Service for YouTube のコンテンツ所有者レポートでは現在、次のレポート オプションがサポートされています。

YouTube コンテンツ所有者レポートが BigQuery のテーブルとビューに変換される仕組みについては、YouTube コンテンツ所有者レポートの変換をご覧ください。

レポート オプション サポート
サポート対象の API バージョン 2018 年 6 月 18 日
スケジュール

毎日、UTC 時間の 14 時 45 分頃

時刻を設定できます。

ウィンドウの更新

過去 1 日

構成不可

最大バックフィル期間

30 日

2018 年 7 月現在、履歴データを含む YouTube レポートは、生成後 30 日間利用できます(履歴データ以外のデータを含むレポートは、ポリシー変更後 60 日間利用できます)。詳細については、YouTube Reporting API ドキュメントの履歴データをご覧ください。

始める前に

YouTube コンテンツ所有者の転送を作成する前に、以下を行います。

  • BigQuery Data Transfer Service を有効にするために必要なすべての操作が完了していることを確認します。
  • YouTube データを格納する BigQuery データセットを作成します。
  • YouTube コンテンツ所有者アカウントを持っていることを確認します。YouTube コンテンツ所有者は、YouTube チャンネルと同じではありません。 通常、さまざまなチャンネルを管理する場合は、YouTube コンテンツ所有者アカウントのみが必要です。
  • 従来の BigQuery ウェブ UI を使用して転送を作成する場合は、権限ウィンドウが表示されるように、bigquery.cloud.google.com からのポップアップを許可します。転送を成功させるには、BigQuery Data Transfer Service 権限に YouTube レポートデータの管理を許可する必要があります。
  • Pub/Sub の転送実行通知を設定する場合は、pubsub.topics.setIamPolicy 権限が必要です。メール通知を設定するだけの場合、Pub/Sub の権限は必要ありません。詳細については、BigQuery Data Transfer Service の実行通知をご覧ください。

必要な権限

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

  • BigQuery:

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

    事前定義されたプロジェクト レベルの IAM の役割 bigquery.admin には、bigquery.transfers.update 権限と bigquery.datasets.update 権限が含まれています。BigQuery Data Transfer Service での Cloud IAM の役割について詳しくは、アクセス制御のリファレンスをご覧ください。

  • YouTube:

    • YouTube コンテンツ マネージャまたは YouTube コンテンツ所有者。

    コンテンツ マネージャには、コンテンツ所有者の YouTube コンテンツを管理する権限が付与されます。コンテンツ所有者とは、1 つ以上の YouTube チャンネルとそのチャンネルの動画を所有するアカウントのことです。

    • YouTube コンテンツ所有者レポートの設定で、Hide revenue data がオフになっていること。

    収益に関連するレポートを転送するには、転送を作成するユーザーの YouTube レポート権限の設定で Hide revenue data をオフにする必要があります。

    youtube-content-owner-reports-uncheck-hide-revenue

YouTube コンテンツ所有者の転送の設定

YouTube コンテンツ所有者の転送を設定するには、以下が必要です。

  • コンテンツ所有者 ID: YouTube から提供されます。YouTube にコンテンツ所有者またはコンテンツ マネージャとしてログインすると、URL の o= の後に ID が表示されます。たとえば、URL が https://youtube.com/dashboard?0=AbCDE_8FghIjK の場合、コンテンツ所有者 ID は AbCDE_8FghIjK です。コンテンツ マネージャ アカウントの詳細については、コンテンツ マネージャのアカウント設定をご覧ください。
  • テーブル サフィックス: 転送を設定するときにユーザーが指定するわかりやすいチャンネル名です。テーブル名は、このサフィックスをジョブ ID に追加して作成されます(例: reportTypeId_suffix)。別の転送で同じテーブルに書き込まれないようにするために、このサフィックスが使用されます。テーブル サフィックスは、同じデータセットにデータを読み込むすべての転送で一意にする必要があり、また、生成されるテーブル名の長さを抑えるために短くする必要があります。

現在 YouTube Reporting API を使用していて、既存のレポート作成ジョブが存在する場合は、BigQuery Data Transfer Service によってユーザーのレポートデータが読み込まれます。既存のレポート作成ジョブがない場合は、転送を設定すると、YouTube レポート作成ジョブが自動的に有効になります。

YouTube コンテンツ所有者の転送を設定するには:

Console

  1. Cloud Console の BigQuery ウェブ UI に移動します。

    Cloud Console に移動

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

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

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

    • [ソースタイプ] セクションの [ソース] で、YouTube コンテンツ管理者を選択します。

      転送のソース

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

      転送名

    • [スケジュール オプション] セクションで、[スケジュール] をデフォルト値([すぐに開始可能])のままにするか、[設定した時間に開始] をクリックします。

      • [繰り返しの頻度] で、転送を実行する頻度のオプションを選択します。
        • 毎日(デフォルト)
        • 毎週
        • 毎月
        • カスタム
        • オンデマンド
      • [開始日と実行時間] に、転送を開始する日付と時刻を入力します。[すぐに開始可能] を選択した場合、このオプションは無効になります。

        転送スケジュール

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

      転送データセット

    • [データソースの詳細] セクションで、次の操作を行います。

      • [コンテンツ所有者 ID] に、コンテンツ所有者 ID を入力します。
      • [テーブル サフィックス] に、サフィックス(例: MT)を入力します。

        YouTube コンテンツ所有者のソースの詳細

    • (省略可)[通知オプション] セクションで、次の操作を行います。

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

従来の UI

  1. BigQuery ウェブ UI に移動します。

    BigQuery ウェブ UI に移動

  2. [Transfers] をクリックします。

  3. [Add Transfer] をクリックします。

  4. [New Transfer] ページで次の操作を行います。

    • [Source] で [YouTube Content Owner] を選択します。
    • [Display name] に転送名(例: My Transfer)を入力します。転送名には、後で修正が必要になった場合に簡単に識別できる任意の名前を使用できます。
    • [スケジュール] は、デフォルト値のままにするか、[Edit] をクリックして時刻を変更します。

      コンテンツ所有者の転送のカスタム スケジュール

    • [Destination dataset] で、該当するデータセットを選択します。

    • [コンテンツ所有者 ID] に、コンテンツ所有者 ID を入力します。

    • [テーブル サフィックス] に、サフィックス(例: MT)を入力します。

    • BigQuery Data Transfer Service に YouTube レポート作成ジョブの管理を許可するには、[Configure jobs] をオンにします。現在アカウントに存在しない YouTube レポートがある場合は、新しいレポート作成ジョブが作成されてそのレポートが有効になります。

      コンテンツ所有者の転送のデフォルト スケジュール

    • (省略可)[Advanced] セクションを展開し、転送の実行通知を構成します。

      • [Pub/Sub topic] に、トピック名(例: projects/myproject/topics/mytopic)を入力します。
      • [Send email notifications] をオンにして、転送実行失敗のメール通知を許可します。
      • 転送を設定するときは [Disabled] をオンにしないでください。既存の転送を無効にするには、転送の操作をご覧ください。

        Pub/Sub トピック

  5. [追加] をクリックします。

  6. プロンプトが表示されたら、[Allow] をクリックし、YouTube レポート作成データの表示権限、BigQuery でのデータのアクセス権限と管理権限を BigQuery Data Transfer Service に付与します。権限ウィンドウが表示されるように、bigquery.cloud.google.com からのポップアップを許可する必要があります。

    転送の許可

CLI

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

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

ここで

  • project_id は、プロジェクト ID です。
  • dataset は、転送構成のターゲット データセットです。
  • name は、転送構成の表示名です。転送名には、後で修正が必要になった場合に簡単に識別できる任意の名前を使用できます。
  • parameters には、作成される転送構成のパラメータを JSON 形式で指定します例: --params='{"param":"param_value"}'。YouTube コンテンツ所有者の転送では、content_owner_id パラメータと table_suffix パラメータを指定する必要があります。必要に応じて、configure_jobs パラメータを true に設定して、BigQuery Data Transfer Service で YouTube のレポート作成ジョブを管理できるようにします。現在アカウントに存在しない YouTube レポートがある場合は、新しいレポート作成ジョブが作成されてそのレポートが有効になります。
  • data_source は、データソース youtube_content_owner です。

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

たとえば、次のコマンドは、コンテンツ所有者 ID AbCDE_8FghIjK、テーブル サフィックス MT、ターゲット データセット mydataset を使用して、My Transfer という名前の YouTube コンテンツ所有者の転送を作成します。この転送はデフォルトのプロジェクトで作成されます。

bq mk \
    --transfer_config \
    --target_dataset=mydataset \
    --display_name='My Transfer' \
    --params='{"content_owner_id":"abCDE_8FghIjK","table_suffix":"MT","configure_jobs":"true"}' \
    --data_source=youtube_content_owner
    

API

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

データのクエリ

データが BigQuery に転送されると、取り込み時間パーティション分割テーブルにそのデータが書き込まれます。詳細については、分割テーブルをご覧ください。

自動生成のビューではなく、テーブルにクエリを直接実行する場合には、クエリで _PARTITIONTIME 疑似列を使用する必要があります。詳細については、パーティション分割テーブルのクエリをご覧ください。

YouTube コンテンツ所有者の転送設定のトラブルシューティング

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