مشاهده ممیزی تاریخچه پرس و جو

ممیزی سابقه پرس و جو به شما امکان می دهد گزارشی از تمام کارهای اجرا شده با استفاده از حساب Ads Data Hub خود ایجاد کنید. این به شما امکان می دهد به سؤالات مربوط به اینکه چه کسی به داده های شما دسترسی داشته و چه زمانی این کار را انجام داده است پاسخ دهید.

ممیزی‌های سابقه پرس‌وجو به‌عنوان جداول BigQuery حاوی ورودی‌های گزارش برای همه پرسش‌هایی که با استفاده از حساب Ads Data Hub شما اجرا می‌شوند، نوشته می‌شوند. برای مشاهده ممیزی‌های سابقه پرس و جو برای حساب خود، ابتدا باید گزارش را از طریق یک API ایجاد کنید. هر گزارش حسابرسی حاوی داده‌های 1 روزه است. شما می توانید یک گزارش حسابرسی برای هر روز در 30 روز گذشته ایجاد کنید.

ممیزی تاریخچه پرس و جو فقط برای ابرکاربران در دسترس است. درباره دسترسی مبتنی بر نقش بیشتر بدانید

فرمت حسابرسی تاریخچه پرس و جو

هر ممیزی تاریخچه پرس و جو از طرح زیر استفاده می کند:

نام زمینه شرح
شناسه مشتری شناسه مشتری Ads Data Hub
ads_customer_id شناسه حساب فرعی، در صورت استفاده (در غیر این صورت با customer_id یکسان خواهد بود)
match_table_customer_id شناسه حساب حاوی جدول مطابقت، در صورت استفاده (در غیر این صورت با customer_id یکسان خواهد بود)
user_email آدرس ایمیل کاربری که پرس و جو را اجرا کرده است
query_start_time زمانی که پرس و جو شروع به اجرا کرد
query_end_time زمانی که پرس و جو به پایان رسید
query_type بین پرس و جوهای تحلیل و پرس و جوهای مخاطب تفاوت قائل می شود
query_resource_id شناسه مرتبط با پرس و جو
query_text SQL پرس و جو است
query_parameters
query_parameters.name نام پارامتر پرس و جو
query_parameters.value مقدار ارسال شده از طریق پارامتر پرس و جو row_merge_summary
row_merge_summary.column_name نام ستون
row_merge_summary.merge_type نوع خلاصه ادغام ردیف
row_merge_summary.constant_value مقدار مجموعه ثابت (اگر هیچ ثابتی استفاده نشود صفر خواهد بود)
مقصد_جدول مکانی (در BigQuery) که پرس و جو در آن نوشته شده است

دسترسی به ممیزی تاریخچه پرس و جو

برای دسترسی به ممیزی‌های تاریخچه پرس و جو، باید با API تماس بگیرید. کد نمونه برای فراخوانی API را در زیر بیابید یا مستندات مرجع را مشاهده کنید و درخواست خود را بنویسید

نتایج درخواست API در مجموعه داده BigQuery که در متن درخواست 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())