Notificação

Disponível apenas no Google Ad Manager 360.

Acessar intervalos de armazenamento para a Transferência de dados

O acesso aos intervalos de armazenamento para a Transferência de dados é gerenciado pelas funções do usuário no Google Ad Manager. Depois de ter a permissão de função do usuário necessária, você pode usar o método que preferir para acessar seus arquivos da Transferência de dados. 

Ir para uma seção do artigo:

Sobre as funções do usuário para a permissão

Para acessar os intervalos de armazenamento, você precisa ter uma função com a permissão "Ver intervalos de transferência de dados" ativada.  

Para fazer mudanças nas funções do usuário, você precisa ser administrador da rede ou ter a permissão Editar usuários, funções e equipes na guia Admin. Um usuário só pode ser associado a uma função por vez.

Para mais detalhes, acesse Gerenciar a associação de funções do usuário.

Conferir a permissão em uma função

Você pode analisar a função de um usuário e adicionar ou remover a permissão conforme necessário. 

  1. Faça login no Google Ad Manager.
  2. Clique em Admin e em Acesso e autorização.
  3. Clique em Funções e selecione o nome de uma função. 
  4. Em "Relatórios", encontre a permissão "Ver intervalos de transferência de dados".
    Example of where to give user role access to view data transfer buckets in Google Ad Manager
  5. (Opcional) Para ativar a permissão para a função, marque a caixa.

Métodos para acessar intervalos de armazenamento

O Google Cloud Storage é um produto separado do Google que o Ad Manager usa como um repositório de dados para relatórios da Transferência de dados e IDs de cookies de uploads em lote de público-alvo.

Este artigo tem o objetivo de ajudar você a usar as tecnologias padrão do Google Cloud Storage para interagir com as configurações específicas de armazenamento em nuvem do Ad Manager. Entretanto, o site para desenvolvedores do Google Cloud Storage é sua referência principal para esse serviço.

Há três maneiras de acessar os intervalos de armazenamento em nuvem do Ad Manager. Elas estão listadas abaixo por ordem de complexidade:

  • Na Web: acesse https://console.developers.google.com/storage/gdfp-[Ad Manager network code].
  • A gsutil é uma ferramenta de linha de comando baseada em Python que fornece comandos do tipo Unix para interação com o intervalo de armazenamento. A autenticação do intervalo é concedida e administrada automaticamente.
  • A Google Cloud Storage API é uma API com recursos completos para o gerenciamento do intervalo de armazenamento, disponível por meio das interfaces da Web RESTful JSON ou RESTful XML. As bibliotecas de clientes da API estão disponíveis em muitos ambientes de programação conhecidos, incluindo Java, JavaScript, Python e Objective-C. Isso pode ser útil se for necessário gerenciar os intervalos de armazenamento programaticamente para integrar com um app do Google App Engine ou um app da Web do Java.

Este artigo fornece detalhes sobre a API Google Cloud Storage. O acesso à Web e gsutil são mais fáceis de gerenciar, por isso recomendamos explorar esses métodos primeiro. Eles estão totalmente documentados no site para desenvolvedores do Google Cloud Storage.

Usar a API Google Cloud Storage

Se você acredita que o acesso à API é o mais indicado para suas necessidades, recomendamos a configuração de uma conta de serviço do Google Cloud Storage.

Configurar uma conta de serviço do Google Cloud Storage

Ao acessar o intervalo de armazenamento pela API, recomendamos configurar uma conta de serviço específica em vez de acessar com uma conta de usuário. As contas de serviço simplificam o desenvolvimento do aplicativo usando uma chave privada para autenticação em vez de um token OAuth gerado de maneira dinâmica. Para configurar uma conta de serviço, faça o seguinte:

  1. Acesse o Google Developers Console.

  2. Crie um novo projeto ou selecione um existente para ser o pai do seu aplicativo e clique nele.

  3. (Opcional) Se você quiser copiar arquivos do intervalo de armazenamento do Ad Manager para sua conta do Google Cloud Storage, clique em Faturamento e configurações para adicionar uma origem do faturamento ao seu projeto.

  4. Crie um novo ID do cliente:

    1. Clique em APIs e serviços e em Credenciais.

    2. Clique em Criar novo ID do cliente.

    3. Selecione Conta de serviço como o tipo do seu aplicativo e depois clique em Criar ID do cliente.

    4. O endereço de e-mail gerado tem o formato [unique-id]@developer.gserviceagccount.com. Adicione o usuário da conta de serviço à sua rede do Ad Manager e verifique se ele tem a permissão "Ver intervalos de transferência de dados". 

    5. Clique em Gerar nova chave P12. O arquivo é salvo no seu computador. Use essa chave nos aplicativos que você desenvolver para acessar a API, como exibido no exemplo de código abaixo.

  5. Os usuários com a permissão "Ver intervalos de transferência de dados" vão ter acesso aos seus intervalos de armazenamento do Ad Manager.
