Fazer upload do arquivo de dados estruturados

É possível criar e atualizar recursos, incluindo os do YouTube, de forma programática e em massa fazendo upload de arquivos de dados estruturados usando a API Display & Video 360. Nesta página, você vai aprender a preparar e fazer upload de um arquivo de dados estruturados usando a API.

Um projeto do Google Cloud pode carregar, em média, trinta arquivos de dados estruturados por ID de anunciante por dia.

Preparar um arquivo de dados estruturados para upload

Os arquivos de dados estruturados enviados precisam ser versões modificadas dos arquivos de dados estruturados baixados recentemente do mesmo tipo e do mesmo anunciante. Prepare o arquivo de dados estruturados baixado para upload fazendo as seguintes atualizações:

  • Adicione entradas para quaisquer novos recursos que você queira criar.
  • Atualize as entradas dos recursos que você quer atualizar.
  • Remova todas as entradas que não são novas ou atualizadas para reduzir o tamanho do arquivo, acelerar o tempo de processamento e evitar atualizações não intencionais.

Verifique o seguinte antes de enviar o arquivo:

  • O arquivo é um CSV.
  • Todas as entradas no arquivo referem-se a recursos pertencentes ao mesmo anunciante principal.
  • O arquivo não tem mais de 10.000 entradas.

Carregar um arquivo

Faça o upload de um arquivo de dados estruturados usando oadvertisers.sdfuploadtasks.upload método. Esta solicitação cria uma tarefa de upload SDF.Operation . Essa operação de longa duração processa o arquivo carregado, cria e atualiza recursos com base no conteúdo do arquivo e gera arquivos de resultados que listam as atualizações bem-sucedidas e as que falharam.

Veja como carregar um arquivo de dados estruturados e recuperar o resultado.Operation:

# Import the object used as the media body for the upload request.
from apiclient.http import MediaFileUpload

# Provide the parent advertiser ID for the resources in the SDF.
# The ID value must be a str and not an int.
advertiser_id = advertiser-id

# Provide the filename and local path to the media file.
sdf_filename = sdf-filename
sdf_path = sdf-path

# Create the request body.
body = {
  'filename': sdf_filename,
  'advertiserId': advertiser_id
}

# Create the upload object and use a default MIME type if not identified.
media = MediaFileUpload(sdf_path)
if not media.mimetype():
  media = MediaFileUpload(sdf_filename,'application/octet-stream')

# Upload the structured data file.
upload_response = service.advertisers().sdfuploadtasks().upload(
  advertiserId=advertiser_id,
  body=body,
  media_body=media
).execute()

# Print resulting Operation name.
print(f'SDF was successfully uploaded. Operation {upload_response["name"]} was '
       'created to process the uploaded file.')