क्वेरी के इतिहास के ऑडिट देखना

क्वेरी के इतिहास के ऑडिट की मदद से, अपने Ads Data Hub खाते का इस्तेमाल करके चलाए गए सभी जॉब की रिपोर्ट जनरेट की जा सकती है. इससे आपको यह जानने में मदद मिलती है कि आपके डेटा को किसने और कब ऐक्सेस किया.

क्वेरी के इतिहास के ऑडिट, BigQuery टेबल के तौर पर लिखे जाते हैं. इनमें आपके Ads Data Hub खाते का इस्तेमाल करके चलाई गई सभी क्वेरी के लॉग एंट्री शामिल होते हैं. अपने खाते के लिए क्वेरी के इतिहास के ऑडिट देखने के लिए, आपको पहले एपीआई के ज़रिए रिपोर्ट जनरेट करनी होगी. हर ऑडिट लॉग में एक दिन का डेटा होता है. पिछले 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 क्वेरी का एसक्यूएल
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 कॉन्स्टेंट सेट की वैल्यू (अगर किसी कॉन्स्टेंट का इस्तेमाल नहीं किया जाता है, तो यह शून्य होगी)
destination_table BigQuery में वह जगह जहां क्वेरी लिखी गई थी

क्वेरी के इतिहास के ऑडिट ऐक्सेस करना

क्वेरी के इतिहास के ऑडिट को ऐक्सेस करने के लिए, आपको एपीआई को कॉल करना होगा. एपीआई को कॉल करने के लिए, नीचे दिया गया सैंपल कोड ढूंढें या रेफ़रंस दस्तावेज़ देखें और अपनी क्वेरी लिखें.

एपीआई अनुरोध के नतीजे, उस BigQuery डेटासेट में लिखे जाएंगे जिसे आपने एपीआई अनुरोध के मुख्य हिस्से में बताया है.


"""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())