Exemplo de código

O Google fornece amostras e bibliotecas de códigos do Google Cloud Storage. O seguinte exemplo de Java para a leitura de um arquivo de intervalo de armazenamento em nuvem do Ad Manager mostra como os componentes definidos ao configurar a conta de serviço podem afetar seu código:

  • Nome do projeto: nome do projeto do Google Cloud Storage.

  • Endereço de e-mail da conta de serviço: endereço de e-mail que você gerou.

  • Arquivo-chave .p12: é o arquivo que você transferiu.

  • Nome do intervalo: o Google fornece esse nome quando você ativa um recurso que usa intervalos de armazenamento em nuvem do 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 {
    /**
     * O nome do projeto onde a conta de serviço foi criada.
     * 
     * Esta informação é exibida no Google Developers Console.
     */
    private static final String PROJECT_NAME = "nome de projeto";

    /**
     * Endereço de e-mail da conta de serviço do desenvolvedor.
     * 
     * Este e-mail é gerado durante a criação de um ID do cliente de conta de serviço em seu
     * Google Developers Console e pode ser recuperado na página
     * de credenciais. 
     */
    private static final String SERVICE_ACCOUNT_EMAIL = "endereço de e-mail da conta de serviço";

    /**
     * Intervalo a ser usado em operações de armazenamento.
     * 
     * O nome deste intervalo é fornecido a você por seu gerente de
     * contas. Ele deve ser semelhante a "gdfp-12345678" ou
     * "gdfp_cookieupload_12345678", dependendo do complemento do Ad Manager em uso.
     */
    private static final String BUCKET_NAME = "nome do intervalo";

    /**
     * Escopo de leitura/gravação do Google Cloud Storage OAuth 2.0. Isso deve
     * corresponder aos direitos de acesso para a permissão "Ver intervalos de transferência de dados"  
     * do intervalo, e não é possível solicitar direitos de acesso que não sejam
     * concedidos pela permissão.
     */
    private static final String STORAGE_SCOPE = 
        "https://www.googleapis.com/auth/devstorage.read_write";

    /**
     * Caminho para o arquivo key.p12 que fornece acesso ao intervalo.
     * 
     * Este arquivo é criado durante a criação do código de cliente do serviço. Se você não
     * tem este arquivo, será preciso gerar uma chave p12 de cliente novo no
     * Google Developers Console.
     */
    private static final String KEY_P12 = "caminho para arquivo-chave .p12";

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

    // construtor, configura credenciais e objetos de armazenamento
    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étodo para retornar o nome do primeiro arquivo no intervalo.
     * 
     * @return para retornar o nome do arquivo ou null se o intervalo estiver vazio
     * @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();

	// intervalo vazio?
	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();
    }

    /**
     * Método para fazer o download do arquivo especificado no intervalo de armazenamento
     * 
     * @param filename
     *            Nome do arquivo que deve ser obtido por download.
     * @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.");
    }

    /**
     * Método principal para executar os vários testes.
     * 
     * @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());
	}
    }
}

Conexões simultâneas e de controle

Não há limite predefinido de conexões simultâneas. Para evitar isso, o Google controla as solicitações de chamada da Transferência de dados.

Leia a seção Google Cloud Storage do blog oficial do Google Code para saber as últimas notícias e postar perguntas no Fórum de discussão do Google Cloud Storage. Adicione "Bug" ou "Solicitação de recurso" ao assunto. No caso de dúvidas sobre o Google Cloud Storage, veja as Perguntas frequentes do Google Cloud Storage.

Isso foi útil?

Como podemos melhorá-lo?
Pesquisa
Limpar pesquisa
Fechar pesquisa
Menu principal
5174315784360037525
true
Pesquisar na Central de Ajuda
true
true
true
true
true
148
false
false
false