הצגת ביקורות של היסטוריית השאילתות

ביקורות של היסטוריית השאילתות מאפשרות ליצור דוח של כל המשימות שפועלות באמצעות חשבון Ads Data Hub. כך תוכלו לענות על שאלות לגבי מי נכנס לנתונים שלכם ומתי הוא עשה זאת.

ביקורות של היסטוריית השאילתות נכתבות כטבלאות BigQuery שמכילות רשומות ביומן של כל השאילתות שפועלות באמצעות חשבון Ads Data Hub שלכם. כדי להציג ביקורות של היסטוריית השאילתות בחשבון, קודם צריך ליצור את הדוח באמצעות API. כל יומן ביקורת מכיל נתונים שנאספו ביום אחד. אפשר ליצור יומן ביקורת לכל יום ב-30 הימים האחרונים.

ביקורות של היסטוריית השאילתות זמינות רק לסופר-משתמשים. מידע נוסף על גישה מבוססת-תפקיד

פורמט הביקורת של היסטוריית השאילתות

כל ביקורת של היסטוריית השאילתות משתמשת בסכימה הבאה:

שם השדה תיאור
customer_id מספר הלקוח ב-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 הערך של קבוצת הקבועים (הערך יהיה null אם לא נעשה שימוש בקבוע)
destination_table המיקום (ב-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())