Notifica

Disponibile solo in Google Ad Manager 360.

Accedere ai bucket di archiviazione di Ad Manager

Come scaricare i file Data Transfer

Google Cloud Storage è un prodotto Google indipendente che Ad Manager utilizza come repository di dati per funzioni quali rapporti Data Transfer e caricamento collettivo di ID cookie nei segmenti di pubblico.

Questo articolo ha lo scopo di aiutarti a utilizzare le tecnologie standard di Google Cloud Storage per configurare lo spazio di archiviazione cloud specifico di Ad Manager. Tuttavia, il riferimento principale per Google Cloud Storage è il sito per gli sviluppatori di Google Cloud Storage.

Metodi

Esistono tre metodi per accedere ai bucket di archiviazione cloud di Ad Manager. In ordine di complessità:

  • Sul Web: visita https://console.developers.google.com/storage/gdfp-[codice di rete Ad Manager].
  • gsutil è uno strumento della riga di comando basato su Python che fornisce i comandi Unix-like per utilizzare il bucket di archiviazione. L'autenticazione del bucket è astratta e viene gestita automaticamente.
  • L'API di Google Cloud Storage è un'API completa per la gestione del bucket di archiviazione, disponibile sulle interfacce web JSON o XML RESTful. Sono disponibili librerie client dell'API per molti ambienti di programmazione tra i più utilizzati, come Java, JavaScript, Python e Objective-C. Questo approccio è più efficace se devi gestire i bucket di archiviazione in modo sistematico per integrarli con un'app di Google App Engine o un'app web di Java.

Questo articolo fornisce dettagli sull'API di Google Cloud Storage. L'accesso tramite Web o gsutil è più semplice da gestire, quindi consigliamo di provare prima questi metodi. La documentazione completa è disponibile sul sito degli sviluppatori di Google Cloud Storage.

Gestire l'accesso ai bucket di archiviazione di Ad Manager

I bucket di archiviazione utilizzati da Ad Manager sono inclusi in un progetto di archiviazione cloud gestito da Google e non vengono visualizzati nel tuo elenco dei progetti in Google Developers Console.

Dovrai collaborare con il tuo rappresentante Google per configurare le funzionalità che dipendono dai bucket di archiviazione di Ad Manager. Riceverai un gruppo Google che potrai utilizzare per gestire i tuoi bucket di archiviazione.

Se sei l'amministratore di un gruppo G Suite esistente, puoi fornire il nome di quel gruppo al tuo rappresentante durante la procedura di attivazione delle funzionalità. Verranno attivate tutte le funzionalità che utilizzano i bucket di archiviazione di Ad Manager mediante il tuo gruppo esistente.

Se gestisci più reti Ad Manager con accesso a Data Transfer, devi comunicarle al tuo rappresentante di Google per così che possa essere consolidata la gestione delle reti. Per gestire tutti i bucket di Data Transfer nelle reti verrà utilizzato un unico gruppo.

I gruppi Google che non fanno parte di G Suite non possono essere utilizzati per gestire i bucket di archiviazione di Ad Manager.

Usare l'API Google Cloud Storage

Se pensi che l'accesso all'API sia la soluzione migliore per le tue esigenze, ti consigliamo di configurare un account per i servizi di Google Cloud Storage.

Configurare un account per i servizi di Google Cloud Storage

Quando accedi al bucket di archiviazione tramite l'API, è preferibile configurare un account per i servizi, anziché eseguire l'elaborazione nel contesto di un utente. Gli account per i servizi semplificano la procedura di sviluppo delle applicazioni, utilizzando una chiave di autenticazione privata, anziché un token OAuth generato in modo dinamico. Per configurare un account per i servizi:

  1. Accedi a Google Developer Console.

  2. Crea un nuovo progetto o seleziona un progetto esistente da utilizzare come applicazione principale di quella che stai per creare e fai clic su esso.

  3. Se vuoi copiare i file dal bucket di archiviazione di Ad Manager al tuo account Google Cloud Storage, fai clic su Fatturazione e impostazioni per aggiungere un'origine di fatturazione al tuo progetto (facoltativo).

  4. Per creare un nuovo ID client:

    1. Fai clic su API e servizi > Credenziali.

    2. Fai clic su Crea nuovo ID client.

    3. Seleziona Account per i servizi come tipo di applicazione, quindi fai clic su Crea ID client.

    4. L'indirizzo email generato presenta il formato [unique-id]@developer.gserviceagccount.com. Copialo e salvalo per aggiungerlo al gruppo Google.

    5. Fai clic su Genera nuova chiave P12. Il file viene salvato sul tuo computer. Utilizza questa chiave nelle applicazioni che sviluppi per accedere all'API, come mostrato nel codice di esempio riportato di seguito.

  5. Aggiungi l'indirizzo email al gruppo Google creato per gestire gli accessi ai bucket di archiviazione Ad Manager. Fai clic su Aggiungi membri direttamente invece che su "invita" per aggiungere l'account per i servizi. Se non disponi di accesso, chiedi all'amministratore del gruppo Google di aggiungere l'indirizzo a tuo nome. 
