Xem nhật ký truy vấn

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 đã thực hiện bằng tài khoản Ads Data Hub của bạn. Nhờ đó, bạn có thể trả lời các câu hỏi liên quan đến người đã truy cập vào dữ liệu của bạn và thời điểm họ truy cập.

Bài 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 kiểm tra nhật ký truy vấn cho tài khoản của bạn, 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ỉ các siêu người dùng 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 lượt kiểm tra nhật ký truy vấn sử dụng giản đồ sau:

Tên trường Nội dung 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 điểm truy vấn bắt đầu chạy
query_end_time Thời điểm truy vấn chạy xong
query_type Sự khác biệt giữa truy vấn phân tích và truy vấn đối tượng
query_resource_id Mã được 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 chuyể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 Tóm tắt loại nội dung hợp nhất hàng
row_merge_summary.constant_value Giá trị của tập hợp hằng số (sẽ có giá trị rỗng nếu không sử dụng hằng số nào)
destination_table Vị trí (trong BigQuery) mà truy vấn được ghi vào

Truy cập vào kiểm tra nhật ký truy vấn

Để truy cập vào các bài kiểm tra nhật ký truy vấn, bạn sẽ 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 rồi 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())