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