Zobrazení auditů historie dotazů

Audity historie dotazu umožňují vygenerovat přehled všech úloh spuštěných prostřednictvím vašeho účtu ve službě Ads Data Hub. Můžete tak zjistit, kdo a kdy přistupoval k vašim datům.

Audity historie dotazů mají formát tabulek v nástroji BigQuery a obsahují záznamy protokolu pro všechny dotazy, které byly spuštěny z vašeho účtu Ads Data Hub. Jestliže se chcete na audity historie dotazů pro svůj účet podívat, musíte nejdřív příslušný přehled vygenerovat pomocí rozhraní API. Každý protokol auditování obsahuje data za jeden den. Protokol auditování můžete vygenerovat za kterýkoli z posledních 30 dní.

Audity historie dotazů jsou dostupné pouze pro superuživatele. Další informace o přístupu podle rolí

Formát auditu historie dotazů

Všechny audity historie dotazů používají toto schéma:

Název pole Popis
customer_id ID zákazníka ve službě Ads Data Hub
ads_customer_id ID podúčtu, pokud byl použit (jinak je hodnota shodná s customer_id)
match_table_customer_id ID účtu obsahujícího identifikační tabulku, pokud byla použita (jinak je hodnota shodná s customer_id)
user_email E-mailová adresa uživatele, který dotaz spustil
query_start_time Čas spuštění dotazu
query_end_time Čas dokončení dotazu
query_type Rozlišuje mezi analytickými dotazy a dotazy na publikum
query_resource_id ID přidružené k dotazu
query_text Znění dotazu v jazyku SQL
query_parameters
query_parameters.name Název parametru dotazu
query_parameters.value Hodnota předaná prostřednictvím parametru row_merge_summary dotazu
row_merge_summary.column_name Název sloupce
row_merge_summary.merge_type Typ souhrnu sloučení řádku
row_merge_summary.constant_value Nastavená hodnota konstanty (pokud nebyla konstanta použita, je rovno null)
destination_table Umístění (v nástroji BigQuery), kam byl dotaz zapsán

Přístup k auditům historie dotazů

Audity historie dotazů získáte prostřednictvím volání rozhraní API. Níže naleznete ukázku kódu volajícího rozhraní API, případně si prohlédněte referenční dokumentaci a napište svůj vlastní dotaz.

Výsledky požadavku na API budou zapsány do datové sady BigQuery, kterou uvedete v těle požadavku.


"""This sample shows how to create a query history audit.

For the program to execute successfully, ensure that you run it using Python 3.
"""

from __future__ import print_function
from json import dumps
from google_auth_oauthlib import flow
from googleapiclient.discovery import build

appflow = flow.InstalledAppFlow.from_client_secrets_file(
  # Replace client_secrets.json with your own client secret file.
  'client_secrets.json',
  scopes=['https://www.googleapis.com/auth/adsdatahub'])
appflow.run_local_server()
credentials = appflow.credentials
developer_key = input('Developer key: ').strip()
service = build('adsdatahub', 'v1', credentials=credentials,
                developerKey=developer_key)

def pprint(x):
  print(dumps(x, sort_keys=True, indent=4))

customer_id = input('Customer ID (e.g. "customers/123"): ').strip()
bq_project = input('Destination BigQuery project ID (e.g. "your-project"): ').strip()
dataset_id = input('Destination BigQuery dataset (e.g. "your-dataset"): ').strip()
start = input('The start date for your query history audit. Formatted as "mm/dd/yyyy": ').strip().split('/')
end = input('The end date for your query history audit. Should be 1 day later than start_date. Formatted as "mm/dd/yyyy": ').strip().split('/')

choice = input("Do you want to enter a timezone? Defaults to UTC otherwise. (y/n) ")

if choice.lower() == 'y':
  timezone = input("Timezone (e.g. 'UTC'): ")
else:
  timezone = 'UTC'

body = {
  'project_id': bq_project,
  'dataset': dataset_id,
  'start_date': {
      'year': start[2],
      'day': start[1],
      'month': start[0]
  },
  'end_date': {
      'year': end[2],
      'day': end[1],
      'month': end[0]
  },
  'time_zone': timezone
}

pprint(service.customers().exportJobHistory(customer=customer_id, body=body).execute())