Codice di esempio

Google fornisce raccolte ed esempi di codice per Google Cloud Storage. L'esempio Java relativo alla lettura di un file da un bucket di archiviazione cloud Ad Manager ti consente di capire come i componenti che hai impostato durante la configurazione dell'account influiscono sul tuo codice:

  • Nome del progetto. Nome del progetto di Google Cloud Storage.

  • Indirizzo email dell'account per i servizi. L'indirizzo email generato.

  • File chiave .p12. Il file scaricato.

  • Nome del bucket. Google fornisce questo nome al momento dell'abilitazione di una funzionalità che utilizza i bucket di archiviazione 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 {
    /**
     * The name of the project under which the service account was created.
     * 
     * This information is displayed under the Google Developers Console.
     */
    private static final String PROJECT_NAME = "project name";

    /**
     * Developer Email address of the service account.
     * 
     * This email is generated upon creating a Service Account Client ID in your
     * Google Developers Console, and can be retrieved from the Credentials
     * page. This email must also be added to the Google Group used to control
     * access to the storage bucket.
     */
    private static final String SERVICE_ACCOUNT_EMAIL = "service account email address";

    /**
     * Bucket to use for storage operations.
     * 
     * The name of this bucket was provided to you by your Account
     * Manager. It likely has a name similar to "gdfp-12345678" or
     * "gdfp_cookieupload_12345678", depending on the Ad Manager add-on you're using.
     */
    private static final String BUCKET_NAME = "bucket name";

    /**
     * Google Cloud Storage OAuth 2.0 scope for read/write. This should
     * correspond to the access rights that your Google Group has for the
     * bucket, and you cannot request access rights that are not granted to the
     * Group (which may be read_only).
     */
    private static final String STORAGE_SCOPE = 
        "https://www.googleapis.com/auth/devstorage.read_write";

    /**
     * Path to the key.p12 file providing access to the bucket.
     * 
     * This file is created when the service client ID is created. If you don't
     * have this file, you will need to generate a new client p12 key from the
     * Google Developers Console.
     */
    private static final String KEY_P12 = "path to .p12 key file";

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

    // constructor, sets up credentials and storage objects
    public 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);
	}
    }

    /**
     * Method to return the name of the first file in the bucket.
     * 
     * @return the name of the file, or null if the bucket is empty
     * @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();

	// empty bucket?
	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();
    }

    /**
     * Method to download the specified file from the storage bucket
     * 
     * @param filename
     *            Name of the file that should be downloaded.
     * @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.");
    }

    /**
     * Main method to execute the different tests.
     * 
     * @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());
	}
    }
}

Rallentamento attuale e connessioni simultanee

Non esistono limiti predefiniti alle connessioni simultanee. Tuttavia, per impedire eventuali comportamenti illeciti, Google limita le richieste di recupero di Data Transfer.

Leggi la sezione relativa a Google Cloud Storage del blog ufficiale di Google Code per conoscere le novità e pubblica domande nel Forum di discussione su Google Cloud Storage. Aggiungi "Bug" o "Feature Request" (Richiesta di funzionalità) alla riga dell'oggetto, in base alla tipologia del messaggio. Per ulteriori domande relative a Google Cloud Storage, consulta le Domande frequenti su Google Cloud Storage.

È stato utile?

Come possiamo migliorare l'articolo?
Ricerca
Cancella ricerca
Chiudi ricerca
Menu principale
2143786817585573556
true
Cerca nel Centro assistenza
true
true
true
true
true
148
false
false