באמצעות ביקורות של היסטוריית שאילתות אפשר להפיק דוח לגבי כל המשימות שרצות באמצעות חשבון 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())