एग्रीगेशन सेवा को डिप्लॉय करने के बाद, सेवा के साथ इंटरैक्ट करने के लिए createJob
और getJob
एंडपॉइंट का इस्तेमाल किया जा सकता है. नीचे दिए गए डायग्राम में, इन दोनों एंडपॉइंट के लिए डिप्लॉयमेंट आर्किटेक्चर को विज़ुअल के तौर पर दिखाया गया है:

createJob
और getJob
एंडपॉइंट के बारे में ज़्यादा जानने के लिए, एग्रीगेशन सेवा API के दस्तावेज़ पढ़ें.
नौकरी की पोस्ट बनाना
जॉब बनाने के लिए, createJob
एंडपॉइंट पर POST अनुरोध भेजें.
bash
POST https://<api-gateway>/stage/v1alpha/createJob
-+
createJob
के लिए अनुरोध बॉडी का उदाहरण:
{
"job_request_id": "<job_request_id>",
"input_data_blob_prefix": "<report_folder>/<report_name>.avro",
"input_data_bucket_name": "<input_bucket_name>",
"output_data_blob_prefix": "<output_folder>/<summary_report_prefix>",
"output_data_bucket_name": "<output_bucket_name>",
"job_parameters": {
"output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
"output_domain_bucket_name": "<output_domain_bucket_name>",
"attribution_report_to": "<reporting origin of report>",
"reporting_site": "<host name of reporting origin>"
}
}
नौकरी की जानकारी पोस्ट करने पर, 202 एचटीटीपी स्टेटस कोड मिलता है.
ध्यान दें कि reporting_site
और attribution_report_to
एक-दूसरे से अलग हैं और इनमें से किसी एक की ही वैल्यू सबमिट करनी होगी.
job_parameters
में debug_run
जोड़कर, डीबग जॉब का अनुरोध भी किया जा सकता है.
डीबग मोड के बारे में ज़्यादा जानकारी के लिए, एग्रीगेशन डीबग रन का दस्तावेज़ देखें.
{
"job_request_id": "<job_request_id>",
"input_data_blob_prefix": "<report_folder>/<report_name>.avro",
"input_data_bucket_name": "<input_bucket_name>",
"output_data_blob_prefix": "<output_folder>/<summary_report_prefix>",
"output_data_bucket_name": "<output_bucket_name>",
"job_parameters": {
"output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
"output_domain_bucket_name": "<output_domain_bucket_name>",
"attribution_report_to": "<reporting origin of report>"
"debug_run": "true"
}
}
अनुरोध फ़ील्ड
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
job_request_id |
स्ट्रिंग |
यह विज्ञापन टेक्नोलॉजी से जनरेट किया गया यूनीक आइडेंटिफ़ायर है. इसमें ASCII अक्षर होने चाहिए और 128 या उससे कम वर्ण होने चाहिए. यह बैच जॉब के अनुरोध की पहचान करता है और `input_data_bucket_name` में बताई गई इनपुट बकेट से, `input_data_blob_prefix` में बताई गई सभी एग्रीगेट की जा सकने वाली AVRO रिपोर्ट लेता है. यह बकेट, विज्ञापन टेक्नोलॉजी के क्लाउड स्टोरेज पर होस्ट की जाती है.
वर्ण: `a-z, A-Z, 0-9, !"#$%&'()*+,-./:;<=>?@[\]^_`{}~
|
input_data_blob_prefix |
स्ट्रिंग |
यह बकेट का पाथ है. एक फ़ाइल के लिए, पाथ का इस्तेमाल किया जा सकता है. एक से ज़्यादा फ़ाइलों के लिए, पाथ में प्रीफ़िक्स का इस्तेमाल किया जा सकता है.
उदाहरण: फ़ोल्डर/फ़ाइल, folder/file1.avro, folder/file/file1.avro, और folder/file1/test/file2.avro से सभी रिपोर्ट इकट्ठा करती है. |
input_data_bucket_name |
स्ट्रिंग | यह इनपुट डेटा या एग्रीगेट की जा सकने वाली रिपोर्ट के लिए स्टोरेज बकेट है. यह विज्ञापन टेक्नोलॉजी के क्लाउड स्टोरेज में होता है. |
output_data_blob_prefix |
स्ट्रिंग | यह बकेट में आउटपुट पाथ है. सिर्फ़ एक आउटपुट फ़ाइल का इस्तेमाल किया जा सकता है. |
output_data_bucket_name |
स्ट्रिंग |
यह स्टोरेज बकेट है, जहां output_data भेजा जाता है. यह विज्ञापन टेक्नोलॉजी के क्लाउड स्टोरेज में मौजूद होता है.
|
job_parameters |
शब्दकोश |
आवश्यक फ़ील्ड. इस फ़ील्ड में अलग-अलग फ़ील्ड होते हैं, जैसे कि:
|
job_parameters.output_domain_blob_prefix |
स्ट्रिंग |
input_data_blob_prefix की तरह ही, यह output_domain_bucket_name में मौजूद वह पाथ है जहां आपका आउटपुट डोमेन AVRO मौजूद है. एक से ज़्यादा फ़ाइलों के लिए, पाथ में प्रीफ़िक्स का इस्तेमाल किया जा सकता है. एग्रीगेशन सेवा, बैच पूरा करने के बाद खास जानकारी वाली रिपोर्ट बनाती है और उसे output_data_blob_prefix नाम के साथ आउटपुट बकेट output_data_bucket_name में डालती है.
|
job_parameters.output_domain_bucket_name |
स्ट्रिंग | यह आपके आउटपुट डोमेन की AVRO फ़ाइल के लिए स्टोरेज बकेट है. यह विज्ञापन टेक्नोलॉजी के क्लाउड स्टोरेज में होता है. |
job_parameters.attribution_report_to |
स्ट्रिंग | यह वैल्यू, `reporting_site` से अलग होती है. यह रिपोर्टिंग यूआरएल या रिपोर्टिंग ऑरिजिन है, जहां रिपोर्ट मिली थी. साइट का ऑरिजिन, एग्रीगेशन सेवा के ऑनबोर्डिंग में रजिस्टर किया गया है. |
job_parameters.reporting_site |
स्ट्रिंग |
attribution_report_to के साथ इस्तेमाल नहीं किया जा सकता. यह रिपोर्टिंग यूआरएल या रिपोर्टिंग ऑरिजिन का होस्टनेम होता है, जहां रिपोर्ट मिली थी. साइट का ऑरिजिन, एग्रीगेशन सेवा के ऑनबोर्डिंग में रजिस्टर किया गया है.
ध्यान दें: एक ही अनुरोध में, अलग-अलग ऑरिजिन वाली कई रिपोर्ट सबमिट की जा सकती हैं. हालांकि, इसके लिए ज़रूरी है कि सभी ऑरिजिन, इस पैरामीटर में बताई गई रिपोर्टिंग साइट से जुड़े हों.
|
job_parameters.debug_privacy_epsilon |
फ़्लोटिंग पॉइंट, डबल | यह फ़ील्ड ज़रूरी नहीं है. अगर कोई वैल्यू नहीं दी जाती है, तो डिफ़ॉल्ट वैल्यू 10 होती है. 0 से 64 के बीच की वैल्यू का इस्तेमाल किया जा सकता है. |
job_parameters.report_error_threshold_percentage |
डबल | यह फ़ील्ड ज़रूरी नहीं है. जॉब के पूरा न होने से पहले, ज़्यादा से ज़्यादा इस प्रतिशत तक रिपोर्ट पूरी नहीं हो सकतीं. अगर इस फ़ील्ड को खाली छोड़ा जाता है, तो डिफ़ॉल्ट वैल्यू 10% होती है. |
job_parameters.input_report_count |
लंबी वैल्यू |
यह फ़ील्ड ज़रूरी नहीं है. जॉब के लिए इनपुट डेटा के तौर पर दी गई रिपोर्ट की कुल संख्या. report_error_threshold_percentage के साथ मिलकर, यह वैल्यू तब जॉब को जल्दी फ़ेल होने की सुविधा चालू करती है, जब गड़बड़ियों की वजह से रिपोर्ट को बाहर रखा जाता है.
|
job_parameters.filtering_ids |
स्ट्रिंग |
यह फ़ील्ड ज़रूरी नहीं है. बिना हस्ताक्षर वाले फ़िल्टरिंग आईडी की सूची, जिन्हें कॉमा से अलग किया गया है. फ़िल्टर करने वाले आईडी से मेल न खाने वाले सभी योगदानों को फ़िल्टर कर दिया जाता है. (उदाहरण के लिए"filtering_ids": "12345,34455,12" ). डिफ़ॉल्ट वैल्यू 0 है.
|
job_parameters.debug_run |
बूलियन |
यह फ़ील्ड ज़रूरी नहीं है. डीबग रन को लागू करते समय, डीबग की खास जानकारी वाली रिपोर्ट और एनोटेशन जोड़े जाते हैं. इनमें, शोर वाली और शोर वाली नहीं रिपोर्ट शामिल होती हैं. इनसे यह पता चलता है कि डोमेन इनपुट और/या रिपोर्ट में कौनसी कुंजियां मौजूद हैं. इसके अलावा, एक से ज़्यादा बैच में डुप्लीकेट आइटम भी नहीं जोड़े जा सकते. ध्यान दें कि डीबग रन सिर्फ़ उन रिपोर्ट पर लागू होता है जिनमें फ़्लैग "debug_mode": "enabled" होता है. v2.10.0 के बाद, डीबग रन से निजता बजट का इस्तेमाल नहीं होता.
|
कोई नौकरी कर लो ॥ कोई काम ढूंढ लो ॥ कोई नौकरी तलाश लो ॥ कुछ काम कर लो ॥ कोई काम कर लो ॥ कोई काम है कि नहीं
जब किसी विज्ञापन टेक्नोलॉजी को अनुरोध किए गए बैच का स्टेटस जानना हो, तो वह getJob
एंडपॉइंट को कॉल कर सकता है. getJob
एंडपॉइंट को job_request_id
पैरामीटर के साथ एचटीटीपीएस जीईटी अनुरोध का इस्तेमाल करके कॉल किया जाता है.
GET https://<api-gateway>/stage/v1alpha/getJob?job_request_id=<job_request_id>
आपको जवाब में, गड़बड़ी के मैसेज के साथ-साथ जॉब का स्टेटस भी दिखेगा:
{
"job_status": "FINISHED",
"request_received_at": "2023-07-17T19:15:13.926530Z",
"request_updated_at": "2023-07-17T19:15:28.614942839Z",
"job_request_id": "PSD_0003",
"input_data_blob_prefix": "reports/output_reports_2023-07-17T19:11:27.315Z.avro",
"input_data_bucket_name": "ags-report-bucket",
"output_data_blob_prefix": "summary/summary.avro",
"output_data_bucket_name": "ags-report-bucket",
"postback_URL": "",
"result_info": {
"return_code": "SUCCESS",
"return_message": "Aggregation job successfully processed",
"error_summary": {
"error_counts": [],
"error_messages": []
},
"finished_at": "2023-07-17T19:15:28.607802354Z"
},
"job_parameters": {
"debug_run": "true",
"output_domain_bucket_name": "ags-report-bucket",
"output_domain_blob_prefix": "output_domain/output_domain.avro",
"attribution_report_to": "https://privacy-sandcastle-dev-dsp.web.app"
},
"request_processing_started_at": "2023-07-17T19:15:21.583759622Z"
}
जवाब वाले फ़ील्ड
पैरामीटर | टाइप | ब्यौरा |
---|---|---|
job_request_id |
स्ट्रिंग |
यह createJob अनुरोध में दिया गया यूनीक जॉब/बैच आईडी है.
|
job_status |
स्ट्रिंग | यह नौकरी के अनुरोध का स्टेटस है. |
request_received_at |
स्ट्रिंग | अनुरोध मिलने का समय. |
request_updated_at |
स्ट्रिंग | जॉब को आखिरी बार अपडेट किए जाने का समय. |
input_data_blob_prefix |
स्ट्रिंग |
यह इनपुट डेटा प्रीफ़िक्स है, जिसे createJob पर सेट किया गया था.
|
input_data_bucket_name |
स्ट्रिंग |
यह विज्ञापन टेक्नोलॉजी की इनपुट डेटा बकेट है, जहां एग्रीगेट की जा सकने वाली रिपोर्ट सेव की जाती हैं. यह फ़ील्ड createJob पर सेट है.
|
output_data_blob_prefix |
स्ट्रिंग |
यह आउटपुट डेटा प्रीफ़िक्स है, जिसे createJob पर सेट किया गया था.
|
output_data_bucket_name |
स्ट्रिंग |
यह विज्ञापन टेक्नोलॉजी की आउटपुट डेटा बकेट है, जहां जनरेट की गई खास जानकारी वाली रिपोर्ट सेव की जाती हैं. यह फ़ील्ड createJob पर सेट है.
|
request_processing_started_at |
स्ट्रिंग |
प्रोसेस करने की पिछली कोशिश शुरू होने का समय. इसमें, जॉब की सूची में इंतज़ार करने का समय शामिल नहीं है.
(प्रोसेसिंग में लगने वाला कुल समय = request_updated_at - request_processing_started_at )
|
result_info |
शब्दकोश |
यह createJob अनुरोध का नतीजा है. इसमें उपलब्ध सारी जानकारी शामिल है.
इसमें return_code , return_message , finished_at , और error_summary वैल्यू दिखती हैं.
|
result_info.return_code |
स्ट्रिंग | जॉब के नतीजे का रिटर्न कोड. अगर एग्रीगेशन सेवा में कोई समस्या आती है, तो उसे हल करने के लिए यह जानकारी ज़रूरी है. |
result_info.return_message |
स्ट्रिंग | जॉब के नतीजे के तौर पर, सफलता या गड़बड़ी का मैसेज. एग्रीगेशन सेवा से जुड़ी समस्याओं को हल करने के लिए भी यह जानकारी ज़रूरी है. |
result_info.error_summary |
शब्दकोश | जॉब से मिलने वाली गड़बड़ियां. इसमें, गड़बड़ियों के टाइप के साथ-साथ रिपोर्ट की संख्या भी शामिल होती है. |
result_info.finished_at |
टाइमस्टैंप | टाइमस्टैंप, जिससे पता चलता है कि जॉब पूरा हो गया है. |
result_info.error_summary.error_counts |
सूची |
इससे, गड़बड़ी के मैसेज की सूची के साथ-साथ, एक ही गड़बड़ी के मैसेज वाली उन रिपोर्ट की संख्या दिखती है जो प्रोसेस नहीं हो पाईं. गड़बड़ी की हर गिनती में एक कैटगरी, error_count ,और description शामिल होती है.
|
result_info.error_summary.error_messages |
सूची | इससे, प्रोसेस न हो पाने वाली रिपोर्ट में गड़बड़ी के मैसेज की सूची मिलती है. |
job_parameters |
शब्दकोश |
इसमें createJob अनुरोध में दिए गए जॉब पैरामीटर शामिल होते हैं. काम की प्रॉपर्टी, जैसे कि `output_domain_blob_prefix` और `output_domain_bucket_name`.
|
job_parameters.attribution_report_to |
स्ट्रिंग |
reporting_site के साथ इस्तेमाल नहीं किया जा सकता. यह रिपोर्टिंग यूआरएल या वह सोर्स है जहां से रिपोर्ट मिली थी. ऑरिजिन, उस साइट का हिस्सा है जिसे एग्रीगेशन सेवा के लिए रजिस्टर किया गया है. इसकी जानकारी createJob अनुरोध में दी गई है.
|
job_parameters.reporting_site |
स्ट्रिंग |
attribution_report_to के साथ इस्तेमाल नहीं किया जा सकता. यह रिपोर्टिंग यूआरएल का होस्टनेम या रिपोर्ट मिलने का सोर्स है. ऑरिजिन, उस साइट का हिस्सा है जिसे एग्रीगेशन सेवा के लिए रजिस्टर किया गया है. ध्यान दें कि एक ही अनुरोध में, कई रिपोर्टिंग ऑरिजिन वाली रिपोर्ट सबमिट की जा सकती हैं. हालांकि, ऐसा तब ही किया जा सकता है, जब सभी रिपोर्टिंग ऑरिजिन, इस पैरामीटर में बताई गई साइट से जुड़े हों. इसकी जानकारी createJob अनुरोध में दी गई है. इसके अलावा, पक्का करें कि बकेट में सिर्फ़ वे रिपोर्ट शामिल हों जिन्हें आपको जॉब बनाते समय एग्रीगेट करना है. इनपुट डेटा बकेट में जोड़ी गई ऐसी सभी रिपोर्ट को प्रोसेस किया जाता है जिनकी रिपोर्टिंग ऑरिजिन, जॉब पैरामीटर में बताई गई रिपोर्टिंग साइट से मेल खाती हैं.
एग्रीगेशन सेवा, डेटा बकेट में मौजूद सिर्फ़ उन रिपोर्ट को ध्यान में रखती है जो नौकरी के रजिस्टर किए गए रिपोर्टिंग ऑरिजिन से मेल खाती हैं. उदाहरण के लिए, अगर रजिस्टर किया गया ऑरिजिन https://exampleabc.com है, तो सिर्फ़ https://exampleabc.com की रिपोर्ट शामिल की जाती हैं. भले ही, बकेट में सबडोमेन (https://1.exampleabc.com वगैरह) या पूरी तरह से अलग डोमेन (https://3.examplexyz.com ) की रिपोर्ट शामिल हों.
|
job_parameters.debug_privacy_epsilon |
फ़्लोटिंग पॉइंट, डबल |
यह फ़ील्ड ज़रूरी नहीं है. अगर कोई वैल्यू नहीं दी जाती है, तो 10 की डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है. वैल्यू 0 से 64 के बीच हो सकती हैं. यह वैल्यू, createJob अनुरोध में दी जाती है.
|
job_parameters.report_error_threshold_percentage |
डबल |
यह फ़ील्ड ज़रूरी नहीं है. यह रिपोर्ट का वह थ्रेशोल्ड प्रतिशत है जो जॉब के पूरा न होने से पहले पूरा नहीं हो सकता. अगर कोई वैल्यू असाइन नहीं की गई है, तो 10% की डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है. इसकी जानकारी createJob अनुरोध में दी गई है.
|
job_parameters.input_report_count |
लंबा मान | यह फ़ील्ड ज़रूरी नहीं है. इस जॉब के लिए इनपुट डेटा के तौर पर दी गई रिपोर्ट की कुल संख्या. अगर गड़बड़ियों की वजह से ज़्यादा रिपोर्ट को बाहर रखा जाता है, तो इस वैल्यू के साथ `report_error_threshold_percentage`, जॉब के जल्दी पूरा न होने की वजह बनता है. यह सेटिंग, `createJob` अनुरोध में बताई गई है. |
job_parameters.filtering_ids |
स्ट्रिंग |
यह फ़ील्ड ज़रूरी नहीं है. बिना हस्ताक्षर वाले फ़िल्टरिंग आईडी की सूची, जिन्हें कॉमा लगाकर अलग किया गया है. फ़िल्टर करने वाले आईडी से मेल न खाने वाले सभी योगदानों को फ़िल्टर कर दिया जाता है. इसकी जानकारी createJob अनुरोध में दी गई है.
उदाहरण के लिए, "filtering_ids":"12345,34455,12" . डिफ़ॉल्ट वैल्यू "0" है.)
|