Audit histori kueri memungkinkan Anda membuat laporan dari semua tugas yang dijalankan menggunakan akun Ads Data Hub Anda. Ini memungkinkan Anda untuk menjawab pertanyaan terkait siapa yang 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. Untuk melihat audit histori kueri untuk akun Anda, Anda harus membuat laporan melalui API terlebih dahulu. 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 digunakan, akan sama dengan customer_id) |
match_table_customer_id | ID akun yang berisi tabel pencocokan, jika digunakan (jika digunakan, akan sama dengan customer_id) |
user_email | Alamat email pengguna yang menjalankan kueri |
query_start_time | Waktu 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 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 himpunan konstanta (akan menjadi 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 ini, atau lihat dokumentasi referensi dan tulis kueri Anda sendiri.
Hasil permintaan API akan ditulis ke set data BigQuery yang Anda tentukan di 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())