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ác công việc đã chạy bằng tài khoản Ads Data Hub của mình. 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.
Bản kiểm tra nhật ký truy vấn được viết dưới dạng bảng BigQuery chứa các mục nhập nhật ký cho tất cả các truy vấn chạy bằng tài khoản Ads Data Hub của bạn. Để xem kết quả 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 một 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.
Tính năng kiểm tra nhật ký truy vấn chỉ dành cho siêu người dùng. 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 lượt kiểm tra nhật ký truy vấn đều sử dụng giản đồ sau:
Tên trường | Mô tả |
---|---|
customer_id | Mã khách hàng Ads Data Hub |
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 được liên kết với cụm từ tìm kiếm |
query_text | SQL của truy vấn |
query_parameters | |
query_parameters.name | Tên của tham số truy vấn |
query_parameters.value | Giá trị được chuyển qua thông 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 tóm tắt hợp nhất hàng |
row_merge_summary.constant_value | Giá trị của tập hợp hằng số (sẽ là rỗng nếu không sử dụng hằng số) |
destination_table | Vị trí (trong BigQuery) mà truy vấn được ghi vào |
Truy cập vào kết quả kiểm tra nhật ký truy vấn
Để truy cập các kết quả 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 phần 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())