Tính năng kiểm tra nhật ký truy vấn cho phép bạn tạo báo cáo về tất cả công việc chạy bằng tài khoản Trung tâm dữ liệu quảng cáo của bạn. Nhờ đó, bạn có thể trả lời các câu hỏi liên quan đến việc ai đã truy cập vào dữ liệu của bạn và thời điểm họ truy cập.
Hoạt động kiểm tra nhật ký truy vấn được ghi dưới dạng bảng BigQuery chứa các mục nhập nhật ký cho tất cả truy vấn chạy bằng tài khoản Trung tâm dữ liệu quảng cáo của bạn. Để xem quy trình kiểm tra nhật ký truy vấn cho tài khoản của mình, trước tiên, bạn cần tạo báo cáo thông qua API. Mỗi nhật ký kiểm tra chứa dữ liệu trong 1 ngày. Bạn có thể tạo nhật ký kiểm tra cho bất kỳ ngày nào trong vòng 30 ngày qua.
Chỉ người dùng cấp cao mới có thể kiểm tra nhật ký truy vấn. Tìm hiểu thêm về quyền truy cập dựa trên vai trò
Định dạng kiểm tra nhật ký truy vấn
Mỗi quy trình kiểm tra nhật ký truy vấn sử dụng giản đồ sau:
Tên trường | Mô tả |
---|---|
customer_id | Mã khách hàng Trung tâm dữ liệu quảng cáo |
ads_customer_id | Mã của tài khoản phụ, nếu được sử dụng (nếu không, sẽ giống với customer_id) |
match_table_customer_id | Mã của tài khoản chứa bảng so khớp, nếu được sử dụng (nếu không, sẽ giống với customer_id) |
user_email | Địa chỉ email của người dùng đã chạy truy vấn |
query_start_time | Thời gian truy vấn bắt đầu chạy |
query_end_time | Thời gian truy vấn chạy xong |
query_type | Phân biệt giữa truy vấn phân tích và truy vấn đối tượng |
query_resource_id | Mã nhận dạng liên kết với truy vấn |
query_text | SQL của truy vấn |
query_parameters | |
query_parameters.name | Tên tham số của truy vấn |
query_parameters.value | Giá trị được truyền qua tham số row_merge_summary của truy vấn |
row_merge_summary.column_name | Tên cột |
row_merge_summary.merge_type | Loại bản tóm tắt về việc hợp nhất hàng |
row_merge_summary.constant_value | Giá trị của tập hợp hằng số (sẽ rỗng nếu không có hằng số nào được sử dụng) |
destination_table | Vị trí (trong BigQuery) mà truy vấn được ghi vào |
Truy cập vào quy trình kiểm tra nhật ký truy vấn
Để truy cập vào quy trình kiểm tra nhật ký truy vấn, bạn cần gọi API. Tìm mã mẫu để gọi API ở bên dưới hoặc xem tài liệu tham khảo và viết truy vấn của riêng bạn.
Kết quả của yêu cầu API sẽ được ghi vào tập dữ liệu BigQuery mà bạn chỉ định trong nội dung của yêu cầu 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())