Notifikasi

Hanya tersedia di Google Ad Manager 360.

Mengakses bucket penyimpanan Ad Manager

Cara mendownload file Transfer Data

Google Cloud Storage adalah produk Google terpisah yang digunakan Ad Manager sebagai repositori data untuk laporan Transfer Data dan ID cookie audiens yang diupload secara massal.

Artikel ini ditujukan guna membantu Anda menggunakan teknologi Google Cloud Storage standar untuk berinteraksi dengan penyiapan penyimpanan cloud khusus Ad Manager. Namun, referensi utama untuk Google Cloud Storage adalah situs developer Google Cloud Storage.

Metode

Ada tiga cara untuk mengakses bucket penyimpanan cloud Ad Manager. Sesuai urutan kompleksitasnya:

  • Di web: Buka https://console.developers.google.com/storage/gdfp-[kode jaringan Ad Manager].
  • gsutil adalah alat command line berbasis Python yang menyediakan perintah seperti Unix untuk berinteraksi dengan bucket penyimpanan. Autentikasi bucket diabstraksi dan ditangani secara otomatis.
  • Google Cloud Storage API adalah API dengan fitur penuh untuk memanipulasi bucket penyimpanan, yang tersedia melalui antarmuka web XML RESTful atau JSON. Library klien API tersedia untuk banyak lingkungan pemrograman populer, termasuk Java, JavaScript, Python, dan Objective-C. Pendekatan ini paling berguna jika Anda perlu memanipulasi bucket penyimpanan secara terprogram untuk mengintegrasikan dengan aplikasi Google App Engine atau aplikasi web Java.

Artikel ini memberikan detail tentang Google Cloud Storage API. Akses gsutil dan web lebih mudah dikelola, jadi sebaiknya pelajari metode ini terlebih dahulu. Metode tersebut sepenuhnya didokumentasikan di situs developer Google Cloud Storage.

Mengelola akses ke bucket penyimpanan Ad Manager Anda

Bucket penyimpanan yang digunakan oleh Ad Manager disertakan dalam project penyimpanan cloud milik Google. Bucket penyimpanan Ad Manager tidak muncul dalam daftar project Anda sendiri di Google Developers Console.

Anda harus bekerja sama dengan perwakilan Google untuk menyiapkan fitur yang bergantung pada bucket penyimpanan Ad Manager. Fitur tersebut akan menyediakan grup Google untuk Anda guna mengelola bucket penyimpanan.

Jika Anda adalah administrator grup G Suite yang sudah ada, Anda dapat memberikan nama grup Google G Suite ke perwakilan Anda sebagai bagian dari proses pengaktifan fitur. Mereka akan bekerja sama dengan Anda untuk mengaktifkan fitur apa pun yang menggunakan bucket penyimpanan Ad Manager menggunakan grup yang sudah ada.

Jika Anda mengelola lebih dari satu jaringan Ad Manager dengan akses ke Transfer Data, Anda harus menyampaikan hal ini kepada perwakilan Google agar pengelolaan jaringan dapat dikonsolidasikan. Satu grup akan digunakan untuk mengelola semua bucket Transfer Data di seluruh jaringan Anda.

Grup Google yang bukan bagian dari G Suite tidak dapat digunakan untuk mengelola bucket penyimpanan Ad Manager.

Menggunakan Google Cloud Storage API

Jika Anda telah menentukan bahwa akses API adalah pilihan yang terbaik untuk kebutuhan Anda, sebaiknya konfigurasikan akun layanan Google Cloud Storage.

Mengonfigurasi akun layanan Google Cloud Storage

