Transfer Pemilik Konten YouTube

Dengan konektor BigQuery Data Transfer Service untuk Pemilik Konten 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 Dukungan
Versi API yang didukung 18 Juni 2018
Frekuensi pengulangan

Setiap hari, sekitar pukul 14.45 UTC

Anda dapat mengonfigurasi waktu pada hari itu.

Jendela refresh

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 akan 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 dalam satu hari atau menjalankan pengisian ulang tidak akan menghasilkan data duplikat, dan partisi untuk tanggal lain tidak akan terpengaruh.

Memuat ulang jendela

Periode refresh adalah jumlah hari yang diperlukan transfer data untuk mengambil data saat transfer data terjadi. Misalnya, jika periode pembaruan adalah tiga hari dan transfer harian terjadi, BigQuery Data Transfer Service akan mengambil semua data dari tabel sumber Anda selama tiga hari terakhir. Dalam contoh ini, saat transfer harian terjadi, BigQuery Data Transfer Service akan membuat partisi tabel tujuan BigQuery baru dengan salinan data tabel sumber Anda dari hari ini, lalu otomatis memicu pengisian ulang untuk memperbarui partisi tabel tujuan BigQuery dengan data tabel sumber Anda dari dua hari terakhir. Proses pengisian ulang yang dipicu secara otomatis akan menimpa atau memperbarui tabel tujuan BigQuery secara inkremental, bergantung pada apakah update inkremental didukung di konektor BigQuery Data Transfer Service atau tidak.

Saat Anda menjalankan transfer data untuk pertama kalinya, transfer data akan mengambil semua data sumber yang tersedia dalam periode refresh. Misalnya, jika periode pembaruan adalah tiga hari dan Anda menjalankan transfer data untuk pertama kalinya, BigQuery Data Transfer Service akan mengambil semua data sumber dalam tiga hari.

Periode pembaruan dipetakan ke kolom API TransferConfig.data_refresh_window_days.

Untuk mengambil data di luar periode pembaruan, seperti data historis, atau untuk memulihkan data dari gangguan atau kesenjangan transfer, Anda dapat memulai atau menjadwalkan operasi pengisian ulang.

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 data dimulai saat Anda membuat transfer data. Namun, Anda dapat mengonfigurasi waktu mulai transfer saat menyiapkan transfer.
  • BigQuery Data Transfer Service tidak mendukung transfer data 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 Anda membuat transfer data Pemilik Konten YouTube:

Izin yang diperlukan

Pastikan orang yang membuat transfer data memiliki izin yang diperlukan berikut:

  • BigQuery:

    • Izin bigquery.transfers.update untuk membuat transfer data
    • 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 data 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://studio.youtube.com/owner/AbCDE_8FghIjK?o=AbCDE_8FghIjK, ID Pemilik Kontennya adalah AbCDE_8FghIjK. Untuk memilih akun Pengelola Konten lain, lihat Login ke akun Pengelola Konten atau Pengalih Channel YouTube. Untuk mengetahui informasi selengkapnya tentang cara membuat dan mengelola akun Pengelola Konten, 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 data 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 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 data akan otomatis mengaktifkan tugas pelaporan YouTube.

Untuk menyiapkan transfer data 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 data, seperti My Transfer. Nama transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika perlu mengubahnya nanti.

      Nama transfer

    • Di bagian Schedule options:

      • Untuk Repeat frequency, pilih opsi seberapa sering transfer data 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 data, 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 transfer data 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 tampilan untuk konfigurasi transfer. Nama transfer data 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 data Pemilik Konten YouTube, Anda harus memberikan parameter content_owner_id dan table_suffix. Anda dapat memilih untuk menetapkan parameter configure_jobs ke true agar BigQuery Data Transfer Service dapat mengelola tugas pelaporan YouTube untuk Anda. Jika ada laporan YouTube yang 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 data Anda. Akun layanan harus dimiliki oleh project_id yang sama 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 data Pemilik Konten YouTube bernama My Transfer menggunakan ID pemilik konten AbCDE_8FghIjK, akhiran tabel MT, dan set data target mydataset. Transfer data 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 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 Anda mengalami masalah saat menyiapkan transfer data, lihat Masalah transfer YouTube di bagian Memecahkan masalah konfigurasi transfer.