Transfer Pemilik Konten YouTube

Dengan BigQuery Data Transfer Service untuk YouTube, Anda dapat menjadwalkan dan mengelola tugas pemuatan berulang secara otomatis untuk laporan Pemilik Konten YouTube.

Laporan yang Didukung

BigQuery Data Transfer Service untuk laporan Pemilik Konten YouTube mendukung opsi pelaporan berikut:

Opsi pelaporan Support
Versi API yang didukung 18 Juni 2018
Jadwal

Setiap hari, sekitar pukul 14.45 UTC

Anda dapat mengonfigurasi waktu pada hari itu.

Frekuensi pemuatan ulang

1 hari terakhir

Tidak dapat dikonfigurasi

Durasi pengisian ulang maksimum

30 hari

Mulai Juli 2018, laporan YouTube yang berisi data historis tersedia selama 30 hari sejak dibuat. Laporan yang berisi data non-historis tersedia selama 60 hari setelah perubahan kebijakan. Untuk mengetahui informasi selengkapnya, lihat Data historis di dokumentasi YouTube Reporting API.

Untuk informasi tentang cara laporan Pemilik Konten YouTube diubah menjadi tabel dan tampilan BigQuery, lihat Transformasi laporan Pemilik Konten YouTube.

Penyerapan data dari transfer Pemilik Konten YouTube

Saat Anda mentransfer data dari laporan Pemilik Konten YouTube ke BigQuery, data tersebut dimuat ke dalam tabel BigQuery yang dipartisi berdasarkan tanggal. Partisi tabel tempat data dimuat sesuai dengan tanggal dari sumber data. Jika Anda menjadwalkan beberapa transfer untuk tanggal yang sama, BigQuery Data Transfer Service akan menimpa partisi untuk tanggal tertentu tersebut dengan data terbaru. Beberapa transfer pada hari yang sama atau menjalankan pengisian ulang tidak akan menghasilkan data duplikat, dan partisi untuk tanggal lain tidak akan terpengaruh.

Batasan

  • Ukuran file maksimum yang didukung untuk setiap laporan adalah 1.710 GB.
  • Frekuensi minimum yang dapat dijadwalkan untuk transfer data adalah sekali setiap 24 jam. Secara default, transfer dimulai saat Anda membuat transfer. Namun, Anda dapat mengonfigurasi waktu mulai transfer saat menyiapkan transfer.
  • BigQuery Data Transfer Service tidak mendukung transfer inkremental selama transfer Pemilik Konten YouTube. Saat Anda menentukan tanggal untuk transfer data, semua data yang tersedia untuk tanggal tersebut akan ditransfer.

Sebelum memulai

Sebelum membuat transfer Pemilik Konten YouTube:

Izin yang diperlukan

Pastikan orang yang melakukan transfer memiliki izin yang diperlukan berikut:

  • BigQuery:

    • Izin bigquery.transfers.update untuk membuat transfer
    • Izin bigquery.datasets.get dan bigquery.datasets.update pada set data target

    Peran IAM bigquery.admin yang telah ditetapkan mencakup izin bigquery.transfers.update, bigquery.datasets.update, dan bigquery.datasets.get. Untuk mengetahui informasi lebih lanjut tentang peran IAM dalam BigQuery Data Transfer Service, lihat Kontrol akses.

  • YouTube:

    • Pengelola Konten YouTube atau Pemilik Konten YouTube.

    Pengelola Konten diberi hak untuk mengelola konten YouTube untuk Pemilik Konten. Pemilik Konten adalah akun yang menaungi satu atau lebih saluran YouTube beserta semua video pada saluran tersebut.

    • Hide revenue data dihapus centangnya di setelan laporan Pemilik Konten YouTube.

    Agar laporan terkait pendapatan dapat ditransfer, setelan izin laporan YouTube Hide revenue data harus dihapus centangnya untuk pengguna yang melakukan transfer.

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

Menyiapkan transfer Pemilik Konten YouTube

