Melihat audit histori kueri

Audit histori kueri memungkinkan Anda membuat laporan semua tugas yang dijalankan menggunakan akun Ads Data Hub. Hal ini memungkinkan Anda untuk menjawab pertanyaan terkait siapa yang telah mengakses data Anda dan kapan mereka melakukannya.

Audit histori kueri ditulis sebagai tabel BigQuery yang berisi entri log untuk semua kueri yang dijalankan menggunakan akun Ads Data Hub Anda. Agar dapat melihat audit histori kueri untuk akun Anda, Anda harus membuat laporan terlebih dahulu melalui API. Setiap log audit berisi data selama 1 hari. Anda dapat membuat log audit untuk hari apa pun dalam 30 hari terakhir.

Audit histori kueri hanya tersedia untuk superuser. Pelajari akses berbasis peran lebih lanjut

Format audit histori kueri

Setiap audit histori kueri menggunakan skema berikut:

Nama kolom Deskripsi
customer_id ID pelanggan Ads Data Hub
ads_customer_id ID sub-akun, jika digunakan (jika tidak akan sama dengan customer_id)
match_table_customer_id ID akun yang berisi tabel pencocokan, jika digunakan (jika tidak, akan sama dengan customer_id)
user_email Alamat email pengguna yang menjalankan kueri
query_start_time Saat kueri mulai berjalan
query_end_time Saat kueri selesai berjalan
query_type Membedakan antara kueri analisis dan kueri audiens
query_resource_id ID yang terkait dengan kueri
query_text SQL dari kueri
query_parameters
query_parameters.name Nama parameter kueri
query_parameters.value Nilai yang diteruskan melalui parameter kueri row_merge_summary
row_merge_summary.column_name Nama kolom
row_merge_summary.merge_type Jenis ringkasan penggabungan baris
row_merge_summary.constant_value Nilai set konstanta (akan bernilai null jika tidak ada konstanta yang digunakan)
destination_table Lokasi (di BigQuery) tempat kueri ditulis

Mengakses audit histori kueri

Untuk mengakses audit histori kueri, Anda harus memanggil API. Temukan kode contoh untuk memanggil API di bawah, atau lihat dokumentasi referensi dan tulis kueri Anda sendiri.

Hasil permintaan API akan ditulis ke set data BigQuery yang Anda tentukan dalam isi permintaan API.


"""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())