Saat mengakses bucket penyimpanan melalui API, sebaiknya konfigurasi akun layanan daripada menjalankannya dalam konteks pengguna. Akun layanan menyederhanakan pengembangan aplikasi dengan menggunakan kunci pribadi untuk autentikasi, sebagai ganti dari token OAuth yang dibuat secara dinamis. Untuk mengonfigurasi akun layanan:

  1. Buka Google Developers Console.

  2. Buat project baru (atau pilih project yang ada) untuk menjadi induk dari aplikasi Anda dan klik project tersebut.

  3. (Opsional) Jika Anda berencana untuk menyalin file dari bucket penyimpanan Ad Manager ke akun Google Cloud Storage Anda sendiri, klik Penagihan & setelan untuk menambahkan sumber penagihan ke project Anda.

  4. Buat client ID baru:

    1. Klik API & Layanan > Kredensial.

    2. Klik Buat Client ID baru.

    3. Pilih Akun layanan sebagai jenis aplikasi Anda, lalu klik Buat Client ID.

    4. Alamat email yang dibuat menggunakan format [id-unik]@developer.gserviceagccount.com. Salin dan simpan untuk menambahkannya ke Google grup Anda.

    5. Klik Buat kunci P12 baru. File tersebut disimpan ke komputer. Gunakan kunci ini dalam aplikasi yang Anda kembangkan untuk mengakses API, seperti yang ditunjukkan pada contoh kode di bawah.

  5. Tambahkan alamat email ke grup Google yang Anda buat untuk mengelola akses ke bucket penyimpanan Ad Manager. Klik Langsung tambahkan anggota, bukan 'undang', untuk menambahkan akun layanan. Jika Anda tidak memiliki akses, minta administrator grup Google untuk menambahkan alamat untuk Anda. 
Contoh kode

Google menyediakan contoh kode dan library untuk Google Cloud Storage. Contoh Java berikut untuk membaca file dari bucket penyimpanan cloud Ad Manager menunjukkan bagaimana komponen yang telah Anda konfigurasi saat menyiapkan akun layanan diterapkan di kode Anda:

  • Nama project: Nama project Google Cloud Storage.

  • Alamat email akun layanan: Alamat email yang Anda buat.

  • File kunci .p12: File yang didownload.

  • Nama bucket: Google memberikan nama ini saat Anda mengaktifkan fitur yang menggunakan bucket penyimpanan cloud Ad Manager.

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.security.GeneralSecurityException;
import java.util.Collections;

import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.javanet.GoogleNetHttpTransport;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.services.storage.Storage;
import com.google.api.services.storage.model.StorageObject;

public class GcsApiTest {
    /**
     * Nama project tempat akun layanan dibuat.
     * 
     * Informasi ini ditampilkan di Google Developers Console.
     */
    private static final String PROJECT_NAME = "nama project";

    /**
     * Alamat email developer akun layanan.
     * 
     * Email ini dihasilkan setelah membuat Client ID Akun Layanan di
     * Google Developers Console, dan dapat diambil dari halaman
     * Kredensial. Email ini juga harus ditambahkan ke Google Group yang digunakan untuk mengontrol
     * akses ke bucket penyimpanan.
     */
    private static final String SERVICE_ACCOUNT_EMAIL = "alamat email akun layanan";

    /**
     * Bucket yang digunakan untuk operasi penyimpanan.
     * 
     * Nama bucket ini diberikan kepada Anda oleh Account
     * Manager. Bucket ini dapat memiliki nama yang serupa dengan "gdfp-12345678" atau
     * "gdfp_cookieupload_12345678", tergantung add-on Ad Manager yang Anda gunakan.
     */
    private static final String BUCKET_NAME = "nama bucket";

    /**
     * Cakupan Google Cloud Storage OAuth 2.0 untuk membaca/menulis. Ini harus
     * sesuai dengan hak akses yang dimiliki Google Grup Anda untuk
     * bucket, dan Anda tidak dapat meminta hak akses yang tidak diberikan ke
     * Grup (yang mungkin bersifat hanya_baca).
     */
    private static final String STORAGE_SCOPE = 
        "https://www.googleapis.com/auth/devstorage.read_write";