Penyiapan transfer Pemilik Konten YouTube memerlukan:

  • ID Pemilik Konten: Disediakan oleh YouTube. Ketika Anda login ke YouTube sebagai Pemilik atau Pengelola Konten, ID Anda akan muncul di URL setelah o=. Misalnya, jika URL-nya adalah https://youtube.com/dashboard?0=AbCDE_8FghIjK, ID Pemilik Kontennya adalah AbCDE_8FghIjK. Untuk informasi selengkapnya tentang akun Pengelola Konten Anda, lihat: Mengonfigurasi setelan akun Pengelola Konten.
  • Akhiran Tabel: Nama yang mudah digunakan untuk saluran yang Anda berikan saat menyiapkan transfer. Akhiran ditambahkan ke ID tugas untuk membuat nama tabel, misalnya reportTypeId_suffix. Akhiran digunakan untuk mencegah transfer terpisah agar tidak menulis ke tabel yang sama. Akhiran tabel harus unik di semua transfer yang memuat data ke dalam set data yang sama, dan akhiran harus pendek untuk meminimalkan panjang nama tabel yang dihasilkan.

Jika saat ini Anda menggunakan YouTube Reporting API dan sudah memiliki tugas pelaporan, BigQuery Data Transfer Service akan memuat data laporan Anda. Jika Anda belum memiliki tugas pelaporan, menyiapkan transfer akan otomatis mengaktifkan tugas pelaporan YouTube.

Untuk menyiapkan transfer Pemilik Konten YouTube:

Konsol

  1. Buka halaman BigQuery di Konsol Google Cloud. Pastikan Anda login ke akun sebagai Pemilik Konten atau Pengelola Konten.

    Buka halaman BigQuery

  2. Klik Transfers.

  3. Klik Create Transfer.

  4. Di halaman Create Transfer:

    • Di bagian Source type, untuk Source, pilih YouTube Content Owner.

      Sumber transfer

    • Di bagian Transfer config name, untuk Display name, masukkan nama untuk transfer, misalnya My Transfer. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer dengan mudah jika perlu mengubahnya nanti.

      Nama transfer

    • Di bagian Schedule options:

      • Untuk Repeat frequency, pilih opsi untuk seberapa sering transfer dijalankan. Jika Anda memilih Days, berikan waktu yang valid dalam UTC.

        • Jam
        • Hari
        • Sesuai permintaan
      • Jika berlaku, pilih Start now atau Start at set time dan masukkan tanggal mulai dan waktu proses.

    • Di bagian Destination settings, untuk Destination dataset, pilih set data yang Anda buat untuk menyimpan data.

      Mentransfer set data

    • Di bagian Data source details:

      • Untuk Content owner ID, masukkan ID Pemilik Konten Anda.
      • Untuk Tabel suffix, masukkan akhiran seperti MT.

        Detail sumber Pemilik Konten YouTube

    • Di menu Service Account, pilih service account dari akun layanan yang terkait dengan project Google Cloud Anda. Anda dapat mengaitkan akun layanan dengan transfer Anda, bukan menggunakan kredensial pengguna. Untuk mengetahui informasi selengkapnya tentang cara menggunakan akun layanan dengan transfer data, lihat Menggunakan akun layanan.

    • (Opsional) Di bagian Notification options:

      • Klik tombol untuk mengaktifkan notifikasi email. Saat Anda mengaktifkan opsi ini, administrator transfer akan menerima notifikasi email saat proses transfer gagal.
      • Untuk Select a Pub/Sub topic, pilih nama topik atau klik Create a topic. Opsi ini mengonfigurasi notifikasi operasi Pub/Sub untuk transfer Anda.
  5. Klik Save.

  6. Jika ini pertama kalinya Anda login ke akun, pilih akun, lalu klik Allow. Pilih akun yang sama tempat Anda adalah Pemilik Konten atau Pengelola Konten.

bq

Masukkan perintah bq mk dan berikan flag pembuatan transfer — --transfer_config. Flag berikut juga diperlukan:

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

Flag opsional:

  • --service_account_name - Menentukan akun layanan yang akan digunakan untuk autentikasi transfer Pemilik Konten, bukan akun pengguna Anda.
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

