Accéder aux buckets de stockage liés au transfert de données

L'accès aux buckets de stockage liés au transfert de données est géré via les rôles utilisateur dans Google Ad Manager. Une fois que vous disposez de l'autorisation de rôle utilisateur nécessaire, vous pouvez utiliser la méthode de votre choix pour accéder à vos fichiers de transfert de données. 

Accédez à une section de l'article :

À propos des rôles utilisateur pour l'autorisation

Pour accéder aux buckets de stockage, vous devez disposer d'un rôle pour lequel l'autorisation "Afficher les buckets liés au transfert de données" est activée.  

Pour modifier des rôles utilisateur, vous devez être administrateur de votre réseau ou disposer de l'autorisation Modifier les utilisateurs, les rôles et les équipes dans l'onglet "Admin". Notez qu'un utilisateur ne peut être associé qu'à un seul rôle à la fois.

Pour en savoir plus, consultez Gérer les rôles utilisateur.

Afficher l'autorisation dans un rôle

Vous pouvez vérifier le rôle qu'occupe actuellement un utilisateur et ajouter ou supprimer l'autorisation si nécessaire. 

  1. Connectez-vous à Google Ad Manager.
  2. Cliquez sur Admin, puis sur Accès et autorisations.
  3. Cliquez sur Rôles, puis sur le nom d'un rôle. 
  4. Sous "Reporting", recherchez l'autorisation "Afficher les buckets liés au transfert de données".
    Example of where to give user role access to view data transfer buckets in Google Ad Manager
  5. (Facultatif) Pour activer l'autorisation pour le rôle, cochez la case.

Méthodes d'accès aux buckets de stockage

Google Cloud Storage est un produit Google distinct qu'Ad Manager utilise comme référentiel pour les rapports sur les transferts de données et les ID de cookies d'audience importés de manière groupée.

Cet article vise à vous familiariser avec la technologie Google Cloud Storage standard afin que vous sachiez configurer pour Ad Manager cette solution de stockage dans le cloud. La documentation de référence concernant cette technologie se trouve sur la page du site Google Developers qui est réservée à Google Cloud Storage.

Il existe trois méthodes pour accéder aux ensembles de données Ad Manager stockées dans le cloud. Elles sont répertoriées ci-dessous, de la plus simple à la plus complexe.

  • Sur le Web : consultez la page https://console.developers.google.com/storage/gdfp-[code de réseau Ad Manager].
  • gsutil : un outil de ligne de commande en Python qui permet d'interagir avec le bucket de stockage à l'aide de commandes de type Unix. L'authentification des buckets est déléguée et gérée automatiquement.
  • API Google Cloud Storage : une API complète permettant de manipuler le bucket de stockage, disponible via les interfaces Web JSON ou XML RESTful. Des bibliothèques clientes d'API sont disponibles pour de nombreux environnements de programmation courants, y compris Java, JavaScript, Python et Objective-C. Cette approche est particulièrement utile si vous souhaitez manipuler les buckets de stockage par voie programmatique afin de les intégrer à une application Java pour le Web ou Google App Engine.

Cet article fournit des informations sur l'API Google Cloud Storage. Nous vous recommandons de commencer par essayer les méthodes Web et gsutil, car elles sont plus faciles à gérer. Elles sont intégralement documentées sur la page du site pour les développeurs qui est réservée à Google Cloud Storage.

Utiliser l'API Google Cloud Storage

Si vous pensez que l'API est la méthode qui convient le mieux à vos besoins, nous vous recommandons de configurer un compte de service Google Cloud Storage.

Configurer un compte de service Google Cloud Storage

Lorsque vous accédez au bucket de stockage via l'API, il est préférable de configurer un compte de service plutôt que de vous en servir en tant qu'utilisateur. Les comptes de service simplifient le développement des applications en utilisant une clé privée pour l'authentification plutôt qu'un jeton OAuth généré de manière dynamique. Pour configurer un compte de service :

  1. Accédez à la Google Developers Console.

  2. Créez un projet (ou sélectionnez un projet existant) en tant que parent de votre application, puis cliquez dessus.

  3. (Facultatif) Si vous prévoyez de copier dans votre compte Google Cloud Storage des fichiers issus de l'ensemble de données d'Ad Manager, cliquez sur Facturation et paramètres pour ajouter une source de facturation à votre projet.

  4. Créez un ID client en procédant comme suit :

    1. Cliquez sur API et services, puis sur Identifiants.

    2. Cliquez sur Créer un identifiant client.

    3. Sélectionnez Compte de service comme type d'application, puis cliquez sur Créer un ID client.

    4. L'adresse e-mail générée se présente au format suivant : [identifiant-unique]@developer.gserviceagccount.com. Ajoutez l'utilisateur du compte de service à votre réseau Ad Manager et assurez-vous qu'il dispose de l'autorisation "Afficher les buckets liés au transfert de données". 

    5. Cliquez sur Générer une clé P12. Le fichier est enregistré sur votre ordinateur. Utilisez cette clé dans les applications que vous développez pour accéder à l'API, comme indiqué dans l'exemple de code ci-dessous.

  5. Les utilisateurs disposant de l'autorisation "Afficher les buckets liés au transfert de données" auront accès à vos buckets de stockage Ad Manager.