    /**
     * Jalur ke file key.p12 yang memberikan akses ke bucket.
     * 
     * File ini dibuat saat client ID layanan dibuat. Jika tidak
     * memiliki file ini, Anda perlu membuat kunci p12 klien baru dari
     * Google Developers Console.
     */
    private static final String KEY_P12 = "jalur ke file kunci .p12";

    /** HTTP transport. */
    private HttpTransport httpTransport;
    private Storage storage;

    // konstruktor, menyiapkan kredensial dan objek penyimpanan
    publik GcsApiTest() {
	File p12File = new File(KEY_P12);

	try {
	    httpTransport = GoogleNetHttpTransport.newTrustedTransport();

	    GoogleCredential credential = new GoogleCredential.Builder()
		    .setTransport(httpTransport)
		    .setJsonFactory(JacksonFactory.getDefaultInstance())
		    .setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
		    .setServiceAccountScopes(
			    Collections.singleton(STORAGE_SCOPE))
		    .setServiceAccountPrivateKeyFromP12File(p12File).build();
	    storage = new Storage.Builder(httpTransport,
		    JacksonFactory.getDefaultInstance(), credential)
		    .setApplicationName(PROJECT_NAME).build();
	} catch (GeneralSecurityException | IOException e1) {
	    e1.printStackTrace();
	    System.exit(1);
	}
    }

    /**
     * Metode untuk menampilkan nama file pertama dalam bucket.
     * 
     * @return nama file, atau null jika bucket kosong
     * @throws IOException
     */
    public String GetFirstFile() throws IOException {
	Storage.Objects.List listObjects = storage.objects().list(BUCKET_NAME);
	listObjects.setMaxResults(5L);
	com.google.api.services.storage.model.Objects objects = listObjects
		.execute();

	// bucket kosong?
	if (null == objects.getItems() || objects.getItems().isEmpty()) {
	    System.out.println("Bucket \"" + BUCKET_NAME
		    + "\" empty or invalid.");
	    return null;
	}

	StorageObject object = objects.getItems().get(0);
	System.out.println("First object in bucket: \"" + object.getName()
		+ "\".");
	return object.getName();
    }

    /**
     * Metode untuk mendownload file yang ditentukan dari bucket penyimpanan
     * 
     * @param nama file
     *            Nama file yang harus didownload.
     * @throws IOException
     */
    public void DownloadFile(String filename) throws IOException {
	Storage.Objects.Get getObject = storage.objects().get(BUCKET_NAME,
		filename);
	OutputStream os = new FileOutputStream(filename, true);
	getObject.getMediaHttpDownloader().setDirectDownloadEnabled(true);
	getObject.executeMediaAndDownloadTo(os);

	System.out.println("File \"" + filename + "\" downloaded.");
    }

    /**
     * Metode utama untuk menjalankan pengujian yang berbeda.
     * 
     * @param args
     */
    public static void main(String[] args) {
	GcsApiTest gcsApiTest = new GcsApiTest();

	try {
	    String filename = gcsApiTest.GetFirstFile();
	    gcsApiTest.DownloadFile(filename);
	} catch (IOException e) {
	    System.out.println(e.getMessage());
	}
    }
}

Sambungan serentak dan pemerlambat

Tidak ada batas dari sistem untuk sambungan serentak. Namun, untuk menghindari penyalahgunaan, Google memperlambat permintaan pengambilan Transfer Data.

Baca bagian Google Cloud Storage dari blog resmi Google Code untuk mendapatkan berita terbaru, dan posting pertanyaan ke Forum Diskusi Google Cloud Storage. Tambahkan "Bug" atau "Permintaan Fitur" ke baris subjek yang sesuai. Untuk pertanyaan lebih lanjut terkait Google Cloud Storage, lihat FAQ Google Cloud Storage.

Apakah ini membantu?

Bagaimana cara meningkatkannya?
Telusuri
Hapus penelusuran
Tutup penelusuran
Menu utama
14770770369897240316
true
Pusat Bantuan Penelusuran
true
true
true
true
true
148
false
false