Dengan keterangan:

  • project_id adalah project ID Anda.
  • dataset adalah set data target untuk konfigurasi transfer.
  • name adalah nama tabel virtual untuk konfigurasi transfer. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.
  • parameters berisi parameter untuk konfigurasi transfer yang dibuat dalam format JSON. Contoh: --params='{"param":"param_value"}'. Untuk transfer Pemilik Konten YouTube, Anda harus memberikan parameter content_owner_id dan table_suffix. Anda dapat memilih untuk menyetel parameter configure_jobs ke true agar BigQuery Transfer Service dapat mengelola tugas pelaporan YouTube untuk Anda. Jika ada laporan YouTube yang saat ini belum ada untuk akun Anda, tugas pelaporan baru akan dibuat untuk mengaktifkannya.
  • data_source adalah sumber data — youtube_content_owner.
  • service_account_name adalah nama akun layanan yang digunakan untuk mengautentikasi transfer Anda. Akun layanan harus dimiliki oleh project_id yang sama dengan yang digunakan untuk membuat transfer dan harus memiliki semua izin yang diperlukan.

Anda juga dapat memberikan flag --project_id untuk menentukan project tertentu. Jika --project_id tidak ditentukan, project default akan digunakan.

Misalnya, perintah berikut membuat transfer Pemilik Konten YouTube bernama My Transfer menggunakan ID pemilik konten AbCDE_8FghIjK, akhiran tabel MT, dan set data target mydataset. Transfer dibuat di project default:

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

Gunakan metode projects.locations.transferConfigs.create dan berikan instance resource TransferConfig.

Java

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.

Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.bigquery.datatransfer.v1.CreateTransferConfigRequest;
import com.google.cloud.bigquery.datatransfer.v1.DataTransferServiceClient;
import com.google.cloud.bigquery.datatransfer.v1.ProjectName;
import com.google.cloud.bigquery.datatransfer.v1.TransferConfig;
import com.google.protobuf.Struct;
import com.google.protobuf.Value;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

// Sample to create youtube content owner channel transfer config
public class CreateYoutubeContentOwnerTransfer {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    final String projectId = "MY_PROJECT_ID";
    String datasetId = "MY_DATASET_ID";
    String contentOwnerId = "MY_CONTENT_OWNER_ID";
    String tableSuffix = "_test";
    Map<String, Value> params = new HashMap<>();
    params.put("content_owner_id", Value.newBuilder().setStringValue(contentOwnerId).build());
    params.put("table_suffix", Value.newBuilder().setStringValue(tableSuffix).build());
    TransferConfig transferConfig =
        TransferConfig.newBuilder()
            .setDestinationDatasetId(datasetId)
            .setDisplayName("Your Youtube Owner Channel Config Name")
            .setDataSourceId("youtube_content_owner")
            .setParams(Struct.newBuilder().putAllFields(params).build())
            .build();
    createYoutubeContentOwnerTransfer(projectId, transferConfig);
  }

  public static void createYoutubeContentOwnerTransfer(
      String projectId, TransferConfig transferConfig) throws IOException {
    try (DataTransferServiceClient client = DataTransferServiceClient.create()) {
      ProjectName parent = ProjectName.of(projectId);
      CreateTransferConfigRequest request =
          CreateTransferConfigRequest.newBuilder()
              .setParent(parent.toString())
              .setTransferConfig(transferConfig)
              .build();
      TransferConfig config = client.createTransferConfig(request);
      System.out.println(
          "Youtube content owner channel transfer created successfully :" + config.getName());
    } catch (ApiException ex) {
      System.out.print("Youtube content owner channel transfer was not created." + ex.toString());
    }
  }
}

Membuat kueri terhadap data

Saat data Anda ditransfer ke BigQuery, data tersebut akan ditulis ke tabel berpartisi berdasarkan waktu penyerapan. Untuk mengetahui informasi selengkapnya, lihat Tabel berpartisi.

Jika membuat kueri tabel secara langsung, bukan menggunakan tabel virtual yang dihasilkan secara otomatis, Anda harus menggunakan kolom semu _PARTITIONTIME dalam kueri. Untuk mengetahui informasi selengkapnya, lihat Membuat kueri tabel berpartisi.

Memecahkan masalah penyiapan transfer Pemilik Konten YouTube

Jika mengalami masalah saat menyiapkan transfer, lihat Masalah transfer YouTube di bagian Memecahkan masalah konfigurasi transfer.