Exemple de code

Google fournit des exemples de code et des bibliothèques pour Google Cloud Storage. L'exemple de code Java ci-dessous, qui concerne la lecture d'un fichier à partir d'un ensemble de données Ad Manager stockées dans le cloud, vous montre comment les composants que vous avez configurés lors de la création du compte de service interagissent avec votre code.

  • Nom du projet : nom du projet Google Cloud Storage.

  • Adresse e-mail du compte de service : adresse e-mail générée.

  • Fichier clé .p12 : fichier téléchargé.

  • Nom du bucket : nom fourni par Google lors de l'activation d'une fonctionnalité utilisant les buckets Ad Manager de stockage dans le cloud.

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 {
    /**
     * Nom du projet dans lequel le compte de service a été créé.
     * 
     * Ces informations sont affichées dans la Google Developers Console.
     */
    private static final String PROJECT_NAME = "nom du projet" ;

    /**
     * Adresse e-mail du compte de service du développeur.
     * 
     * Cette adresse e-mail est générée lors de la création de l'ID client du compte de service dans votre
     * Google Developers Console. Elle est disponible sur votre page
     * "Identifiants". 
     */
    private static final String SERVICE_ACCOUNT_EMAIL = "adresse e-mail du compte de service" ;

    /**
     * Ensemble à utiliser pour les opérations de stockage
     * 
     * Le nom de cet ensemble vous a été fourni par le responsable
     * de votre compte. Il se présente certainement sous la forme "gdfp-12345678" ou
     * "gdfp_cookieupload_12345678", selon le module complémentaire pour Ad Manager que vous utilisez.
     */
    private static final String BUCKET_NAME = "nom de l'ensemble" ;

    /**
     * Portée OAuth 2.0 de Google Cloud Storage en lecture/écriture. Cela doit
     * correspondre aux droits d'accès de l'autorisation "Afficher les ensembles liés au transfert de données"  
     * pour l'ensemble. Vous ne pouvez pas demander des droits d'accès qui ne sont pas 
     * accordés via l'autorisation.
     */
    private static final String STORAGE_SCOPE = 
        "https://www.googleapis.com/auth/devstorage.read_write";

    /**
     * Chemin vers le fichier clé .p12 donnant accès à l'ensemble.
     * 
     * Ce fichier est créé en même temps que l'ID client de service. Si vous ne disposez pas de
     * ce fichier, vous devez générer une nouvelle clé .p12 cliente à partir de la
     * Google Developers Console.
     */
    private static final String KEY_P12 = "chemin vers le fichier clé .p12" ;

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

    // Constructeur, définition des identifiants et des objets de stockage
    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);
	}
    }

    /**
     * Méthode permettant de renvoyer le nom du premier fichier dans le bucket.
     * 
     * @renvoie le nom du fichier ou rien si le bucket est vide
     * @déclenche 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 vide ?
	si (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();
    }

    /**
     * Méthode permettant de télécharger le fichier spécifié dans le bucket de stockage
     * 
     * @param nom de fichier
     *            Nom du fichier à télécharger.
     * @déclenche 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.");
    }

    /**
     * Méthode principale pour exécuter différents 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());
	}
    }
}

Régulation et connexions simultanées

Il n'existe aucune limite prédéfinie concernant les connexions simultanées. Toutefois, pour éviter tout abus, Google régule les demandes de récupération de transfert de données.

Consultez la section consacrée à Google Cloud Storage sur le blog officiel Google Code pour découvrir les dernières nouveautés et posez vos questions sur le forum de discussion de Google Cloud Storage. Ajoutez les mots clés "Bug" ou "Demande de fonctionnalité" dans l'objet de votre message, selon votre demande. Si vous avez d'autres interrogations concernant Google Cloud Storage, consultez les questions fréquentes qui s'y rapportent.
Cette page peut comporter du contenu traduit à l'aide d'une technologie d'IA. Les traductions générées par IA peuvent contenir des erreurs.

Ces informations vous-ont elles été utiles ?

Comment pouvons-nous l'améliorer ?
Recherche
Effacer la recherche
Fermer le champ de recherche
Menu principal
8263720749615895092
true
Rechercher dans le centre d'aide
false
true
true
true
true
true
148
false
false
false
false
false