AWS-এ অ্যাগ্রিগেশন সার্ভিসের সাথে কাজ করুন

1. পূর্বশর্ত

এই কোডল্যাবটি সম্পাদন করার জন্য, কয়েকটি পূর্বশর্ত প্রয়োজন। প্রতিটি প্রয়োজনীয়তা "স্থানীয় পরীক্ষা" বা "একত্রীকরণ পরিষেবা" এর জন্য প্রয়োজনীয় কিনা তা সেই অনুযায়ী চিহ্নিত করা হয়েছে৷

1.1। স্থানীয় টেস্টিং টুল ডাউনলোড করুন (স্থানীয় পরীক্ষা)

স্থানীয় পরীক্ষার জন্য স্থানীয় টেস্টিং টুল ডাউনলোড করতে হবে। টুলটি এনক্রিপ্ট না করা ডিবাগ রিপোর্ট থেকে সারাংশ রিপোর্ট তৈরি করবে।

Github-এ Lambda JAR Archives- এ ডাউনলোডের জন্য স্থানীয় টেস্টিং টুল উপলব্ধ। এটিকে LocalTestingTool_{version}.jar হিসাবে নামকরণ করা উচিত।

1.2। JAVA JRE ইনস্টল করা আছে তা নিশ্চিত করুন (স্থানীয় পরীক্ষা এবং সমষ্টি পরিষেবা)

" টার্মিনাল " খুলুন এবং আপনার মেশিনে জাভা বা openJDK ইনস্টল করা আছে কিনা তা পরীক্ষা করতে java --version ব্যবহার করুন।

java\n--সংস্করণ ব্যবহার করে java jre সংস্করণ পরীক্ষা করা হচ্ছে

এটি ইনস্টল করা না থাকলে, আপনি Java সাইট বা openJDK সাইট থেকে ডাউনলোড এবং ইনস্টল করতে পারেন।

1.3। এগ্রিগেটেবল রিপোর্ট কনভার্টার ডাউনলোড করুন (স্থানীয় পরীক্ষা এবং একত্রীকরণ পরিষেবা)

আপনি গোপনীয়তা স্যান্ডবক্স ডেমো গিথুব সংগ্রহস্থল থেকে সমষ্টিগত প্রতিবেদন রূপান্তরকারীর একটি অনুলিপি ডাউনলোড করতে পারেন।

1.4। বিজ্ঞাপন গোপনীয়তা API সক্ষম করুন (স্থানীয় পরীক্ষা এবং সমষ্টি পরিষেবা)

আপনার ব্রাউজারে, chrome://settings/adPrivacy এ যান এবং সমস্ত বিজ্ঞাপন গোপনীয়তা API সক্ষম করুন৷

নিশ্চিত করুন যে তৃতীয় পক্ষের কুকিজ সক্রিয় আছে।

আপনার ব্রাউজারে, chrome://settings/cookies এ যান এবং " ছদ্মবেশী মোডে তৃতীয় পক্ষের কুকি ব্লক করুন " নির্বাচন করুন৷

তৃতীয় পক্ষের কুকি ক্রোমসেটিং

1.5। ওয়েব এবং অ্যান্ড্রয়েড তালিকাভুক্তি (একত্রীকরণ পরিষেবা)

প্রোডাকশন এনভায়রনমেন্টে প্রাইভেসি স্যান্ডবক্স এপিআই ব্যবহার করতে, নিশ্চিত করুন যে আপনি ক্রোম এবং অ্যান্ড্রয়েড উভয়ের জন্য তালিকাভুক্তি এবং প্রত্যয়ন সম্পন্ন করেছেন।

স্থানীয় পরীক্ষার জন্য, একটি ক্রোম পতাকা এবং CLI সুইচ ব্যবহার করে তালিকাভুক্তি নিষ্ক্রিয় করা যেতে পারে৷

আমাদের ডেমোর জন্য Chrome পতাকা ব্যবহার করতে, chrome://flags/#privacy-sandbox-enrollment-overrides এ যান এবং আপনার সাইটের সাথে ওভাররাইড আপডেট করুন অথবা আপনি যদি আমাদের ডেমো সাইট ব্যবহার করেন, কোন আপডেটের প্রয়োজন নেই৷

গোপনীয়তা স্যান্ডবক্স তালিকাভুক্তি ওভাররাইড ক্রোমফ্ল্যাগ

1.6। অ্যাগ্রিগেশন সার্ভিস অনবোর্ডিং (অ্যাগ্রিগেশন সার্ভিস)

অ্যাগ্রিগেশন পরিষেবার জন্য পরিষেবা ব্যবহার করতে সক্ষম হওয়ার জন্য সমন্বয়কারীদের অনবোর্ডিং প্রয়োজন৷ আপনার রিপোর্টিং সাইটের ঠিকানা, AWS অ্যাকাউন্ট আইডি এবং অন্যান্য তথ্য প্রদান করে অ্যাগ্রিগেশন সার্ভিস অনবোর্ডিং ফর্মটি পূরণ করুন।

1.7। ক্লাউড প্রদানকারী (একত্রীকরণ পরিষেবা)

অ্যাগ্রিগেশন সার্ভিসের জন্য একটি বিশ্বস্ত এক্সিকিউশন এনভায়রনমেন্ট ব্যবহার করা প্রয়োজন যা একটি ক্লাউড পরিবেশ ব্যবহার করে। অ্যাগ্রিগেশন পরিষেবা Amazon Web Services (AWS) এবং Google Cloud (GCP)-এ সমর্থিত। এই কোডল্যাব শুধুমাত্র AWS ইন্টিগ্রেশন কভার করবে।

AWS নাইট্রো এনক্লেভস নামে একটি বিশ্বস্ত এক্সিকিউশন এনভায়রনমেন্ট প্রদান করে। আপনার একটি AWS অ্যাকাউন্ট আছে তা নিশ্চিত করুন এবং AWS CLI ইনস্টলেশন অনুসরণ করুন এবং আপনার AWS CLI পরিবেশ সেটআপ করতে নির্দেশাবলী আপডেট করুন

যদি আপনার AWS CLI নতুন হয়, তাহলে আপনি CLI কনফিগারেশন নির্দেশাবলী ব্যবহার করে আপনার AWS CLI কনফিগার করতে পারেন।

1.7.1। AWS S3 বালতি তৈরি করুন

টেরাফর্ম স্টেট সঞ্চয় করার জন্য একটি AWS S3 বালতি এবং আপনার রিপোর্ট এবং সারাংশ রিপোর্টগুলি সঞ্চয় করার জন্য আরেকটি S3 বালতি তৈরি করুন৷ আপনি প্রদত্ত CLI কমান্ড ব্যবহার করতে পারেন। সঠিক ভেরিয়েবলে <> ক্ষেত্র প্রতিস্থাপন করুন।

aws s3api create-bucket --bucket <tf_bucket_name> --region us-east-1
aws s3api create-bucket --bucket <report_bucket_name> --region us-east-1

1.7.2। ব্যবহারকারীর অ্যাক্সেস কী তৈরি করুন

AWS গাইড ব্যবহার করে ব্যবহারকারীর অ্যাক্সেস কী তৈরি করুন। এটি AWS-এ তৈরি createJob এবং getJob API এন্ডপয়েন্ট কল করতে ব্যবহার করা হবে।

1.7.3। AWS ব্যবহারকারী এবং গ্রুপ অনুমতি

AWS-এ অ্যাগ্রিগেশন পরিষেবা স্থাপন করতে, আপনাকে পরিষেবাটি স্থাপনের জন্য ব্যবহৃত ব্যবহারকারীকে নির্দিষ্ট অনুমতি প্রদান করতে হবে। এই কোডল্যাবের জন্য, নিশ্চিত করুন যে ব্যবহারকারীর প্রশাসক অ্যাক্সেস রয়েছে যাতে স্থাপনে সম্পূর্ণ অনুমতি নিশ্চিত করা যায়।

1.8। Terraform (একত্রীকরণ পরিষেবা)

এই কোডল্যাব একত্রিতকরণ পরিষেবা স্থাপন করতে Terraform ব্যবহার করে। আপনার স্থানীয় পরিবেশে Terraform বাইনারি ইনস্টল করা আছে তা নিশ্চিত করুন।

আপনার স্থানীয় পরিবেশে Terraform বাইনারি ডাউনলোড করুন।

একবার টেরাফর্ম বাইনারি ডাউনলোড হয়ে গেলে, ফাইলটি বের করুন এবং টেরাফর্ম বাইনারিটিকে /usr/local/bin এ সরান।

cp <directory>/terraform /usr/local/bin

টেরাফর্ম ক্লাসপথে উপলব্ধ কিনা তা নিশ্চিত করতে পরীক্ষা করুন।

terraform -v

1.9। পোস্টম্যান (একত্রীকরণ পরিষেবা AWS এর জন্য)

এই কোডল্যাবের জন্য, অনুরোধ পরিচালনার জন্য পোস্টম্যান ব্যবহার করুন।

" ওয়ার্কস্পেস " শীর্ষ নেভিগেশন আইটেমে গিয়ে একটি ওয়ার্কস্পেস তৈরি করুন এবং " ওয়ার্কস্পেস তৈরি করুন " নির্বাচন করুন।

পোস্টম্যান ওয়ার্কস্পেস

" ফাঁকা কর্মক্ষেত্র " নির্বাচন করুন, পরবর্তীতে ক্লিক করুন এবং এটির নাম দিন " গোপনীয়তা স্যান্ডবক্স "। " ব্যক্তিগত " নির্বাচন করুন এবং " তৈরি করুন " এ ক্লিক করুন।

পূর্ব-কনফিগার করা ওয়ার্কস্পেস JSON কনফিগারেশন এবং গ্লোবাল এনভায়রনমেন্ট ফাইল ডাউনলোড করুন।

" ইমপোর্ট " বোতাম ব্যবহার করে JSON ফাইলগুলিকে " আমার ওয়ার্কস্পেস "-এ আমদানি করুন।

পোস্টম্যান JSONfiles আমদানি করুন

এটি createJob এবং getJob HTTP অনুরোধের সাথে আপনার জন্য গোপনীয়তা স্যান্ডবক্স সংগ্রহ তৈরি করবে।

পোস্টম্যান আমদানিকৃত সংগ্রহ

" এনভায়রনমেন্ট কুইক লুক " এর মাধ্যমে AWS "অ্যাক্সেস কী" এবং "সিক্রেট কী" আপডেট করুন।

পোস্টম্যান পরিবেশ কুইকলুক

" সম্পাদনা " ক্লিক করুন এবং " অ্যাক্সেস_কী " এবং " গোপন_কী " উভয়ের " বর্তমান মান" আপডেট করুন৷ মনে রাখবেন যে frontend_api_id এই নথির অধ্যায় 3.1.4- এ প্রদান করা হবে। এবং আমরা us-east-1 অঞ্চল ব্যবহার করার পরামর্শ দিই। যাইহোক, যদি আপনি একটি ভিন্ন অঞ্চলে স্থাপন করতে চান, তাহলে নিশ্চিত করুন যে আপনি আপনার অ্যাকাউন্টে প্রকাশিত AMI অনুলিপি করেছেন বা প্রদত্ত স্ক্রিপ্টগুলি ব্যবহার করে একটি স্ব-নির্মাণ সম্পাদন করেছেন৷

পোস্টম্যান গ্লোবাল ভেরিয়েবল

পোস্টম্যান গ্লোবাল ভেরিয়েবল সম্পাদনা করুন

2. স্থানীয় টেস্টিং কোডল্যাব

এনক্রিপ্ট না করা ডিবাগ রিপোর্টগুলি ব্যবহার করে অ্যাগ্রিগেশন করতে এবং সারাংশ রিপোর্ট তৈরি করতে আপনি আপনার মেশিনে স্থানীয় টেস্টিং টুল ব্যবহার করতে পারেন।

কোডল্যাব ধাপ

ধাপ 2.1। ট্রিগার রিপোর্ট : ট্রিগার প্রাইভেট অ্যাগ্রিগেশন রিপোর্টিং রিপোর্ট সংগ্রহ করতে সক্ষম হবেন।

ধাপ 2.2। ডিবাগ এগ্রিগেটেবল রিপোর্ট তৈরি করুন : সংগৃহীত JSON রিপোর্টকে একটি AVRO ফরম্যাটেড রিপোর্টে রূপান্তর করুন।
এই পদক্ষেপটি একই রকম হবে যখন বিজ্ঞাপন প্রযুক্তিগুলি API রিপোর্টিং এন্ডপয়েন্ট থেকে রিপোর্ট সংগ্রহ করে এবং JSON রিপোর্টগুলিকে AVRO ফর্ম্যাটেড রিপোর্টে রূপান্তর করে৷

ধাপ 2.3। ডিবাগ রিপোর্ট থেকে বালতি কী পার্স করুন : বালতি কীগুলি বিজ্ঞাপন প্রযুক্তি দ্বারা ডিজাইন করা হয়েছে৷ এই কোডল্যাবে, যেহেতু বালতিগুলি পূর্বনির্ধারিত, প্রদত্ত হিসাবে বালতি কীগুলি পুনরুদ্ধার করুন।

ধাপ 2.4। আউটপুট ডোমেন AVRO তৈরি করুন : একবার বালতি কীগুলি পুনরুদ্ধার করা হলে, আউটপুট ডোমেন AVRO ফাইল তৈরি করুন।

ধাপ 2.5। স্থানীয় টেস্টিং টুল ব্যবহার করে সারাংশ রিপোর্ট তৈরি করুন : স্থানীয় পরিবেশে সারসংক্ষেপ রিপোর্ট তৈরি করতে স্থানীয় টেস্টিং টুল ব্যবহার করুন।

ধাপ 2.6। সারাংশ রিপোর্ট পর্যালোচনা করুন : স্থানীয় টেস্টিং টুল দ্বারা তৈরি করা সারাংশ রিপোর্ট পর্যালোচনা করুন।

2.1। ট্রিগার রিপোর্ট

গোপনীয়তা স্যান্ডবক্স ডেমো সাইটে যান। এটি একটি ব্যক্তিগত সমষ্টি প্রতিবেদন ট্রিগার করে। আপনি রিপোর্টটি chrome://private-aggregation-internals এ দেখতে পারেন।

ক্রোম ব্যক্তিগত সমষ্টি অভ্যন্তরীণ

যদি আপনার প্রতিবেদন " মুলতুবি " অবস্থায় থাকে, আপনি প্রতিবেদনটি নির্বাচন করতে পারেন এবং " নির্বাচিত প্রতিবেদন পাঠান " এ ক্লিক করতে পারেন৷

ব্যক্তিগত একত্রিত প্রতিবেদন পাঠান

2.2। ডিবাগ এগ্রিগেটেবল রিপোর্ট তৈরি করুন

chrome://private-aggregation-internals , [reporting-origin]/.well-known/private-aggregation/report-shared-storage এন্ডপয়েন্টে প্রাপ্ত " রিপোর্ট বডি " কপি করুন।

নিশ্চিত করুন যে " রিপোর্ট বডি "-এ, aggregation_coordinator_origin https://publickeyservice.msmt.aws.privacysandboxservices.com রয়েছে যার অর্থ রিপোর্টটি একটি AWS সমষ্টিগত প্রতিবেদন।

ব্যক্তিগত সমষ্টি রিপোর্ট

একটি JSON ফাইলে JSON " Report Body " রাখুন। এই উদাহরণে, আপনি vim ব্যবহার করতে পারেন। কিন্তু আপনি চাইলে যেকোনো টেক্সট এডিটর ব্যবহার করতে পারেন।

vim report.json

প্রতিবেদনটি report.json এ পেস্ট করুন এবং আপনার ফাইল সংরক্ষণ করুন।

JSONfile রিপোর্ট করুন

এটি হয়ে গেলে, আপনার রিপোর্ট ফোল্ডারে নেভিগেট করুন এবং ডিবাগ এগ্রিগেটেবল রিপোর্ট তৈরি করতে সাহায্য করার জন্য aggregatable_report_converter.jar ব্যবহার করুন। এটি আপনার বর্তমান ডিরেক্টরিতে report.avro নামে একটি সমষ্টিগত প্রতিবেদন তৈরি করে।

java -jar aggregatable_report_converter.jar \
 --request_type convertToAvro \
 --input_file report.json \
 --debug

2.3। ডিবাগ রিপোর্ট থেকে বালতি কী পার্স করুন

ব্যাচিং করার সময় অ্যাগ্রিগেশন সার্ভিসের জন্য দুটি ফাইল প্রয়োজন। সমষ্টিগত প্রতিবেদন এবং আউটপুট ডোমেন ফাইল। আউটপুট ডোমেন ফাইলটিতে আপনি সমষ্টিগত প্রতিবেদনগুলি থেকে পুনরুদ্ধার করতে চান এমন কীগুলি রয়েছে৷ output_domain.avro ফাইলটি তৈরি করতে, আপনার বালতি কীগুলির প্রয়োজন যা প্রতিবেদনগুলি থেকে পুনরুদ্ধার করা যেতে পারে।

বালতি কীগুলি API-এর কলার দ্বারা ডিজাইন করা হয়েছে এবং ডেমোতে পূর্বনির্মাণ উদাহরণ বালতি কী রয়েছে৷ যেহেতু ডেমো প্রাইভেট অ্যাগ্রিগেশনের জন্য ডিবাগ মোড সক্রিয় করেছে, আপনি বালতি কী পুনরুদ্ধার করতে " রিপোর্ট বডি " থেকে ডিবাগ ক্লিয়ারটেক্সট পেলোড পার্স করতে পারেন.. যাইহোক, এই ক্ষেত্রে, সাইটের গোপনীয়তা স্যান্ডবক্স ডেমো বালতি কীগুলি তৈরি করে৷ যেহেতু এই সাইটের জন্য ব্যক্তিগত সমষ্টি ডিবাগ মোডে আছে, আপনি বালতি কী পেতে " রিপোর্ট বডি " থেকে debug_cleartext_payload ব্যবহার করতে পারেন৷

রিপোর্টের মূল অংশ থেকে debug_cleartext_payload কপি করুন।

রিপোর্টবডি থেকে ক্লিয়ারটেক্সট পেলোড ডিবাগ করুন

প্রাইভেট অ্যাগ্রিগেশন টুলের জন্য ডিবাগ পেলোড ডিকোডার খুলুন এবং " ইনপুট " বক্সে আপনার debug_cleartext_payload পেস্ট করুন এবং " ডিকোড " এ ক্লিক করুন।

পেলোড ডিকোডার

পৃষ্ঠাটি বালতি কী এর দশমিক মান প্রদান করে। নিম্নলিখিত একটি নমুনা বালতি কী.

পেলোড ডিকোডার ফলাফল

2.4। আউটপুট ডোমেইন AVRO তৈরি করুন

এখন আমাদের কাছে বালতি কী আছে, এগিয়ে যান এবং বালতি কীটির দশমিক মান অনুলিপি করুন। বালতি কী ব্যবহার করে output_domain.avro তৈরি করতে এগিয়ে যান। আপনি প্রতিস্থাপন নিশ্চিত করুন আপনি পুনরুদ্ধার করা বালতি চাবি দিয়ে.

java -jar aggregatable_report_converter.jar \
 --request_type createDomainAvro \
 --bucket_key <bucket key>

স্ক্রিপ্টটি আপনার বর্তমান ফোল্ডারে output_domain.avro ফাইল তৈরি করে।

2.5। স্থানীয় টেস্টিং টুল ব্যবহার করে সারাংশ রিপোর্ট তৈরি করুন

আমরা LocalTestingTool_{version}.jar ব্যবহার করব যা সারাংশ রিপোর্ট তৈরি করতে সেকশন 1.1-এ ডাউনলোড করা হয়েছে। নিম্নলিখিত কমান্ড ব্যবহার করুন. আপনার LocalTestingTool_{version}.jar LocalTestingTool-এর জন্য ডাউনলোড করা সংস্করণ দিয়ে প্রতিস্থাপন করা উচিত।

আপনার স্থানীয় উন্নয়ন পরিবেশে একটি সারসংক্ষেপ প্রতিবেদন তৈরি করতে নিম্নলিখিত কমান্ডটি চালান:

java -jar LocalTestingTool_{version}.jar \
--input_data_avro_file report.avro \
--domain_avro_file output_domain.avro \
--output_directory .

কমান্ডটি চালানোর পরে আপনি নিম্নলিখিত চিত্রের অনুরূপ কিছু দেখতে পাবেন। এটি সম্পূর্ণ হলে একটি রিপোর্ট output.avro তৈরি করা হয়।

স্থানীয় পরীক্ষার সারাংশ রিপোর্ট avrofile

2.6। সারসংক্ষেপ রিপোর্ট পর্যালোচনা

যে সারাংশ রিপোর্ট তৈরি করা হয়েছে তা AVRO ফরম্যাটে। এটি পড়তে সক্ষম হওয়ার জন্য, আপনাকে এটিকে AVRO থেকে JSON ফর্ম্যাটে রূপান্তর করতে হবে। আদর্শভাবে, AVRO রিপোর্টগুলিকে JSON-এ রূপান্তর করতে বিজ্ঞাপন প্রযুক্তির কোড করা উচিত।

আমাদের কোডল্যাবের জন্য, আমরা প্রদত্ত aggregatable_report_converter.jar টুল ব্যবহার করব যাতে AVRO রিপোর্টকে JSON-এ রূপান্তর করা যায়।

java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file output.avro

এটি নিম্নলিখিত চিত্রের অনুরূপ একটি প্রতিবেদন প্রদান করে। একই ডিরেক্টরিতে তৈরি একটি রিপোর্ট output.json সহ।

সারাংশ অভ্র ফাইল রূপান্তরিত tojson

সারাংশ প্রতিবেদন পর্যালোচনা করতে আপনার পছন্দের একটি সম্পাদকে JSON ফাইলটি খুলুন।

3. এগ্রিগেশন সার্ভিস ডিপ্লয়মেন্ট

একত্রিতকরণ পরিষেবা স্থাপন করতে, নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:

ধাপ 3. অ্যাগ্রিগেশন সার্ভিস ডিপ্লয়মেন্ট : AWS-এ অ্যাগ্রিগেশন সার্ভিস ডিপ্লোয় করুন
ধাপ 3.1। অ্যাগ্রিগেশন সার্ভিস রিপোজিটরি ক্লোন করুন
ধাপ 3.2। পূর্বনির্মাণ নির্ভরতা ডাউনলোড করুন
ধাপ 3.3। উন্নয়নের পরিবেশ তৈরি করুন
ধাপ 3.4। একত্রিতকরণ পরিষেবা স্থাপন করুন

3.1। অ্যাগ্রিগেশন সার্ভিস রিপোজিটরি ক্লোন করুন

আপনার স্থানীয় পরিবেশে, Aggregation Service Github সংগ্রহস্থল ক্লোন করুন।

git clone https://github.com/privacysandbox/aggregation-service.git

3.2। পূর্বনির্মাণ নির্ভরতা ডাউনলোড করুন

একবার আপনি অ্যাগ্রিগেশন সার্ভিস রিপোজিটরি ক্লোন করে ফেললে, রিপোজিটরির টেরাফর্ম ফোল্ডারে এবং সংশ্লিষ্ট ক্লাউড ফোল্ডারে যান। যদি আপনার ক্লাউড_প্রোভাইডার AWS হয়, তাহলে আপনি এগিয়ে যেতে পারেন /terraform/aws

cd <repository_root>/terraform/aws

ইন /terraform/aws , download_prebuilt_dependencies.sh চালান।

bash download_prebuilt_dependencies.sh

3.3। উন্নয়নের পরিবেশ তৈরি করুন

একটি dev পরিবেশ তৈরি করুন /terraform/aws/environmentsdev নামে একটি ফোল্ডার তৈরি করুন।

mkdir dev

demo ফোল্ডারের বিষয়বস্তু dev ফোল্ডারে কপি করুন।

cp -R demo/* dev

আপনার dev ফোল্ডারে যান।

cd dev

আপনার main.tf ফাইলটি আপডেট করুন এবং ফাইলটি সম্পাদনা করতে input জন্য i চাপুন।

vim main.tf

লাল বক্সে কোডটি আনকমেন্ট করুন # মুছে ফেলে এবং বালতি এবং কী নাম আপডেট করে।

AWS main.tf এর জন্য :

AWS প্রধান tfile

মন্তব্য না করা কোড নিম্নলিখিত মত হওয়া উচিত.

backend "s3" {
  bucket = "<tf_state_bucket_name>"
  key    = "<environment_name>.tfstate"
  region = "us-east-1"
}

আপডেটগুলি সম্পূর্ণ হয়ে গেলে, আপডেটগুলি সংরক্ষণ করুন এবং esc -> :wq! . এটি main.tf এ আপডেট সংরক্ষণ করে।

এর পরে, example.auto.tfvars নাম dev.auto.tfvars করুন।

mv example.auto.tfvars dev.auto.tfvars

dev.auto.tfvars আপডেট করুন এবং ফাইলটি সম্পাদনা করতে input জন্য i চাপুন।

vim dev.auto.tfvars

অ্যাগ্রিগেশন সার্ভিস অনবোর্ডিং, পরিবেশ এবং বিজ্ঞপ্তি ইমেলের সময় দেওয়া সঠিক AWS ARN পরামিতিগুলির সাথে লাল বক্সের ক্ষেত্রগুলিকে আপডেট করুন৷

dev auto tfvarsfile সম্পাদনা করুন

আপডেট হয়ে গেলে, esc -> :wq! . এটি dev.auto.tfvars ফাইলটিকে সংরক্ষণ করে এবং এটি নিম্নলিখিত চিত্রের মতো দেখতে হবে৷

আপডেট করা dev auto tfvarsfile

3.4। একত্রিতকরণ পরিষেবা স্থাপন করুন

একই ফোল্ডারে অ্যাগ্রিগেশন সার্ভিস স্থাপন করতে /terraform/aws/environments/dev , Terraform আরম্ভ করুন।

terraform init

এটি নিম্নলিখিত চিত্রের অনুরূপ কিছু ফিরিয়ে দেওয়া উচিত:

টেরাফর্মিনিট

একবার টেরাফর্ম আরম্ভ হয়ে গেলে, টেরাফর্ম এক্সিকিউশন প্ল্যান তৈরি করুন। যেখানে এটি যোগ করা সম্পদের সংখ্যা এবং নিম্নলিখিত চিত্রের অনুরূপ অন্যান্য অতিরিক্ত তথ্য প্রদান করে।

terraform plan

আপনি নিম্নলিখিত " প্ল্যান " সারাংশে দেখতে পারেন। যদি এটি একটি নতুন স্থাপনা হয়, তাহলে আপনার সম্পদের সংখ্যা দেখতে হবে যা পরিবর্তন করতে 0 এবং ধ্বংস করার জন্য 0 যোগ করা হবে।

টেরাফর্মপ্ল্যান

একবার আপনি এটি সম্পূর্ণ করলে, তারপরে আপনি Terraform প্রয়োগ করতে এগিয়ে যেতে পারেন।

terraform apply

একবার Terraform দ্বারা ক্রিয়া সম্পাদন করার বিষয়ে নিশ্চিত করার জন্য অনুরোধ করা হলে, মানটিতে একটি yes ইনপুট করুন।

terraform আবেদন প্রম্পট

একবার terraform apply শেষ হলে, createJob এবং getJob জন্য নিম্নলিখিত শেষ পয়েন্টগুলি ফেরত দেওয়া হয়। frontend_api_id যেটি আপনাকে পোস্টম্যানে 1.9 বিভাগে আপডেট করতে হবে তাও ফেরত দেওয়া হয়েছে।

টেরাফর্ম প্রয়োগ সম্পূর্ণ

4. অ্যাগ্রিগেশন সার্ভিস ইনপুট তৈরি

অ্যাগ্রিগেশন সার্ভিসে ব্যাচিংয়ের জন্য AVRO রিপোর্ট তৈরি করতে এগিয়ে যান।

ধাপ 4. অ্যাগ্রিগেশন সার্ভিস ইনপুট তৈরি : অ্যাগ্রিগেশন সার্ভিসের জন্য ব্যাচ করা অ্যাগ্রিগেশন সার্ভিস রিপোর্ট তৈরি করুন।
ধাপ 4.1. ট্রিগার রিপোর্ট
ধাপ 4.2। সমষ্টিগত প্রতিবেদন সংগ্রহ করুন
ধাপ 4.3. প্রতিবেদনগুলিকে AVRO-তে রূপান্তর করুন
ধাপ 4.4. আউটপুট ডোমেইন AVRO তৈরি করুন

4.1। ট্রিগার রিপোর্ট

গোপনীয়তা স্যান্ডবক্স ডেমো সাইটে যান। এটি একটি ব্যক্তিগত সমষ্টি প্রতিবেদন ট্রিগার করে। আপনি রিপোর্টটি chrome://private-aggregation-internals এ দেখতে পারেন।

ক্রোম ব্যক্তিগত সমষ্টি অভ্যন্তরীণ

যদি আপনার প্রতিবেদন " মুলতুবি " অবস্থায় থাকে, আপনি প্রতিবেদনটি নির্বাচন করতে পারেন এবং " নির্বাচিত প্রতিবেদন পাঠান " এ ক্লিক করতে পারেন৷

ব্যক্তিগত একত্রিত প্রতিবেদন পাঠান

4.2। সমষ্টিগত প্রতিবেদন সংগ্রহ করুন

আপনার সংশ্লিষ্ট API এর .well-known শেষ পয়েন্ট থেকে আপনার সমষ্টিগত প্রতিবেদন সংগ্রহ করুন।

  • ব্যক্তিগত সমষ্টি
    [reporting-origin] /.well-known/private-aggregation/report-shared-storage
  • অ্যাট্রিবিউশন রিপোর্টিং - সারাংশ রিপোর্ট
    [reporting-origin] /.well-known/attribution-reporting/report-aggregate-attribution

এই কোডল্যাবের জন্য, আপনি ম্যানুয়ালি রিপোর্ট সংগ্রহ করবেন। উৎপাদনে, বিজ্ঞাপন প্রযুক্তিগুলি প্রোগ্রামাটিকভাবে প্রতিবেদনগুলি সংগ্রহ এবং রূপান্তর করবে বলে আশা করা হচ্ছে।

chrome://private-aggregation-internals , [reporting-origin]/.well-known/private-aggregation/report-shared-storage এন্ডপয়েন্টে প্রাপ্ত " রিপোর্ট বডি " কপি করুন।

নিশ্চিত করুন যে " রিপোর্ট বডি "-এ, aggregation_coordinator_origin https://publickeyservice.msmt.aws.privacysandboxservices.com রয়েছে যার অর্থ রিপোর্টটি একটি AWS সমষ্টিগত প্রতিবেদন।

ব্যক্তিগত সমষ্টি রিপোর্ট

একটি JSON ফাইলে JSON " Report Body " রাখুন। এই উদাহরণে, আপনি vim ব্যবহার করতে পারেন। কিন্তু আপনি চাইলে যেকোনো টেক্সট এডিটর ব্যবহার করতে পারেন।

vim report.json

প্রতিবেদনটি report.json এ পেস্ট করুন এবং আপনার ফাইল সংরক্ষণ করুন।

JSONfile রিপোর্ট করুন

4.3। প্রতিবেদনগুলিকে AVRO-তে রূপান্তর করুন

.well-known endpoints থেকে প্রাপ্ত রিপোর্টগুলি JSON ফর্ম্যাটে এবং AVRO রিপোর্ট ফর্ম্যাটে রূপান্তর করা প্রয়োজন৷ একবার আপনার কাছে JSON রিপোর্ট হয়ে গেলে, আপনার রিপোর্ট ফোল্ডারে নেভিগেট করুন এবং aggregatable_report_converter.jar ব্যবহার করুন ডিবাগ এগ্রিগেটেবল রিপোর্ট তৈরি করতে সাহায্য করুন। এটি আপনার বর্তমান ডিরেক্টরিতে report.avro নামে একটি সমষ্টিগত প্রতিবেদন তৈরি করে।

java -jar aggregatable_report_converter.jar \
 --request_type convertToAvro \
 --input_file report.json

4.4। আউটপুট ডোমেইন AVRO তৈরি করুন

output_domain.avro ফাইলটি তৈরি করতে, আপনার বালতি কীগুলির প্রয়োজন যা প্রতিবেদনগুলি থেকে পুনরুদ্ধার করা যেতে পারে।

বালতি কীগুলি বিজ্ঞাপন প্রযুক্তি দ্বারা ডিজাইন করা হয়েছে। যাইহোক, এই ক্ষেত্রে, সাইট গোপনীয়তা স্যান্ডবক্স ডেমো বালতি কী তৈরি করে। যেহেতু এই সাইটের জন্য ব্যক্তিগত সমষ্টি ডিবাগ মোডে আছে, আপনি বালতি কী পেতে " রিপোর্ট বডি " থেকে debug_cleartext_payload ব্যবহার করতে পারেন৷

এগিয়ে যান এবং রিপোর্টের বডি থেকে debug_cleartext_payload কপি করুন।

রিপোর্টবডি থেকে ক্লিয়ারটেক্সট পেলোড ডিবাগ করুন

goo.gle/ags-payload-decoder খুলুন এবং " INPUT " বক্সে আপনার debug_cleartext_payload পেস্ট করুন এবং " ডিকোড " এ ক্লিক করুন।

পেলোড ডিকোডার

পৃষ্ঠাটি বালতি কী এর দশমিক মান প্রদান করে। নিম্নলিখিত একটি নমুনা বালতি কী.

পেলোড ডিকোডার ফলাফল

এখন যেহেতু আমাদের কাছে বালতি কী আছে, এগিয়ে যান এবং output_domain.avro তৈরি করুন। আপনি প্রতিস্থাপন নিশ্চিত করুন আপনি পুনরুদ্ধার করা বালতি চাবি দিয়ে.

java -jar aggregatable_report_converter.jar \
 --request_type createDomainAvro \
 --bucket_key <bucket key>

স্ক্রিপ্টটি আপনার বর্তমান ফোল্ডারে output_domain.avro ফাইল তৈরি করে।

4.5। রিপোর্টগুলিকে AWS বালতিতে সরান৷

একবার AVRO রিপোর্ট (বিভাগ 3.2.3 থেকে) এবং আউটপুট ডোমেন (বিভাগ 3.2.4 থেকে) তৈরি হয়ে গেলে, রিপোর্ট এবং আউটপুট ডোমেন রিপোর্টিং S3 বাকেটগুলিতে সরাতে এগিয়ে যান।

আপনার স্থানীয় পরিবেশে AWS CLI সেটআপ থাকলে, সংশ্লিষ্ট S3 বালতি এবং রিপোর্ট ফোল্ডারে রিপোর্ট কপি করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন।

aws s3 cp report.avro s3://<report_bucket_name>/<report_folder>/
aws s3 cp output_domain.avro s3://<report_bucket_name>/<output_domain_folder>/

5. একত্রীকরণ পরিষেবা ব্যবহার

terraform apply থেকে, আপনাকে create_job_endpoint , get_job_endpoint এবং frontend_api_id ফেরত দেওয়া হবে। frontend_api_id কপি করুন এবং এটিকে পোস্টম্যান গ্লোবাল ভেরিয়েবল frontend_api_id রাখুন যা আপনি পূর্বশর্ত বিভাগ 1.9-এ সেটআপ করেছেন।

ধাপ 5. অ্যাগ্রিগেশন সার্ভিস ব্যবহার : সারাংশ রিপোর্ট তৈরি করতে এবং সারাংশ রিপোর্ট পর্যালোচনা করতে অ্যাগ্রিগেশন সার্ভিস API ব্যবহার করুন।
ধাপ 5.1। ব্যাচে createJob এন্ডপয়েন্ট ব্যবহার করে
ধাপ 5.2। ব্যাচ স্ট্যাটাস পুনরুদ্ধার করতে getJob এন্ডপয়েন্ট ব্যবহার করে
ধাপ 5.3। সারাংশ রিপোর্ট পর্যালোচনা

5.1। ব্যাচে createJob এন্ডপয়েন্ট ব্যবহার করে

পোস্টম্যানে, " প্রাইভেসি স্যান্ডবক্স " সংগ্রহ খুলুন এবং " জব তৈরি করুন " নির্বাচন করুন।

" বডি " নির্বাচন করুন এবং আপনার অনুরোধ পেলোড স্থাপন করতে " কাঁচা " নির্বাচন করুন৷

পোস্টম্যান জব রিকোয়েস্টবডি তৈরি করুন

createJob পেলোড স্কিমা গিথুবে পাওয়া যায় এবং নিচের মত দেখায়। উপযুক্ত ক্ষেত্রগুলির সাথে <> প্রতিস্থাপন করুন।

{
  "job_request_id": "<job_request_id>",
  "input_data_blob_prefix": "<report_folder>/<report_name>.avro",
  "input_data_bucket_name": "<bucket_name>",
  "output_data_blob_prefix": "<output_folder>/<summary_report_prefix>",
  "output_data_bucket_name": "<bucket_name>",
  "job_parameters": {
    "output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
    "output_domain_bucket_name": "<bucket_name>",
    "attribution_report_to": "<reporting origin of report>",
    "reporting_site": "<domain of reporting origin(s) of report>", // Only one of attribution_report_to or reporting_site is required as of v2.7.0
    "report_error_threshold_percentage": "10",
    "debug_run": "true"
  }
}

একবার আপনি " পাঠান " ক্লিক করলে, এটি job_request_id দিয়ে কাজ তৈরি করে। একবার অ্যাগ্রিগেশন সার্ভিসের দ্বারা অনুরোধটি গৃহীত হলে আপনার একটি HTTP 202 প্রতিক্রিয়া পাওয়া উচিত। অন্যান্য সম্ভাব্য রিটার্ন কোড HTTP প্রতিক্রিয়া কোড পাওয়া যাবে

পোস্টম্যান কাজের অনুরোধের স্ট্যাটাস তৈরি করুন

5.2। ব্যাচ স্ট্যাটাস পুনরুদ্ধার করতে getJob এন্ডপয়েন্ট ব্যবহার করে

কাজের অনুরোধের স্থিতি পরীক্ষা করতে, আপনি getJob এন্ডপয়েন্ট ব্যবহার করতে পারেন। " গোপনীয়তা স্যান্ডবক্স " সংগ্রহে " getJob " নির্বাচন করুন৷

" Params "-এ, job_request_id মানটিকে job_request_id এ আপডেট করুন যা createJob অনুরোধে পাঠানো হয়েছিল।

পোস্টম্যান getJobrequest

getJob এর ফলাফল 200-এর HTTP স্ট্যাটাস সহ আপনার কাজের অনুরোধের স্ট্যাটাস ফেরত দেবে। অনুরোধ " বডি "-এ job_status , return_message এবং error_messages (যদি চাকরিটি ভুল হয়ে থাকে) এর মতো প্রয়োজনীয় তথ্য থাকে।

পোস্টম্যান getJob অনুরোধের অবস্থা

যেহেতু জেনারেট করা ডেমো রিপোর্টের রিপোর্টিং সাইটটি আপনার AWS আইডিতে আপনার অনবোর্ড করা সাইট থেকে আলাদা, আপনি PRIVACY_BUDGET_AUTHORIZATION_ERROR return_code সহ একটি প্রতিক্রিয়া পেতে পারেন৷ এটি স্বাভাবিক যেহেতু রিপোর্টের রিপোর্টিং অরিজিন সাইটটি AWS আইডির জন্য অনবোর্ড করা রিপোর্টিং সাইটের সাথে মেলে না।

{
    "job_status": "FINISHED",
    "request_received_at": "2023-12-07T22:50:58.830956Z",
    "request_updated_at": "2023-12-07T22:51:10.526326456Z",
    "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>",
    "postback_url": "",
    "result_info": {
        "return_code": "PRIVACY_BUDGET_AUTHORIZATION_ERROR",
        "return_message": "Aggregation job successfully processed",
        "error_summary": {
            "error_counts": [],
            "error_messages": []
        },
        "finished_at": "2023-12-07T22:51:10.517730898Z"
    },
    "job_parameters": {
        "debug_run": "true",
        "output_domain_bucket_name": "<output_domain_bucket_name>",
        "output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
        "attribution_report_to": "https://privacy-sandbox-demos-dsp.dev",
        "reporting_site": "<domain of reporting origin(s) of report>", // Only one of attribution_report_to or reporting_site is required as of v2.7.0
    },
    "request_processing_started_at": "2023-12-07T22:51:06.034472697Z"
}

5.3। সারাংশ রিপোর্ট পর্যালোচনা

একবার আপনি আপনার আউটপুট S3 বালতিতে আপনার সারাংশ প্রতিবেদনটি পেয়ে গেলে, আপনি এটি আপনার স্থানীয় পরিবেশে ডাউনলোড করতে পারেন। সংক্ষিপ্ত প্রতিবেদনগুলি AVRO ফর্ম্যাটে এবং একটি JSON এ আবার রূপান্তর করা যেতে পারে৷ আপনি নিম্নলিখিত কমান্ড ব্যবহার করে আপনার রিপোর্ট পড়তে aggregatable_report_converter.jar ব্যবহার করতে পারেন।

java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file <summary_report_avro>

এটি প্রতিটি বালতি কী এর সমষ্টিগত মানগুলির একটি JSON প্রদান করে যা নিম্নলিখিত চিত্রের মতো দেখায়।

সারাংশ রিপোর্ট

আপনার createJob অনুরোধে debug_run true হিসেবে অন্তর্ভুক্ত করা উচিত, তাহলে আপনি output_data_blob_prefix এ অবস্থিত ডিবাগ ফোল্ডারে আপনার সারাংশ রিপোর্ট পেতে পারেন। প্রতিবেদনটি AVRO ফরম্যাটে এবং পূর্ববর্তী কমান্ডটি ব্যবহার করে JSON-এ রূপান্তর করা যেতে পারে।

রিপোর্টে বালতি কী, অনোইজড মেট্রিক এবং গোলমাল রয়েছে যা সারাংশ রিপোর্ট তৈরি করতে আননোইজড মেট্রিকে যোগ করা হয়। প্রতিবেদনটি নিম্নলিখিত চিত্রের অনুরূপ।

ডিবাগ সারাংশ রিপোর্ট

টীকাগুলিতে in_reports এবং in_domain ও থাকে যার অর্থ:

  • in_reports - বালতি কী সমষ্টিগত প্রতিবেদনের ভিতরে উপলব্ধ।
  • in_domain - বালতি কীটি output_domain AVRO ফাইলের ভিতরে উপলব্ধ।
,

1. পূর্বশর্ত

এই কোডল্যাবটি সম্পাদন করার জন্য, কয়েকটি পূর্বশর্ত প্রয়োজন। প্রতিটি প্রয়োজনীয়তা "স্থানীয় পরীক্ষা" বা "একত্রীকরণ পরিষেবা" এর জন্য প্রয়োজনীয় কিনা তা সেই অনুযায়ী চিহ্নিত করা হয়েছে৷

1.1। স্থানীয় টেস্টিং টুল ডাউনলোড করুন (স্থানীয় পরীক্ষা)

স্থানীয় পরীক্ষার জন্য স্থানীয় টেস্টিং টুল ডাউনলোড করতে হবে। টুলটি এনক্রিপ্ট না করা ডিবাগ রিপোর্ট থেকে সারাংশ রিপোর্ট তৈরি করবে।

Github-এ Lambda JAR Archives- এ ডাউনলোডের জন্য স্থানীয় টেস্টিং টুল উপলব্ধ। এটিকে LocalTestingTool_{version}.jar হিসাবে নামকরণ করা উচিত।

1.2। JAVA JRE ইনস্টল করা আছে তা নিশ্চিত করুন (স্থানীয় পরীক্ষা এবং সমষ্টি পরিষেবা)

" টার্মিনাল " খুলুন এবং আপনার মেশিনে জাভা বা openJDK ইনস্টল করা আছে কিনা তা পরীক্ষা করতে java --version ব্যবহার করুন।

java\n--সংস্করণ ব্যবহার করে java jre সংস্করণ পরীক্ষা করা হচ্ছে

এটি ইনস্টল করা না থাকলে, আপনি Java সাইট বা openJDK সাইট থেকে ডাউনলোড এবং ইনস্টল করতে পারেন।

1.3। এগ্রিগেটেবল রিপোর্ট কনভার্টার ডাউনলোড করুন (স্থানীয় পরীক্ষা এবং একত্রীকরণ পরিষেবা)

আপনি গোপনীয়তা স্যান্ডবক্স ডেমো গিথুব সংগ্রহস্থল থেকে সমষ্টিগত প্রতিবেদন রূপান্তরকারীর একটি অনুলিপি ডাউনলোড করতে পারেন।

1.4। বিজ্ঞাপন গোপনীয়তা API সক্ষম করুন (স্থানীয় পরীক্ষা এবং সমষ্টি পরিষেবা)

আপনার ব্রাউজারে, chrome://settings/adPrivacy এ যান এবং সমস্ত বিজ্ঞাপন গোপনীয়তা API সক্ষম করুন৷

নিশ্চিত করুন যে তৃতীয় পক্ষের কুকিজ সক্রিয় আছে।

আপনার ব্রাউজারে, chrome://settings/cookies এ যান এবং " ছদ্মবেশী মোডে তৃতীয় পক্ষের কুকি ব্লক করুন " নির্বাচন করুন৷

তৃতীয় পক্ষের কুকি ক্রোমসেটিং

1.5। ওয়েব এবং অ্যান্ড্রয়েড তালিকাভুক্তি (একত্রীকরণ পরিষেবা)

প্রোডাকশন এনভায়রনমেন্টে প্রাইভেসি স্যান্ডবক্স এপিআই ব্যবহার করতে, নিশ্চিত করুন যে আপনি ক্রোম এবং অ্যান্ড্রয়েড উভয়ের জন্য তালিকাভুক্তি এবং প্রত্যয়ন সম্পন্ন করেছেন।

স্থানীয় পরীক্ষার জন্য, একটি ক্রোম পতাকা এবং CLI সুইচ ব্যবহার করে তালিকাভুক্তি নিষ্ক্রিয় করা যেতে পারে৷

আমাদের ডেমোর জন্য Chrome পতাকা ব্যবহার করতে, chrome://flags/#privacy-sandbox-enrollment-overrides এ যান এবং আপনার সাইটের সাথে ওভাররাইড আপডেট করুন অথবা আপনি যদি আমাদের ডেমো সাইট ব্যবহার করেন, কোন আপডেটের প্রয়োজন নেই৷

গোপনীয়তা স্যান্ডবক্স তালিকাভুক্তি ওভাররাইড ক্রোমফ্ল্যাগ

1.6। অ্যাগ্রিগেশন সার্ভিস অনবোর্ডিং (অ্যাগ্রিগেশন সার্ভিস)

অ্যাগ্রিগেশন পরিষেবার জন্য পরিষেবা ব্যবহার করতে সক্ষম হওয়ার জন্য সমন্বয়কারীদের অনবোর্ডিং প্রয়োজন৷ আপনার রিপোর্টিং সাইটের ঠিকানা, AWS অ্যাকাউন্ট আইডি এবং অন্যান্য তথ্য প্রদান করে অ্যাগ্রিগেশন সার্ভিস অনবোর্ডিং ফর্মটি পূরণ করুন।

1.7। ক্লাউড প্রদানকারী (একত্রীকরণ পরিষেবা)

অ্যাগ্রিগেশন সার্ভিসের জন্য একটি বিশ্বস্ত এক্সিকিউশন এনভায়রনমেন্ট ব্যবহার করা প্রয়োজন যা একটি ক্লাউড পরিবেশ ব্যবহার করে। অ্যাগ্রিগেশন পরিষেবা Amazon Web Services (AWS) এবং Google Cloud (GCP)-এ সমর্থিত। এই কোডল্যাব শুধুমাত্র AWS ইন্টিগ্রেশন কভার করবে।

AWS নাইট্রো এনক্লেভস নামে একটি বিশ্বস্ত এক্সিকিউশন এনভায়রনমেন্ট প্রদান করে। আপনার একটি AWS অ্যাকাউন্ট আছে তা নিশ্চিত করুন এবং AWS CLI ইনস্টলেশন অনুসরণ করুন এবং আপনার AWS CLI পরিবেশ সেটআপ করতে নির্দেশাবলী আপডেট করুন

যদি আপনার AWS CLI নতুন হয়, তাহলে আপনি CLI কনফিগারেশন নির্দেশাবলী ব্যবহার করে আপনার AWS CLI কনফিগার করতে পারেন।

1.7.1। AWS S3 বালতি তৈরি করুন

টেরাফর্ম স্টেট সঞ্চয় করার জন্য একটি AWS S3 বালতি এবং আপনার রিপোর্ট এবং সারাংশ রিপোর্টগুলি সঞ্চয় করার জন্য আরেকটি S3 বালতি তৈরি করুন৷ আপনি প্রদত্ত CLI কমান্ড ব্যবহার করতে পারেন। সঠিক ভেরিয়েবলে <> ক্ষেত্র প্রতিস্থাপন করুন।

aws s3api create-bucket --bucket <tf_bucket_name> --region us-east-1
aws s3api create-bucket --bucket <report_bucket_name> --region us-east-1

1.7.2। ব্যবহারকারীর অ্যাক্সেস কী তৈরি করুন

AWS গাইড ব্যবহার করে ব্যবহারকারীর অ্যাক্সেস কী তৈরি করুন। এটি AWS-এ তৈরি createJob এবং getJob API এন্ডপয়েন্ট কল করতে ব্যবহার করা হবে।

1.7.3। AWS ব্যবহারকারী এবং গ্রুপ অনুমতি

AWS-এ অ্যাগ্রিগেশন পরিষেবা স্থাপন করতে, আপনাকে পরিষেবাটি স্থাপনের জন্য ব্যবহৃত ব্যবহারকারীকে নির্দিষ্ট অনুমতি প্রদান করতে হবে। এই কোডল্যাবের জন্য, নিশ্চিত করুন যে ব্যবহারকারীর প্রশাসক অ্যাক্সেস রয়েছে যাতে স্থাপনে সম্পূর্ণ অনুমতি নিশ্চিত করা যায়।

1.8। Terraform (একত্রীকরণ পরিষেবা)

এই কোডল্যাব একত্রিতকরণ পরিষেবা স্থাপন করতে Terraform ব্যবহার করে। আপনার স্থানীয় পরিবেশে Terraform বাইনারি ইনস্টল করা আছে তা নিশ্চিত করুন।

আপনার স্থানীয় পরিবেশে Terraform বাইনারি ডাউনলোড করুন।

একবার টেরাফর্ম বাইনারি ডাউনলোড হয়ে গেলে, ফাইলটি বের করুন এবং টেরাফর্ম বাইনারিটিকে /usr/local/bin এ সরান।

cp <directory>/terraform /usr/local/bin

টেরাফর্ম ক্লাসপথে উপলব্ধ কিনা তা নিশ্চিত করতে পরীক্ষা করুন।

terraform -v

1.9। পোস্টম্যান (একত্রীকরণ পরিষেবা AWS এর জন্য)

এই কোডল্যাবের জন্য, অনুরোধ পরিচালনার জন্য পোস্টম্যান ব্যবহার করুন।

" ওয়ার্কস্পেস " শীর্ষ নেভিগেশন আইটেমে গিয়ে একটি ওয়ার্কস্পেস তৈরি করুন এবং " ওয়ার্কস্পেস তৈরি করুন " নির্বাচন করুন।

পোস্টম্যান ওয়ার্কস্পেস

" ফাঁকা কর্মক্ষেত্র " নির্বাচন করুন, পরবর্তীতে ক্লিক করুন এবং এটির নাম দিন " গোপনীয়তা স্যান্ডবক্স "। " ব্যক্তিগত " নির্বাচন করুন এবং " তৈরি করুন " এ ক্লিক করুন।

পূর্ব-কনফিগার করা ওয়ার্কস্পেস JSON কনফিগারেশন এবং গ্লোবাল এনভায়রনমেন্ট ফাইল ডাউনলোড করুন।

" ইমপোর্ট " বোতাম ব্যবহার করে JSON ফাইলগুলিকে " আমার ওয়ার্কস্পেস "-এ আমদানি করুন।

পোস্টম্যান JSONfiles আমদানি করুন

এটি createJob এবং getJob HTTP অনুরোধের সাথে আপনার জন্য গোপনীয়তা স্যান্ডবক্স সংগ্রহ তৈরি করবে।

পোস্টম্যান আমদানিকৃত সংগ্রহ

" এনভায়রনমেন্ট কুইক লুক " এর মাধ্যমে AWS "অ্যাক্সেস কী" এবং "সিক্রেট কী" আপডেট করুন।

পোস্টম্যান পরিবেশ কুইকলুক

" সম্পাদনা " ক্লিক করুন এবং " অ্যাক্সেস_কী " এবং " গোপন_কী " উভয়ের " বর্তমান মান" আপডেট করুন৷ মনে রাখবেন যে frontend_api_id এই নথির অধ্যায় 3.1.4- এ প্রদান করা হবে। এবং আমরা us-east-1 অঞ্চল ব্যবহার করার পরামর্শ দিই। যাইহোক, যদি আপনি একটি ভিন্ন অঞ্চলে স্থাপন করতে চান, তাহলে নিশ্চিত করুন যে আপনি আপনার অ্যাকাউন্টে প্রকাশিত AMI অনুলিপি করেছেন বা প্রদত্ত স্ক্রিপ্টগুলি ব্যবহার করে একটি স্ব-নির্মাণ সম্পাদন করেছেন৷

পোস্টম্যান গ্লোবাল ভেরিয়েবল

পোস্টম্যান গ্লোবাল ভেরিয়েবল সম্পাদনা করুন

2. স্থানীয় টেস্টিং কোডল্যাব

এনক্রিপ্ট না করা ডিবাগ রিপোর্টগুলি ব্যবহার করে অ্যাগ্রিগেশন করতে এবং সারাংশ রিপোর্ট তৈরি করতে আপনি আপনার মেশিনে স্থানীয় টেস্টিং টুল ব্যবহার করতে পারেন।

কোডল্যাব ধাপ

ধাপ 2.1। ট্রিগার রিপোর্ট : ট্রিগার প্রাইভেট অ্যাগ্রিগেশন রিপোর্টিং রিপোর্ট সংগ্রহ করতে সক্ষম হবেন।

ধাপ 2.2। ডিবাগ এগ্রিগেটেবল রিপোর্ট তৈরি করুন : সংগৃহীত JSON রিপোর্টকে একটি AVRO ফরম্যাটেড রিপোর্টে রূপান্তর করুন।
এই পদক্ষেপটি একই রকম হবে যখন বিজ্ঞাপন প্রযুক্তিগুলি API রিপোর্টিং এন্ডপয়েন্ট থেকে রিপোর্ট সংগ্রহ করে এবং JSON রিপোর্টগুলিকে AVRO ফর্ম্যাটেড রিপোর্টে রূপান্তর করে৷

ধাপ 2.3। ডিবাগ রিপোর্ট থেকে বালতি কী পার্স করুন : বালতি কীগুলি বিজ্ঞাপন প্রযুক্তি দ্বারা ডিজাইন করা হয়েছে৷ এই কোডল্যাবে, যেহেতু বালতিগুলি পূর্বনির্ধারিত, প্রদত্ত হিসাবে বালতি কীগুলি পুনরুদ্ধার করুন।

ধাপ 2.4। আউটপুট ডোমেন AVRO তৈরি করুন : একবার বালতি কীগুলি পুনরুদ্ধার করা হলে, আউটপুট ডোমেন AVRO ফাইল তৈরি করুন।

ধাপ 2.5। স্থানীয় টেস্টিং টুল ব্যবহার করে সারাংশ রিপোর্ট তৈরি করুন : স্থানীয় পরিবেশে সারসংক্ষেপ রিপোর্ট তৈরি করতে স্থানীয় টেস্টিং টুল ব্যবহার করুন।

ধাপ 2.6। সারাংশ রিপোর্ট পর্যালোচনা করুন : স্থানীয় টেস্টিং টুল দ্বারা তৈরি করা সারাংশ রিপোর্ট পর্যালোচনা করুন।

2.1। ট্রিগার রিপোর্ট

গোপনীয়তা স্যান্ডবক্স ডেমো সাইটে যান। এটি একটি ব্যক্তিগত সমষ্টি প্রতিবেদন ট্রিগার করে। আপনি রিপোর্টটি chrome://private-aggregation-internals এ দেখতে পারেন।

ক্রোম ব্যক্তিগত সমষ্টি অভ্যন্তরীণ

যদি আপনার প্রতিবেদন " মুলতুবি " অবস্থায় থাকে, আপনি প্রতিবেদনটি নির্বাচন করতে পারেন এবং " নির্বাচিত প্রতিবেদন পাঠান " এ ক্লিক করতে পারেন৷

ব্যক্তিগত একত্রিত প্রতিবেদন পাঠান

2.2। ডিবাগ এগ্রিগেটেবল রিপোর্ট তৈরি করুন

chrome://private-aggregation-internals , [reporting-origin]/.well-known/private-aggregation/report-shared-storage এন্ডপয়েন্টে প্রাপ্ত " রিপোর্ট বডি " কপি করুন।

নিশ্চিত করুন যে " রিপোর্ট বডি "-এ, aggregation_coordinator_origin https://publickeyservice.msmt.aws.privacysandboxservices.com রয়েছে যার অর্থ রিপোর্টটি একটি AWS সমষ্টিগত প্রতিবেদন।

ব্যক্তিগত সমষ্টি রিপোর্ট

একটি JSON ফাইলে JSON " Report Body " রাখুন। এই উদাহরণে, আপনি vim ব্যবহার করতে পারেন। কিন্তু আপনি চাইলে যেকোনো টেক্সট এডিটর ব্যবহার করতে পারেন।

vim report.json

প্রতিবেদনটি report.json এ পেস্ট করুন এবং আপনার ফাইল সংরক্ষণ করুন।

JSONfile রিপোর্ট করুন

এটি হয়ে গেলে, আপনার রিপোর্ট ফোল্ডারে নেভিগেট করুন এবং ডিবাগ এগ্রিগেটেবল রিপোর্ট তৈরি করতে সাহায্য করার জন্য aggregatable_report_converter.jar ব্যবহার করুন। এটি আপনার বর্তমান ডিরেক্টরিতে report.avro নামে একটি সমষ্টিগত প্রতিবেদন তৈরি করে।

java -jar aggregatable_report_converter.jar \
 --request_type convertToAvro \
 --input_file report.json \
 --debug

2.3। ডিবাগ রিপোর্ট থেকে বালতি কী পার্স করুন

ব্যাচিং করার সময় অ্যাগ্রিগেশন সার্ভিসের জন্য দুটি ফাইল প্রয়োজন। সমষ্টিগত প্রতিবেদন এবং আউটপুট ডোমেন ফাইল। আউটপুট ডোমেন ফাইলটিতে আপনি সমষ্টিগত প্রতিবেদনগুলি থেকে পুনরুদ্ধার করতে চান এমন কীগুলি রয়েছে৷ output_domain.avro ফাইলটি তৈরি করতে, আপনার বালতি কীগুলির প্রয়োজন যা প্রতিবেদনগুলি থেকে পুনরুদ্ধার করা যেতে পারে।

বালতি কীগুলি API-এর কলার দ্বারা ডিজাইন করা হয়েছে এবং ডেমোতে পূর্বনির্মাণ উদাহরণ বালতি কী রয়েছে৷ যেহেতু ডেমো প্রাইভেট অ্যাগ্রিগেশনের জন্য ডিবাগ মোড সক্রিয় করেছে, আপনি বালতি কী পুনরুদ্ধার করতে " রিপোর্ট বডি " থেকে ডিবাগ ক্লিয়ারটেক্সট পেলোড পার্স করতে পারেন.. যাইহোক, এই ক্ষেত্রে, সাইটের গোপনীয়তা স্যান্ডবক্স ডেমো বালতি কীগুলি তৈরি করে৷ যেহেতু এই সাইটের জন্য ব্যক্তিগত সমষ্টি ডিবাগ মোডে আছে, আপনি বালতি কী পেতে " রিপোর্ট বডি " থেকে debug_cleartext_payload ব্যবহার করতে পারেন৷

রিপোর্টের মূল অংশ থেকে debug_cleartext_payload কপি করুন।

রিপোর্টবডি থেকে ক্লিয়ারটেক্সট পেলোড ডিবাগ করুন

প্রাইভেট অ্যাগ্রিগেশন টুলের জন্য ডিবাগ পেলোড ডিকোডার খুলুন এবং " ইনপুট " বক্সে আপনার debug_cleartext_payload পেস্ট করুন এবং " ডিকোড " এ ক্লিক করুন।

পেলোড ডিকোডার

পৃষ্ঠাটি বালতি কী এর দশমিক মান প্রদান করে। নিম্নলিখিত একটি নমুনা বালতি কী.

পেলোড ডিকোডার ফলাফল

2.4। আউটপুট ডোমেইন AVRO তৈরি করুন

এখন আমাদের কাছে বালতি কী আছে, এগিয়ে যান এবং বালতি কীটির দশমিক মান অনুলিপি করুন। বালতি কী ব্যবহার করে output_domain.avro তৈরি করতে এগিয়ে যান। আপনি প্রতিস্থাপন নিশ্চিত করুন আপনি পুনরুদ্ধার করা বালতি চাবি দিয়ে.

java -jar aggregatable_report_converter.jar \
 --request_type createDomainAvro \
 --bucket_key <bucket key>

স্ক্রিপ্টটি আপনার বর্তমান ফোল্ডারে output_domain.avro ফাইল তৈরি করে।

2.5। স্থানীয় টেস্টিং টুল ব্যবহার করে সারাংশ রিপোর্ট তৈরি করুন

আমরা LocalTestingTool_{version}.jar ব্যবহার করব যা সারাংশ রিপোর্ট তৈরি করতে সেকশন 1.1-এ ডাউনলোড করা হয়েছে। নিম্নলিখিত কমান্ড ব্যবহার করুন. আপনার LocalTestingTool_{version}.jar LocalTestingTool-এর জন্য ডাউনলোড করা সংস্করণ দিয়ে প্রতিস্থাপন করা উচিত।

আপনার স্থানীয় উন্নয়ন পরিবেশে একটি সারসংক্ষেপ প্রতিবেদন তৈরি করতে নিম্নলিখিত কমান্ডটি চালান:

java -jar LocalTestingTool_{version}.jar \
--input_data_avro_file report.avro \
--domain_avro_file output_domain.avro \
--output_directory .

কমান্ডটি চালানোর পরে আপনি নিম্নলিখিত চিত্রের অনুরূপ কিছু দেখতে পাবেন। এটি সম্পূর্ণ হলে একটি রিপোর্ট output.avro তৈরি হয়।

স্থানীয় পরীক্ষার সারাংশ রিপোর্ট avrofile

2.6। সারসংক্ষেপ রিপোর্ট পর্যালোচনা

যে সারাংশ রিপোর্ট তৈরি করা হয়েছে তা AVRO ফরম্যাটে। এটি পড়তে সক্ষম হওয়ার জন্য, আপনাকে এটিকে AVRO থেকে JSON ফর্ম্যাটে রূপান্তর করতে হবে। আদর্শভাবে, AVRO রিপোর্টগুলিকে JSON-এ রূপান্তর করতে বিজ্ঞাপন প্রযুক্তির কোড করা উচিত।

আমাদের কোডল্যাবের জন্য, আমরা প্রদত্ত aggregatable_report_converter.jar টুল ব্যবহার করব যাতে AVRO রিপোর্টকে JSON-এ রূপান্তর করা যায়।

java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file output.avro

এটি নিম্নলিখিত চিত্রের অনুরূপ একটি প্রতিবেদন প্রদান করে। একই ডিরেক্টরিতে তৈরি একটি রিপোর্ট output.json সহ।

সারাংশ অভ্র ফাইল রূপান্তরিত tojson

সারাংশ প্রতিবেদন পর্যালোচনা করতে আপনার পছন্দের একটি সম্পাদকে JSON ফাইলটি খুলুন।

3. এগ্রিগেশন সার্ভিস ডিপ্লয়মেন্ট

একত্রিতকরণ পরিষেবা স্থাপন করতে, নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:

ধাপ 3. অ্যাগ্রিগেশন সার্ভিস ডিপ্লয়মেন্ট : AWS-এ অ্যাগ্রিগেশন সার্ভিস ডিপ্লোয় করুন
ধাপ 3.1। অ্যাগ্রিগেশন সার্ভিস রিপোজিটরি ক্লোন করুন
ধাপ 3.2। পূর্বনির্মাণ নির্ভরতা ডাউনলোড করুন
ধাপ 3.3। উন্নয়নের পরিবেশ তৈরি করুন
ধাপ 3.4। একত্রিতকরণ পরিষেবা স্থাপন করুন

3.1। অ্যাগ্রিগেশন সার্ভিস রিপোজিটরি ক্লোন করুন

আপনার স্থানীয় পরিবেশে, Aggregation Service Github সংগ্রহস্থল ক্লোন করুন।

git clone https://github.com/privacysandbox/aggregation-service.git

3.2। পূর্বনির্মাণ নির্ভরতা ডাউনলোড করুন

একবার আপনি সমষ্টি পরিষেবা সংগ্রহস্থলটি ক্লোন করে ফেললে, সংগ্রহস্থলের টেরাফর্ম ফোল্ডারে এবং সংশ্লিষ্ট ক্লাউড ফোল্ডারে যান। যদি আপনার ক্লাউড_প্রোভাইডার এডাব্লুএস হয় তবে আপনি এগিয়ে যেতে পারেন /terraform/aws

cd <repository_root>/terraform/aws

ইন /terraform/aws , download_prebuilt_dependencies.sh

bash download_prebuilt_dependencies.sh

3.3। উন্নয়নের পরিবেশ তৈরি করুন

একটি দেব পরিবেশ তৈরি করুন /terraform/aws/environmentsdev নামে একটি ফোল্ডার তৈরি করুন।

mkdir dev

dev ফোল্ডারে demo ফোল্ডার সামগ্রীগুলি অনুলিপি করুন।

cp -R demo/* dev

আপনার dev ফোল্ডারে সরান।

cd dev

আপনার main.tf ফাইল আপডেট করুন এবং ফাইলটি সম্পাদনা করতে input জন্য i টিপুন।

vim main.tf

# অপসারণ করে এবং বালতি এবং কী নামগুলি আপডেট করে রেড বক্সে কোডটি অনাবৃত করুন।

AWS MAIN.TF এর জন্য :

এডাব্লুএস মেইন টিফিল

আপত্তিহীন কোডটি নিম্নলিখিতগুলির মতো দেখা উচিত।

backend "s3" {
  bucket = "<tf_state_bucket_name>"
  key    = "<environment_name>.tfstate"
  region = "us-east-1"
}

আপডেটগুলি সম্পূর্ণ হয়ে গেলে, আপডেটগুলি সংরক্ষণ করুন এবং esc -> :wq! . এটি main.tf -তে আপডেটগুলি সংরক্ষণ করে।

এরপরে, dev.auto.tfvarsexample.auto.tfvars নামকরণ করুন।

mv example.auto.tfvars dev.auto.tfvars

dev.auto.tfvars আপডেট করুন এবং ফাইলটি সম্পাদনা করতে input জন্য i টিপুন।

vim dev.auto.tfvars

লাল বাক্সে ক্ষেত্রগুলি আপডেট করুন নিম্নলিখিত চিত্রের সাথে সঠিক এডাব্লুএস এআরএন প্যারামিটারগুলির সাথে যা সমষ্টি পরিষেবা অন বোর্ডিং, পরিবেশ এবং বিজ্ঞপ্তি ইমেলের সময় সরবরাহ করা হয়।

ডেভ অটো টিফভারসফাইল সম্পাদনা করুন

আপডেটগুলি হয়ে গেলে, esc -> :wq! . এটি dev.auto.tfvars ফাইল সংরক্ষণ করে এবং এটি নিম্নলিখিত চিত্রের মতো কিছু দেখতে হবে।

আপডেট করা ডিভ অটো টিফভারসফাইল

3.4। সমষ্টি পরিষেবা স্থাপন করুন

একই ফোল্ডারে সমষ্টি পরিষেবা স্থাপন করতে /terraform/aws/environments/dev , টেরফর্ম আরম্ভ করুন।

terraform init

এটি নিম্নলিখিত চিত্রের অনুরূপ কিছু ফিরিয়ে দেওয়া উচিত:

টেরফর্মিনিট

টেরফর্মটি শুরু হয়ে গেলে, টেরফর্ম এক্সিকিউশন প্ল্যানটি তৈরি করুন। যেখানে এটি যুক্ত করার মতো সংস্থানগুলির সংখ্যা এবং নিম্নলিখিত চিত্রের অনুরূপ অন্যান্য অতিরিক্ত তথ্য প্রদান করে।

terraform plan

আপনি নিম্নলিখিত " পরিকল্পনা " সংক্ষিপ্তসার দেখতে পারেন। যদি এটি একটি নতুন মোতায়েন হয় তবে আপনার 0 টি পরিবর্তনের জন্য এবং 0 টি ধ্বংসের জন্য যুক্ত করা হবে এমন সংস্থানগুলির সংখ্যা দেখতে হবে।

টেরফর্মপ্ল্যান

আপনি এটি শেষ করার পরে, আপনি তারপরে টেরফর্ম প্রয়োগ করতে এগিয়ে যেতে পারেন।

terraform apply

একবার টেরফর্ম দ্বারা ক্রিয়াগুলি সম্পাদন করার বিষয়টি নিশ্চিত করার জন্য অনুরোধ জানানো হয়েছে, একটি yes মানকে ইনপুট করুন।

টেরফর্ম প্রয়োগের প্রম্পট

একবার terraform apply , createJob এবং getJob জন্য নিম্নলিখিত প্রান্তগুলি ফিরে আসে। আপনাকে পোস্টম্যানে আপডেট করতে হবে যে frontend_api_id বিভাগ 1.9 এ আপডেট করতে হবে।

টেরফর্ম প্রয়োগ কমপ্লিট

4। সমষ্টি পরিষেবা ইনপুট সৃষ্টি

সমষ্টি পরিষেবাতে ব্যাচিংয়ের জন্য এভিআরও রিপোর্ট তৈরি করতে এগিয়ে যান।

পদক্ষেপ 4। সমষ্টি পরিষেবা ইনপুট সৃষ্টি : সমষ্টি পরিষেবা প্রতিবেদনগুলি তৈরি করুন যা সংহতকরণ পরিষেবার জন্য ব্যাচ করা হয়।
ধাপ 4.1. ট্রিগার রিপোর্ট
পদক্ষেপ 4.2। সমষ্টিগত প্রতিবেদন সংগ্রহ করুন
পদক্ষেপ 4.3। প্রতিবেদনগুলি এভ্রোতে রূপান্তর করুন
পদক্ষেপ 4.4। আউটপুট ডোমেন অ্যাভ্রো তৈরি করুন

4.1। ট্রিগার রিপোর্ট

গোপনীয়তা স্যান্ডবক্স ডেমো সাইটে যান। এটি একটি ব্যক্তিগত সমষ্টি প্রতিবেদনকে ট্রিগার করে। আপনি chrome://private-aggregation-internals প্রতিবেদনটি দেখতে পারেন।

ক্রোম প্রাইভেট এগ্রিগ্রিগেশনইন্টার্নালস

যদি আপনার প্রতিবেদনটি " মুলতুবি " স্থিতিতে থাকে তবে আপনি প্রতিবেদনটি নির্বাচন করতে পারেন এবং " নির্বাচিত প্রতিবেদনগুলি প্রেরণ করুন " এ ক্লিক করতে পারেন।

বেসরকারী সমষ্টিরপোর্ট প্রেরণ করুন

4.2। সমষ্টিগত প্রতিবেদন সংগ্রহ করুন

আপনার সংশ্লিষ্ট এপিআইয়ের। .well-known শেষ পয়েন্টগুলি থেকে আপনার সমষ্টিগত প্রতিবেদনগুলি সংগ্রহ করুন।

  • ব্যক্তিগত সমষ্টি
    [reporting-origin] /.well-known/private-aggregation/report-shared-storage
  • অ্যাট্রিবিউশন রিপোর্টিং - সংক্ষিপ্ত প্রতিবেদন
    [reporting-origin] /.well-known/attribution-reporting/report-aggregate-attribution

এই কোডল্যাবের জন্য, আপনি ম্যানুয়ালি প্রতিবেদন সংগ্রহটি সম্পাদন করবেন। উত্পাদনে, বিজ্ঞাপন প্রযুক্তিগুলি প্রোগ্রামগতভাবে প্রতিবেদনগুলি সংগ্রহ এবং রূপান্তর করবে বলে আশা করা হচ্ছে।

chrome://private-aggregation-internals , [reporting-origin]/.well-known/private-aggregation/report-shared-storage এন্ডপয়েন্টে প্রাপ্ত " রিপোর্ট বডি " অনুলিপি করুন।

নিশ্চিত করুন যে " রিপোর্ট বডি " -তে, aggregation_coordinator_origin https://publickeyservice.msmt.aws.privacysandboxservices.com রয়েছে যার অর্থ এই প্রতিবেদনটি একটি এডাব্লুএস এডাব্লুএস এডাব্লুগ্রিগেটেবল প্রতিবেদন।

বেসরকারী সমষ্টিরপোর্ট

JSON " রিপোর্ট বডি " একটি জেএসএন ফাইলে রাখুন। এই উদাহরণে, আপনি ভিআইএম ব্যবহার করতে পারেন। তবে আপনি যে কোনও পাঠ্য সম্পাদক ব্যবহার করতে পারেন।

vim report.json

প্রতিবেদনটি report.json এ আটকান এবং আপনার ফাইলটি সংরক্ষণ করুন।

জসনফিল রিপোর্ট করুন

4.3। প্রতিবেদনগুলি এভ্রোতে রূপান্তর করুন

.well-known আপনার কাছে জেএসএন রিপোর্ট হয়ে গেলে, আপনার প্রতিবেদন ফোল্ডারে নেভিগেট করুন এবং ডিবাগ এগ্রিগেটেবল রিপোর্ট তৈরি করতে সহায়তা করার জন্য aggregatable_report_converter.jar ব্যবহার করুন। এটি আপনার বর্তমান ডিরেক্টরিতে report.avro নামে একটি সমষ্টিগত প্রতিবেদন তৈরি করে।

java -jar aggregatable_report_converter.jar \
 --request_type convertToAvro \
 --input_file report.json

4.4। আউটপুট ডোমেন অ্যাভ্রো তৈরি করুন

output_domain.avro ফাইল তৈরি করতে আপনার বালতি কীগুলি প্রয়োজন যা প্রতিবেদনগুলি থেকে পুনরুদ্ধার করা যায়।

বালতি কীগুলি বিজ্ঞাপন প্রযুক্তি দ্বারা ডিজাইন করা হয়েছে। যাইহোক, এই ক্ষেত্রে, সাইটের গোপনীয়তা স্যান্ডবক্স ডেমো বালতি কীগুলি তৈরি করে। যেহেতু এই সাইটের জন্য ব্যক্তিগত সমষ্টিটি ডিবাগ মোডে রয়েছে, তাই আপনি বালতি কী পেতে " রিপোর্ট বডি " থেকে debug_cleartext_payload ব্যবহার করতে পারেন।

এগিয়ে যান এবং রিপোর্ট বডি থেকে debug_cleartext_payload অনুলিপি করুন।

রিপোর্টবডি থেকে ক্লিয়ারটেক্সট পে -লোড ডিবাগ করুন

Goo.gle/ags-payloald-decoder খুলুন এবং " ইনপুট " বাক্সে আপনার debug_cleartext_payload পেস্ট করুন এবং " ডিকোড " ক্লিক করুন।

পে -লোডডেকোডার

পৃষ্ঠাটি বালতি কীটির দশমিক মান প্রদান করে। নিম্নলিখিত একটি নমুনা বালতি কী।

পে -লোড ডিকোডেরসাল্ট

এখন আমাদের কাছে বালতি কী রয়েছে, এগিয়ে যান এবং output_domain.avro তৈরি করুন। আপনি প্রতিস্থাপন নিশ্চিত করুন বালতি কী দিয়ে আপনি পুনরুদ্ধার করেছেন।

java -jar aggregatable_report_converter.jar \
 --request_type createDomainAvro \
 --bucket_key <bucket key>

স্ক্রিপ্টটি আপনার বর্তমান ফোল্ডারে output_domain.avro ফাইল তৈরি করে।

4.5। প্রতিবেদনগুলি এডাব্লুএস বালতিতে সরান

একবার এভ্রো রিপোর্টগুলি (বিভাগ 3.2.3 থেকে) এবং আউটপুট ডোমেন (বিভাগ 3.2.4 থেকে) তৈরি করা হলে, প্রতিবেদনগুলি এবং আউটপুট ডোমেনকে প্রতিবেদনকারী এস 3 বালতিতে স্থানান্তরিত করতে এগিয়ে যান।

আপনার যদি স্থানীয় পরিবেশে এডাব্লুএস সিএলআই সেটআপ থাকে তবে প্রতিবেদনগুলি সংশ্লিষ্ট এস 3 বালতিতে অনুলিপি করতে এবং ফোল্ডারে রিপোর্ট করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন।

aws s3 cp report.avro s3://<report_bucket_name>/<report_folder>/
aws s3 cp output_domain.avro s3://<report_bucket_name>/<output_domain_folder>/

5। সমষ্টি পরিষেবা ব্যবহার

terraform apply থেকে, আপনি create_job_endpoint , get_job_endpoint এবং frontend_api_id ফিরে আসবেন। frontend_api_id অনুলিপি করুন এবং এটি পোস্টম্যান গ্লোবাল ভেরিয়েবল frontend_api_id -তে রাখুন যা আপনি পূর্বশর্ত বিভাগ 1.9 এ সেটআপ করেছেন।

পদক্ষেপ 5। সমষ্টি পরিষেবা ব্যবহার : সংক্ষিপ্ত প্রতিবেদনগুলি তৈরি করতে এবং সংক্ষিপ্ত প্রতিবেদনগুলি পর্যালোচনা করতে সমষ্টি পরিষেবা এপিআই ব্যবহার করুন।
ধাপ 5.1। ব্যাচে ক্রিয়েটজব এন্ডপয়েন্ট ব্যবহার করে
ধাপ 5.2। ব্যাচের স্থিতি পুনরুদ্ধার করতে getjob এন্ডপয়েন্ট ব্যবহার করে
পদক্ষেপ 5.3। সংক্ষিপ্ত প্রতিবেদন পর্যালোচনা

5.1। ব্যাচে createJob এন্ডপয়েন্ট ব্যবহার করে

পোস্টম্যানে, " গোপনীয়তা স্যান্ডবক্স " সংগ্রহটি খুলুন এবং " ক্রিয়েটজব " নির্বাচন করুন।

" বডি " নির্বাচন করুন এবং আপনার অনুরোধের পে -লোড রাখতে " কাঁচা " নির্বাচন করুন।

পোস্টম্যান ক্রিয়েটজব অনুরোধ

createJob পে -লোড স্কিমা গিটহাবে উপলভ্য এবং নিম্নলিখিতগুলির মতো দেখাচ্ছে। উপযুক্ত ক্ষেত্রগুলির সাথে <> প্রতিস্থাপন করুন।

{
  "job_request_id": "<job_request_id>",
  "input_data_blob_prefix": "<report_folder>/<report_name>.avro",
  "input_data_bucket_name": "<bucket_name>",
  "output_data_blob_prefix": "<output_folder>/<summary_report_prefix>",
  "output_data_bucket_name": "<bucket_name>",
  "job_parameters": {
    "output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
    "output_domain_bucket_name": "<bucket_name>",
    "attribution_report_to": "<reporting origin of report>",
    "reporting_site": "<domain of reporting origin(s) of report>", // Only one of attribution_report_to or reporting_site is required as of v2.7.0
    "report_error_threshold_percentage": "10",
    "debug_run": "true"
  }
}

একবার আপনি " প্রেরণ করুন " ক্লিক করার পরে, এটি job_request_id দিয়ে কাজটি তৈরি করে। অনুরোধটি সমষ্টি পরিষেবা দ্বারা গৃহীত হওয়ার পরে আপনার একটি এইচটিটিপি 202 প্রতিক্রিয়া পাওয়া উচিত। অন্যান্য সম্ভাব্য রিটার্ন কোডটি HTTP প্রতিক্রিয়া কোডগুলিতে পাওয়া যাবে

পোস্টম্যান ক্রিয়েটজব অনুরোধস্ট্যাটাস

5.2। ব্যাচের স্থিতি পুনরুদ্ধার করতে getjob এন্ডপয়েন্ট ব্যবহার করে

কাজের অনুরোধের স্থিতি পরীক্ষা করতে, আপনি getJob এন্ডপয়েন্টটি ব্যবহার করতে পারেন। " গোপনীয়তা স্যান্ডবক্স " সংগ্রহে " getjob " নির্বাচন করুন।

" প্যারামস " -তে, JOB_REQUEST_ID মানটি job_request_id এ আপডেট করুন যা createJob অনুরোধে প্রেরণ করা হয়েছিল।

পোস্টম্যান getjobRequest

getJob এর ফলাফলটি 200 এর এইচটিটিপি স্থিতি সহ আপনার কাজের অনুরোধের স্থিতি ফিরিয়ে দিতে হবে। " বডি " অনুরোধটিতে job_status , return_message এবং error_messages (যদি কাজটি ভুল হয়ে যায়) এর মতো প্রয়োজনীয় তথ্য রয়েছে।

পোস্টম্যান গেটজব অনুরোধস্ট্যাটাস

যেহেতু উত্পন্ন ডেমো রিপোর্টের রিপোর্টিং সাইটটি আপনার এডাব্লুএস আইডিতে আপনার বোর্ডড সাইট থেকে আলাদা, তাই আপনি PRIVACY_BUDGET_AUTHORIZATION_ERROR রিটার্ন_কোডের সাথে একটি প্রতিক্রিয়া পেতে পারেন। এটি স্বাভাবিক যেহেতু প্রতিবেদনের প্রতিবেদন উত্সের সাইটটি এডাব্লুএস আইডির জন্য চালিত রিপোর্টিং সাইটের সাথে মেলে না।

{
    "job_status": "FINISHED",
    "request_received_at": "2023-12-07T22:50:58.830956Z",
    "request_updated_at": "2023-12-07T22:51:10.526326456Z",
    "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>",
    "postback_url": "",
    "result_info": {
        "return_code": "PRIVACY_BUDGET_AUTHORIZATION_ERROR",
        "return_message": "Aggregation job successfully processed",
        "error_summary": {
            "error_counts": [],
            "error_messages": []
        },
        "finished_at": "2023-12-07T22:51:10.517730898Z"
    },
    "job_parameters": {
        "debug_run": "true",
        "output_domain_bucket_name": "<output_domain_bucket_name>",
        "output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
        "attribution_report_to": "https://privacy-sandbox-demos-dsp.dev",
        "reporting_site": "<domain of reporting origin(s) of report>", // Only one of attribution_report_to or reporting_site is required as of v2.7.0
    },
    "request_processing_started_at": "2023-12-07T22:51:06.034472697Z"
}

5.3। সংক্ষিপ্ত প্রতিবেদন পর্যালোচনা

একবার আপনি আপনার আউটপুট এস 3 বালতিতে আপনার সংক্ষিপ্ত প্রতিবেদনটি পেয়ে গেলে আপনি এটি আপনার স্থানীয় পরিবেশে ডাউনলোড করতে পারেন। সংক্ষিপ্ত প্রতিবেদনগুলি এভ্রো ফর্ম্যাটে রয়েছে এবং এটি আবার কোনও জেএসনে রূপান্তরিত হতে পারে। নিম্নলিখিত কমান্ডটি ব্যবহার করে আপনার প্রতিবেদনটি পড়তে আপনি aggregatable_report_converter.jar ব্যবহার করতে পারেন।

java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file <summary_report_avro>

এটি প্রতিটি বালতি কী এর একত্রিত মানগুলির একটি JSON প্রদান করে যা নিম্নলিখিত চিত্রের মতো দেখায়।

সংক্ষিপ্ত বিবরণ

আপনার createJob অনুরোধটি যদি debug_run true হিসাবে অন্তর্ভুক্ত করে তবে আপনি output_data_blob_prefix অবস্থিত ডিবাগ ফোল্ডারে আপনার সংক্ষিপ্ত প্রতিবেদনটি পেতে পারেন। প্রতিবেদনটি এভ্রো ফর্ম্যাটে রয়েছে এবং পূর্ববর্তী কমান্ডটি ব্যবহার করে কোনও জেএসওনে রূপান্তর করা যেতে পারে।

প্রতিবেদনে বালতি কী, অনাবৃত মেট্রিক এবং সংক্ষিপ্ত প্রতিবেদন গঠনের জন্য ননডাইজড মেট্রিকের সাথে যুক্ত হওয়া শব্দ রয়েছে। প্রতিবেদনটি নিম্নলিখিত চিত্রের মতো।

ডিবাগ সংক্ষিপ্তসারপোর্ট

টীকাগুলিতে in_reports এবং in_domain এছাড়াও রয়েছে যার অর্থ:

  • in_reports - বালতি কীটি সমষ্টিগত প্রতিবেদনের অভ্যন্তরে উপলব্ধ।
  • in_domain - বালতি কী আউটপুট_ডোমাইন এভ্রো ফাইলের ভিতরে পাওয়া যায়।
,

1. পূর্বশর্ত

এই কোডল্যাবটি সম্পাদন করতে, কয়েকটি পূর্বশর্ত প্রয়োজন। প্রতিটি প্রয়োজনীয়তা "স্থানীয় পরীক্ষা" বা "সমষ্টি পরিষেবা" এর জন্য প্রয়োজনীয় কিনা সে অনুযায়ী চিহ্নিত করা হয়।

1.1। স্থানীয় পরীক্ষার সরঞ্জামটি ডাউনলোড করুন (স্থানীয় পরীক্ষা)

স্থানীয় পরীক্ষার জন্য স্থানীয় পরীক্ষার সরঞ্জাম ডাউনলোডের প্রয়োজন হবে। সরঞ্জামটি এনক্রিপ্টড ডিবাগ প্রতিবেদনগুলি থেকে সংক্ষিপ্ত প্রতিবেদন তৈরি করবে।

স্থানীয় পরীক্ষার সরঞ্জাম গিটহাবের ল্যাম্বদা জার সংরক্ষণাগারগুলিতে ডাউনলোডের জন্য উপলব্ধ। এটির নামকরণ করা উচিত LocalTestingTool_{version}.jar

1.2। জাভা জেআরই ইনস্টল করা আছে তা নিশ্চিত করুন (স্থানীয় পরীক্ষা এবং সমষ্টি পরিষেবা)

" টার্মিনাল " খুলুন এবং আপনার মেশিনে জাভা বা ওপেনজেডকে ইনস্টল করা আছে কিনা তা পরীক্ষা করতে java --version ব্যবহার করুন।

জাভা \ n-সংস্করণ ব্যবহার করে জাভা জেআর সংস্করণ পরীক্ষা করা হচ্ছে

যদি এটি ইনস্টল না করা হয় তবে আপনি জাভা সাইট বা ওপেনজেডকে সাইট থেকে ডাউনলোড এবং ইনস্টল করতে পারেন।

1.3। সমষ্টিগত প্রতিবেদন রূপান্তরকারী (স্থানীয় পরীক্ষা এবং সমষ্টি পরিষেবা) ডাউনলোড করুন

আপনি গোপনীয়তা স্যান্ডবক্স ডেমোস গিটহাব সংগ্রহস্থল থেকে সমষ্টিগত প্রতিবেদন রূপান্তরকারীটির একটি অনুলিপি ডাউনলোড করতে পারেন।

1.4। বিজ্ঞাপন গোপনীয়তা এপিআই সক্ষম করুন (স্থানীয় পরীক্ষা এবং সমষ্টি পরিষেবা)

আপনার ব্রাউজারে, chrome://settings/adPrivacy যান এবং সমস্ত বিজ্ঞাপন গোপনীয়তা এপিআই সক্ষম করুন।

নিশ্চিত করুন যে তৃতীয় পক্ষের কুকিজ সক্ষম রয়েছে।

আপনার ব্রাউজারে, chrome://settings/cookies যান এবং " ছদ্মবেশী মোডে তৃতীয় পক্ষের কুকিজ ব্লক করুন " নির্বাচন করুন।

তৃতীয় পক্ষের কুকি ক্রোমসেটিং

1.5। ওয়েব এবং অ্যান্ড্রয়েড তালিকাভুক্তি (সমষ্টি পরিষেবা)

একটি উত্পাদন পরিবেশে গোপনীয়তা স্যান্ডবক্স এপিআই ব্যবহার করতে, আপনি ক্রোম এবং অ্যান্ড্রয়েড উভয়ের জন্য তালিকাভুক্তি এবং সত্যতা সম্পন্ন করেছেন তা নিশ্চিত করুন।

স্থানীয় পরীক্ষার জন্য, ক্রোম পতাকা এবং সিএলআই সুইচ ব্যবহার করে তালিকাভুক্তি অক্ষম করা যেতে পারে।

আমাদের ডেমোটির জন্য ক্রোম পতাকা ব্যবহার করতে, chrome://flags/#privacy-sandbox-enrollment-overrides যান এবং আপনার সাইটের সাথে ওভাররাইড আপডেট করুন বা আপনি যদি আমাদের ডেমো সাইটটি ব্যবহার করেন তবে কোনও আপডেটের প্রয়োজন নেই।

গোপনীয়তা স্যান্ডবক্স তালিকাভুক্তি ক্রোমফ্ল্যাগ ওভাররাইড

1.6। সমষ্টি পরিষেবা অন বোর্ডিং (সমষ্টি পরিষেবা)

সমষ্টি পরিষেবা পরিষেবাটি ব্যবহার করতে সক্ষম হতে সমন্বয়কারীদের উপর বোর্ডিং করতে হবে। আপনার রিপোর্টিং সাইটের ঠিকানা, এডাব্লুএস অ্যাকাউন্ট আইডি এবং অন্যান্য তথ্য সরবরাহ করে সমষ্টি পরিষেবা অন বোর্ডিং ফর্মটি সম্পূর্ণ করুন।

1.7। ক্লাউড সরবরাহকারী (সমষ্টি পরিষেবা)

সমষ্টি পরিষেবাটির জন্য একটি বিশ্বস্ত সম্পাদন পরিবেশের ব্যবহার প্রয়োজন যা মেঘের পরিবেশ ব্যবহার করে। অ্যামাজন ওয়েব সার্ভিসেস (এডাব্লুএস) এবং গুগল ক্লাউড (জিসিপি) এ সমষ্টি পরিষেবা সমর্থিত। এই কোডল্যাবটি কেবল এডাব্লুএস ইন্টিগ্রেশন কভার করবে।

এডাব্লুএস নাইট্রো এনক্লেভস নামে একটি বিশ্বস্ত সম্পাদনের পরিবেশ সরবরাহ করে। আপনার এডাব্লুএস সিএলআই পরিবেশটি সেটআপ করার জন্য আপনার কাছে একটি এডাব্লুএস অ্যাকাউন্ট রয়েছে এবং এডাব্লুএস সিএলআই ইনস্টলেশন এবং আপডেট নির্দেশাবলী অনুসরণ করুন তা নিশ্চিত করুন।

যদি আপনার এডাব্লুএস সিএলআই নতুন হয় তবে আপনি সিএলআই কনফিগারেশন নির্দেশাবলী ব্যবহার করে আপনার এডাব্লুএস সিএলআই কনফিগার করতে পারেন।

1.7.1। এডাব্লুএস এস 3 বালতি তৈরি করুন

টেরাফর্ম স্টেট সঞ্চয় করতে একটি এডাব্লুএস এস 3 বালতি তৈরি করুন এবং আপনার প্রতিবেদনগুলি এবং সংক্ষিপ্ত প্রতিবেদনগুলি সংরক্ষণ করতে অন্য একটি এস 3 বালতি তৈরি করুন। আপনি প্রদত্ত সিএলআই কমান্ডটি ব্যবহার করতে পারেন। যথাযথ ভেরিয়েবলগুলিতে <> ক্ষেত্রে ক্ষেত্রটি প্রতিস্থাপন করুন।

aws s3api create-bucket --bucket <tf_bucket_name> --region us-east-1
aws s3api create-bucket --bucket <report_bucket_name> --region us-east-1

1.7.2। ব্যবহারকারী অ্যাক্সেস কী তৈরি করুন

এডাব্লুএস গাইড ব্যবহার করে ব্যবহারকারী অ্যাক্সেস কী তৈরি করুন। এটি এডাব্লুএসে তৈরি createJob এবং getJob এপিআই এন্ডপয়েন্টগুলিকে কল করতে ব্যবহৃত হবে।

1.7.3। এডাব্লুএস ব্যবহারকারী এবং গোষ্ঠী অনুমতি

এডাব্লুএসে সমষ্টি পরিষেবা স্থাপনের জন্য, আপনাকে পরিষেবাটি মোতায়েনের জন্য ব্যবহৃত ব্যবহারকারীকে নির্দিষ্ট অনুমতি প্রদান করতে হবে। এই কোডল্যাবের জন্য, নিশ্চিত করুন যে ব্যবহারকারীর মোতায়েনের সম্পূর্ণ অনুমতি নিশ্চিত করতে প্রশাসকের অ্যাক্সেস রয়েছে।

1.8। টেরফর্ম (সমষ্টি পরিষেবা)

এই কোডল্যাব সমষ্টি পরিষেবা মোতায়েন করতে টেরফর্ম ব্যবহার করে। আপনার স্থানীয় পরিবেশে টেরফর্ম বাইনারি ইনস্টল করা আছে তা নিশ্চিত করুন।

আপনার স্থানীয় পরিবেশে টেরফর্ম বাইনারি ডাউনলোড করুন।

টেরফর্ম বাইনারি ডাউনলোড হয়ে গেলে, ফাইলটি বের করুন এবং টেরাফর্ম বাইনারি /usr/local/bin স্থানান্তর করুন।

cp <directory>/terraform /usr/local/bin

ক্লাসপথে টেরফর্ম উপলব্ধ কিনা তা নিশ্চিত করার জন্য পরীক্ষা করুন।

terraform -v

1.9। পোস্টম্যান (সমষ্টি পরিষেবা AWS এর জন্য)

এই কোডল্যাবের জন্য, অনুরোধ পরিচালনার জন্য পোস্টম্যান ব্যবহার করুন।

" ওয়ার্কস্পেসস " শীর্ষ নেভিগেশন আইটেমটিতে গিয়ে একটি কর্মক্ষেত্র তৈরি করুন এবং " ওয়ার্কস্পেস তৈরি করুন " নির্বাচন করুন।

পোস্টম্যান ওয়ার্কস্পেস

" ফাঁকা ওয়ার্কস্পেস " নির্বাচন করুন, পরবর্তী ক্লিক করুন এবং এর নাম দিন " গোপনীয়তা স্যান্ডবক্স "। " ব্যক্তিগত " নির্বাচন করুন এবং " তৈরি করুন " ক্লিক করুন।

প্রাক-কনফিগার করা ওয়ার্কস্পেস জেএসএন কনফিগারেশন এবং গ্লোবাল এনভায়রনমেন্ট ফাইলগুলি ডাউনলোড করুন।

" আমদানি " বোতামটি ব্যবহার করে " আমার ওয়ার্কস্পেস " এ জেএসএন ফাইলগুলি আমদানি করুন।

আমদানি পোস্টম্যান জসনফিলস

এটি createJob এবং getJob এইচটিটিপি অনুরোধগুলির সাথে আপনার জন্য গোপনীয়তা স্যান্ডবক্স সংগ্রহ তৈরি করবে।

পোস্টম্যান আমদানি

" এনভায়রনমেন্ট কুইক লুক " এর মাধ্যমে এডাব্লুএস "অ্যাক্সেস কী" এবং "সিক্রেট কী" আপডেট করুন।

পোস্টম্যান এনভায়রনমেন্ট কুইক্লুক

" সম্পাদনা " ক্লিক করুন এবং " অ্যাক্সেস_কি " এবং " সিক্রেট_কি " উভয়ের "বর্তমান মান" আপডেট করুন। নোট করুন যে frontend_api_id এই নথির ৩.১.৪ বিভাগে সরবরাহ করা হবে। এবং আমরা ইউএস-ইস্ট -1 অঞ্চলটি ব্যবহার করার পরামর্শ দিই। তবে, আপনি যদি অন্য কোনও অঞ্চলে মোতায়েন করতে চান তবে আপনি আপনার অ্যাকাউন্টে প্রকাশিত এএমআইকে অনুলিপি করতে বা প্রদত্ত স্ক্রিপ্টগুলি ব্যবহার করে একটি স্ব-বিল্ডিং সম্পাদন করেন তা নিশ্চিত করে না।

পোস্টম্যান গ্লোবালভারিয়েবলস

পোস্টম্যান গ্লোবালভারিয়েবেলস সম্পাদনা করুন

2। স্থানীয় পরীক্ষার কোডেল্যাব

আপনি আপনার মেশিনে স্থানীয় পরীক্ষার সরঞ্জামটি একত্রিতকরণ সম্পাদন করতে এবং এনক্রিপ্টড ডিবাগ প্রতিবেদনগুলি ব্যবহার করে সংক্ষিপ্ত প্রতিবেদন তৈরি করতে পারেন।

কোডল্যাব পদক্ষেপ

পদক্ষেপ 2.1। ট্রিগার প্রতিবেদন : প্রতিবেদনটি সংগ্রহ করতে সক্ষম হতে ট্রিগার বেসরকারী সমষ্টি প্রতিবেদন।

ধাপ 2.2। ডিবাগ এগ্রিগেটেবল রিপোর্ট তৈরি করুন : সংগৃহীত জেএসএন রিপোর্টকে একটি এভ্রো ফর্ম্যাটেড প্রতিবেদনে রূপান্তর করুন।
এই পদক্ষেপটি যখন বিজ্ঞাপন প্রযুক্তিগুলি এপিআই রিপোর্টিং শেষ পয়েন্টগুলি থেকে প্রতিবেদনগুলি সংগ্রহ করে এবং জেএসএন রিপোর্টগুলিকে এভ্রো ফর্ম্যাট করা প্রতিবেদনে রূপান্তর করে তার অনুরূপ হবে।

পদক্ষেপ 2.3। ডিবাগ রিপোর্ট থেকে বালতি কীটি পার্স করুন : বালতি কীগুলি বিজ্ঞাপন প্রযুক্তি দ্বারা ডিজাইন করা হয়েছে। এই কোডল্যাবটিতে, যেহেতু বালতিগুলি পূর্বনির্ধারিত, তাই প্রদত্ত বালতি কীগুলি পুনরুদ্ধার করুন।

পদক্ষেপ 2.4। আউটপুট ডোমেন অ্যাভ্রো তৈরি করুন : একবার বালতি কীগুলি পুনরুদ্ধার করা হলে, আউটপুট ডোমেন অ্যাভ্রো ফাইল তৈরি করুন।

পদক্ষেপ 2.5। স্থানীয় পরীক্ষার সরঞ্জাম ব্যবহার করে সংক্ষিপ্ত প্রতিবেদনগুলি তৈরি করুন : স্থানীয় পরিবেশে সংক্ষিপ্ত প্রতিবেদন তৈরি করতে সক্ষম হতে স্থানীয় পরীক্ষার সরঞ্জামটি ব্যবহার করুন।

পদক্ষেপ 2.6। সংক্ষিপ্ত প্রতিবেদনটি পর্যালোচনা করুন : স্থানীয় পরীক্ষার সরঞ্জাম দ্বারা নির্মিত সংক্ষিপ্ত প্রতিবেদনটি পর্যালোচনা করুন।

2.1। ট্রিগার রিপোর্ট

গোপনীয়তা স্যান্ডবক্স ডেমো সাইটে যান। এটি একটি ব্যক্তিগত সমষ্টি প্রতিবেদনকে ট্রিগার করে। আপনি chrome://private-aggregation-internals প্রতিবেদনটি দেখতে পারেন।

ক্রোম প্রাইভেট এগ্রিগ্রিগেশনইন্টার্নালস

যদি আপনার প্রতিবেদনটি " মুলতুবি " স্থিতিতে থাকে তবে আপনি প্রতিবেদনটি নির্বাচন করতে পারেন এবং " নির্বাচিত প্রতিবেদনগুলি প্রেরণ করুন " এ ক্লিক করতে পারেন।

বেসরকারী সমষ্টিরপোর্ট প্রেরণ করুন

2.2। ডিবাগ একত্রিতযোগ্য প্রতিবেদন তৈরি করুন

chrome://private-aggregation-internals , [reporting-origin]/.well-known/private-aggregation/report-shared-storage এন্ডপয়েন্টে প্রাপ্ত " রিপোর্ট বডি " অনুলিপি করুন।

নিশ্চিত করুন যে " রিপোর্ট বডি " -তে, aggregation_coordinator_origin https://publickeyservice.msmt.aws.privacysandboxservices.com রয়েছে যার অর্থ এই প্রতিবেদনটি একটি এডাব্লুএস এডাব্লুএস এডাব্লুগ্রিগেটেবল প্রতিবেদন।

বেসরকারী সমষ্টিরপোর্ট

JSON " রিপোর্ট বডি " একটি জেএসএন ফাইলে রাখুন। এই উদাহরণে, আপনি ভিআইএম ব্যবহার করতে পারেন। তবে আপনি যে কোনও পাঠ্য সম্পাদক ব্যবহার করতে পারেন।

vim report.json

প্রতিবেদনটি report.json এ আটকান এবং আপনার ফাইলটি সংরক্ষণ করুন।

জসনফিল রিপোর্ট করুন

একবার আপনার কাছে হয়ে গেলে, আপনার প্রতিবেদন ফোল্ডারে নেভিগেট করুন এবং ডিবাগ এগ্রিগেটেবল রিপোর্ট তৈরি করতে সহায়তা করার জন্য aggregatable_report_converter.jar ব্যবহার করুন। এটি আপনার বর্তমান ডিরেক্টরিতে report.avro নামে একটি সমষ্টিগত প্রতিবেদন তৈরি করে।

java -jar aggregatable_report_converter.jar \
 --request_type convertToAvro \
 --input_file report.json \
 --debug

2.3। ডিবাগ রিপোর্ট থেকে বালতি কীটি পার্স করুন

ব্যাচিংয়ের সময় সমষ্টি পরিষেবা দুটি ফাইলের প্রয়োজন। সমষ্টিগত প্রতিবেদন এবং আউটপুট ডোমেন ফাইল। আউটপুট ডোমেন ফাইলটিতে কীগুলি রয়েছে যা আপনি সমষ্টিগত প্রতিবেদনগুলি থেকে পুনরুদ্ধার করতে চান। output_domain.avro ফাইল তৈরি করতে আপনার বালতি কীগুলি প্রয়োজন যা প্রতিবেদনগুলি থেকে পুনরুদ্ধার করা যায়।

বালতি কীগুলি এপিআইয়ের কলার দ্বারা ডিজাইন করা হয়েছে এবং ডেমোতে প্রাক-নির্মিত উদাহরণ বালতি কী রয়েছে। যেহেতু ডেমো বেসরকারী সংহতকরণের জন্য ডিবাগ মোড সক্ষম করেছে, আপনি বালতি কীটি পুনরুদ্ধার করতে " রিপোর্ট বডি " থেকে ডিবাগ ক্লিয়ারটেক্সট পে -লোড পার্স করতে পারেন .. তবে, এই ক্ষেত্রে, সাইটের গোপনীয়তা স্যান্ডবক্স ডেমো বালতি কীগুলি তৈরি করে। যেহেতু এই সাইটের জন্য ব্যক্তিগত সমষ্টিটি ডিবাগ মোডে রয়েছে, তাই আপনি বালতি কী পেতে " রিপোর্ট বডি " থেকে debug_cleartext_payload ব্যবহার করতে পারেন।

রিপোর্ট বডি থেকে debug_cleartext_payload লোড অনুলিপি করুন।

রিপোর্টবডি থেকে ক্লিয়ারটেক্সট পে -লোড ডিবাগ করুন

ব্যক্তিগত সমষ্টি সরঞ্জামের জন্য ডিবাগ পে -লোড ডিকোডারটি খুলুন এবং " ইনপুট " বাক্সে আপনার debug_cleartext_payload পেস্ট করুন এবং " ডিকোড " ক্লিক করুন।

পে -লোডডেকোডার

পৃষ্ঠাটি বালতি কীটির দশমিক মান প্রদান করে। নিম্নলিখিত একটি নমুনা বালতি কী।

পে -লোড ডিকোডেরসাল্ট

2.4। আউটপুট ডোমেন অ্যাভ্রো তৈরি করুন

এখন যেহেতু আমাদের কাছে বালতি কী রয়েছে, এগিয়ে যান এবং বালতি কীটির দশমিক মানটি অনুলিপি করুন। বালতি কী ব্যবহার করে output_domain.avro তৈরি করতে এগিয়ে যান। আপনি প্রতিস্থাপন নিশ্চিত করুন বালতি কী দিয়ে আপনি পুনরুদ্ধার করেছেন।

java -jar aggregatable_report_converter.jar \
 --request_type createDomainAvro \
 --bucket_key <bucket key>

স্ক্রিপ্টটি আপনার বর্তমান ফোল্ডারে output_domain.avro ফাইল তৈরি করে।

2.5। স্থানীয় পরীক্ষার সরঞ্জাম ব্যবহার করে সংক্ষিপ্ত প্রতিবেদনগুলি তৈরি করুন

সংক্ষিপ্ত প্রতিবেদনগুলি তৈরি করতে আমরা LocalTestingTool_{version}.jar ব্যবহার করব। নিম্নলিখিত কমান্ড ব্যবহার করুন. LocalTestingTool_{version}.jar লোকালটিস্টিংটুলের জন্য ডাউনলোড করা সংস্করণটির সাথে প্রতিস্থাপন করা উচিত।

আপনার স্থানীয় বিকাশের পরিবেশে একটি সংক্ষিপ্ত প্রতিবেদন তৈরি করতে নিম্নলিখিত কমান্ডটি চালান:

java -jar LocalTestingTool_{version}.jar \
--input_data_avro_file report.avro \
--domain_avro_file output_domain.avro \
--output_directory .

কমান্ডটি চালানোর পরে আপনার নিম্নলিখিত চিত্রের অনুরূপ কিছু দেখতে হবে। এটি শেষ হয়ে গেলে একটি প্রতিবেদন output.avro তৈরি করা হয়।

স্থানীয় পরীক্ষার সংক্ষিপ্তসার প্রতিবেদন অ্যাভ্রোফাইল

2.6। সংক্ষিপ্ত প্রতিবেদন পর্যালোচনা

সংক্ষিপ্ত প্রতিবেদনটি তৈরি করা হয়েছে এভ্রো ফর্ম্যাটে। এটি পড়তে সক্ষম হতে আপনাকে এটিকে অ্যাভ্রো থেকে একটি জেএসএন ফর্ম্যাটে রূপান্তর করতে হবে। আদর্শভাবে, এভ্রো রিপোর্টগুলিকে জেএসনে রূপান্তর করার জন্য বিজ্ঞাপন প্রযুক্তির কোড করা উচিত।

আমাদের কোডল্যাবের জন্য, আমরা অ্যাভ্রো রিপোর্টকে JSON এ রূপান্তর করতে সরবরাহিত aggregatable_report_converter.jar সরঞ্জামটি ব্যবহার করব।

java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file output.avro

এটি নিম্নলিখিত চিত্রের অনুরূপ একটি প্রতিবেদন দেয়। একই ডিরেক্টরিতে তৈরি একটি প্রতিবেদন output.json সহ।

সংক্ষিপ্ত এভ্রো ফাইল রূপান্তরিত টোজসন

সংক্ষিপ্ত প্রতিবেদনটি পর্যালোচনা করতে আপনার পছন্দের সম্পাদকটিতে জেএসএন ফাইলটি খুলুন।

3। সমষ্টি পরিষেবা মোতায়েন

সমষ্টি পরিষেবা মোতায়েন করতে, নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করুন:

পদক্ষেপ 3। সমষ্টি পরিষেবা মোতায়েন : এডাব্লুএসে সমষ্টি পরিষেবা স্থাপন করুন
ধাপ 3.1। সমষ্টি পরিষেবা সংগ্রহস্থলটি ক্লোন করুন
ধাপ 3.2। প্রিপবিল্ট নির্ভরতা ডাউনলোড করুন
ধাপ 3.3। উন্নয়নের পরিবেশ তৈরি করুন
ধাপ 3.4। সমষ্টি পরিষেবা স্থাপন করুন

3.1। সমষ্টি পরিষেবা সংগ্রহস্থলটি ক্লোন করুন

আপনার স্থানীয় পরিবেশে, সমষ্টি পরিষেবা গিটহাব সংগ্রহস্থলটি ক্লোন করুন।

git clone https://github.com/privacysandbox/aggregation-service.git

3.2। প্রিপবিল্ট নির্ভরতা ডাউনলোড করুন

একবার আপনি সমষ্টি পরিষেবা সংগ্রহস্থলটি ক্লোন করে ফেললে, সংগ্রহস্থলের টেরাফর্ম ফোল্ডারে এবং সংশ্লিষ্ট ক্লাউড ফোল্ডারে যান। যদি আপনার ক্লাউড_প্রোভাইডার এডাব্লুএস হয় তবে আপনি এগিয়ে যেতে পারেন /terraform/aws

cd <repository_root>/terraform/aws

ইন /terraform/aws , download_prebuilt_dependencies.sh

bash download_prebuilt_dependencies.sh

3.3। উন্নয়নের পরিবেশ তৈরি করুন

একটি দেব পরিবেশ তৈরি করুন /terraform/aws/environmentsdev নামে একটি ফোল্ডার তৈরি করুন।

mkdir dev

dev ফোল্ডারে demo ফোল্ডার সামগ্রীগুলি অনুলিপি করুন।

cp -R demo/* dev

আপনার dev ফোল্ডারে সরান।

cd dev

আপনার main.tf ফাইল আপডেট করুন এবং ফাইলটি সম্পাদনা করতে input জন্য i টিপুন।

vim main.tf

# অপসারণ করে এবং বালতি এবং কী নামগুলি আপডেট করে রেড বক্সে কোডটি অনাবৃত করুন।

AWS MAIN.TF এর জন্য :

এডাব্লুএস মেইন টিফিল

আপত্তিহীন কোডটি নিম্নলিখিতগুলির মতো দেখা উচিত।

backend "s3" {
  bucket = "<tf_state_bucket_name>"
  key    = "<environment_name>.tfstate"
  region = "us-east-1"
}

আপডেটগুলি সম্পূর্ণ হয়ে গেলে, আপডেটগুলি সংরক্ষণ করুন এবং esc -> :wq! . এটি main.tf -তে আপডেটগুলি সংরক্ষণ করে।

এরপরে, dev.auto.tfvarsexample.auto.tfvars নামকরণ করুন।

mv example.auto.tfvars dev.auto.tfvars

dev.auto.tfvars আপডেট করুন এবং ফাইলটি সম্পাদনা করতে input জন্য i টিপুন।

vim dev.auto.tfvars

লাল বাক্সে ক্ষেত্রগুলি আপডেট করুন নিম্নলিখিত চিত্রের সাথে সঠিক এডাব্লুএস এআরএন প্যারামিটারগুলির সাথে যা সমষ্টি পরিষেবা অন বোর্ডিং, পরিবেশ এবং বিজ্ঞপ্তি ইমেলের সময় সরবরাহ করা হয়।

ডেভ অটো টিফভারসফাইল সম্পাদনা করুন

আপডেটগুলি হয়ে গেলে, esc -> :wq! . এটি dev.auto.tfvars ফাইল সংরক্ষণ করে এবং এটি নিম্নলিখিত চিত্রের মতো কিছু দেখতে হবে।

আপডেট করা ডিভ অটো টিফভারসফাইল

3.4। সমষ্টি পরিষেবা স্থাপন করুন

একই ফোল্ডারে সমষ্টি পরিষেবা স্থাপন করতে /terraform/aws/environments/dev , টেরফর্ম আরম্ভ করুন।

terraform init

এটি নিম্নলিখিত চিত্রের অনুরূপ কিছু ফিরিয়ে দেওয়া উচিত:

টেরফর্মিনিট

টেরফর্মটি শুরু হয়ে গেলে, টেরফর্ম এক্সিকিউশন প্ল্যানটি তৈরি করুন। যেখানে এটি যুক্ত করার মতো সংস্থানগুলির সংখ্যা এবং নিম্নলিখিত চিত্রের অনুরূপ অন্যান্য অতিরিক্ত তথ্য প্রদান করে।

terraform plan

আপনি নিম্নলিখিত " পরিকল্পনা " সংক্ষিপ্তসার দেখতে পারেন। যদি এটি একটি নতুন মোতায়েন হয় তবে আপনার 0 টি পরিবর্তনের জন্য এবং 0 টি ধ্বংসের জন্য যুক্ত করা হবে এমন সংস্থানগুলির সংখ্যা দেখতে হবে।

টেরফর্মপ্ল্যান

আপনি এটি শেষ করার পরে, আপনি তারপরে টেরফর্ম প্রয়োগ করতে এগিয়ে যেতে পারেন।

terraform apply

একবার টেরফর্ম দ্বারা ক্রিয়াগুলি সম্পাদন করার বিষয়টি নিশ্চিত করার জন্য অনুরোধ জানানো হয়েছে, একটি yes মানকে ইনপুট করুন।

টেরফর্ম প্রয়োগের প্রম্পট

একবার terraform apply , createJob এবং getJob জন্য নিম্নলিখিত প্রান্তগুলি ফিরে আসে। আপনাকে পোস্টম্যানে আপডেট করতে হবে যে frontend_api_id বিভাগ 1.9 এ আপডেট করতে হবে।

টেরফর্ম প্রয়োগ কমপ্লিট

4। সমষ্টি পরিষেবা ইনপুট সৃষ্টি

সমষ্টি পরিষেবাতে ব্যাচিংয়ের জন্য এভিআরও রিপোর্ট তৈরি করতে এগিয়ে যান।

পদক্ষেপ 4। সমষ্টি পরিষেবা ইনপুট সৃষ্টি : সমষ্টি পরিষেবা প্রতিবেদনগুলি তৈরি করুন যা সংহতকরণ পরিষেবার জন্য ব্যাচ করা হয়।
ধাপ 4.1. ট্রিগার রিপোর্ট
পদক্ষেপ 4.2। সমষ্টিগত প্রতিবেদন সংগ্রহ করুন
পদক্ষেপ 4.3। প্রতিবেদনগুলি এভ্রোতে রূপান্তর করুন
পদক্ষেপ 4.4। আউটপুট ডোমেন অ্যাভ্রো তৈরি করুন

4.1। ট্রিগার রিপোর্ট

গোপনীয়তা স্যান্ডবক্স ডেমো সাইটে যান। এটি একটি ব্যক্তিগত সমষ্টি প্রতিবেদনকে ট্রিগার করে। আপনি chrome://private-aggregation-internals প্রতিবেদনটি দেখতে পারেন।

ক্রোম প্রাইভেট এগ্রিগ্রিগেশনইন্টার্নালস

যদি আপনার প্রতিবেদনটি " মুলতুবি " স্থিতিতে থাকে তবে আপনি প্রতিবেদনটি নির্বাচন করতে পারেন এবং " নির্বাচিত প্রতিবেদনগুলি প্রেরণ করুন " এ ক্লিক করতে পারেন।

বেসরকারী সমষ্টিরপোর্ট প্রেরণ করুন

4.2। সমষ্টিগত প্রতিবেদন সংগ্রহ করুন

আপনার সংশ্লিষ্ট এপিআইয়ের। .well-known শেষ পয়েন্টগুলি থেকে আপনার সমষ্টিগত প্রতিবেদনগুলি সংগ্রহ করুন।

  • ব্যক্তিগত সমষ্টি
    [reporting-origin] /.well-known/private-aggregation/report-shared-storage
  • অ্যাট্রিবিউশন রিপোর্টিং - সংক্ষিপ্ত প্রতিবেদন
    [reporting-origin] /.well-known/attribution-reporting/report-aggregate-attribution

এই কোডল্যাবের জন্য, আপনি ম্যানুয়ালি প্রতিবেদন সংগ্রহটি সম্পাদন করবেন। উত্পাদনে, বিজ্ঞাপন প্রযুক্তিগুলি প্রোগ্রামগতভাবে প্রতিবেদনগুলি সংগ্রহ এবং রূপান্তর করবে বলে আশা করা হচ্ছে।

chrome://private-aggregation-internals , [reporting-origin]/.well-known/private-aggregation/report-shared-storage এন্ডপয়েন্টে প্রাপ্ত " রিপোর্ট বডি " অনুলিপি করুন।

নিশ্চিত করুন যে " রিপোর্ট বডি " -তে, aggregation_coordinator_origin https://publickeyservice.msmt.aws.privacysandboxservices.com রয়েছে যার অর্থ এই প্রতিবেদনটি একটি এডাব্লুএস এডাব্লুএস এডাব্লুগ্রিগেটেবল প্রতিবেদন।

বেসরকারী সমষ্টিরপোর্ট

JSON " রিপোর্ট বডি " একটি জেএসএন ফাইলে রাখুন। এই উদাহরণে, আপনি ভিআইএম ব্যবহার করতে পারেন। তবে আপনি যে কোনও পাঠ্য সম্পাদক ব্যবহার করতে পারেন।

vim report.json

প্রতিবেদনটি report.json এ আটকান এবং আপনার ফাইলটি সংরক্ষণ করুন।

জসনফিল রিপোর্ট করুন

4.3। প্রতিবেদনগুলি এভ্রোতে রূপান্তর করুন

.well-known আপনার কাছে জেএসএন রিপোর্ট হয়ে গেলে, আপনার প্রতিবেদন ফোল্ডারে নেভিগেট করুন এবং ডিবাগ এগ্রিগেটেবল রিপোর্ট তৈরি করতে সহায়তা করার জন্য aggregatable_report_converter.jar ব্যবহার করুন। এটি আপনার বর্তমান ডিরেক্টরিতে report.avro নামে একটি সমষ্টিগত প্রতিবেদন তৈরি করে।

java -jar aggregatable_report_converter.jar \
 --request_type convertToAvro \
 --input_file report.json

4.4। আউটপুট ডোমেন অ্যাভ্রো তৈরি করুন

output_domain.avro ফাইল তৈরি করতে আপনার বালতি কীগুলি প্রয়োজন যা প্রতিবেদনগুলি থেকে পুনরুদ্ধার করা যায়।

বালতি কীগুলি বিজ্ঞাপন প্রযুক্তি দ্বারা ডিজাইন করা হয়েছে। যাইহোক, এই ক্ষেত্রে, সাইটের গোপনীয়তা স্যান্ডবক্স ডেমো বালতি কীগুলি তৈরি করে। যেহেতু এই সাইটের জন্য ব্যক্তিগত সমষ্টিটি ডিবাগ মোডে রয়েছে, তাই আপনি বালতি কী পেতে " রিপোর্ট বডি " থেকে debug_cleartext_payload ব্যবহার করতে পারেন।

এগিয়ে যান এবং রিপোর্ট বডি থেকে debug_cleartext_payload অনুলিপি করুন।

রিপোর্টবডি থেকে ক্লিয়ারটেক্সট পে -লোড ডিবাগ করুন

Goo.gle/ags-payloald-decoder খুলুন এবং " ইনপুট " বাক্সে আপনার debug_cleartext_payload পেস্ট করুন এবং " ডিকোড " ক্লিক করুন।

পে -লোডডেকোডার

পৃষ্ঠাটি বালতি কীটির দশমিক মান প্রদান করে। নিম্নলিখিত একটি নমুনা বালতি কী।

পে -লোড ডিকোডেরসাল্ট

এখন আমাদের কাছে বালতি কী রয়েছে, এগিয়ে যান এবং output_domain.avro তৈরি করুন। আপনি প্রতিস্থাপন নিশ্চিত করুন বালতি কী দিয়ে আপনি পুনরুদ্ধার করেছেন।

java -jar aggregatable_report_converter.jar \
 --request_type createDomainAvro \
 --bucket_key <bucket key>

স্ক্রিপ্টটি আপনার বর্তমান ফোল্ডারে output_domain.avro ফাইল তৈরি করে।

4.5। প্রতিবেদনগুলি এডাব্লুএস বালতিতে সরান

একবার এভ্রো রিপোর্টগুলি (বিভাগ 3.2.3 থেকে) এবং আউটপুট ডোমেন (বিভাগ 3.2.4 থেকে) তৈরি করা হলে, প্রতিবেদনগুলি এবং আউটপুট ডোমেনকে প্রতিবেদনকারী এস 3 বালতিতে স্থানান্তরিত করতে এগিয়ে যান।

আপনার যদি স্থানীয় পরিবেশে এডাব্লুএস সিএলআই সেটআপ থাকে তবে প্রতিবেদনগুলি সংশ্লিষ্ট এস 3 বালতিতে অনুলিপি করতে এবং ফোল্ডারে রিপোর্ট করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করুন।

aws s3 cp report.avro s3://<report_bucket_name>/<report_folder>/
aws s3 cp output_domain.avro s3://<report_bucket_name>/<output_domain_folder>/

5। সমষ্টি পরিষেবা ব্যবহার

terraform apply থেকে, আপনি create_job_endpoint , get_job_endpoint এবং frontend_api_id ফিরে আসবেন। frontend_api_id অনুলিপি করুন এবং এটি পোস্টম্যান গ্লোবাল ভেরিয়েবল frontend_api_id -তে রাখুন যা আপনি পূর্বশর্ত বিভাগ 1.9 এ সেটআপ করেছেন।

পদক্ষেপ 5। সমষ্টি পরিষেবা ব্যবহার : সংক্ষিপ্ত প্রতিবেদনগুলি তৈরি করতে এবং সংক্ষিপ্ত প্রতিবেদনগুলি পর্যালোচনা করতে সমষ্টি পরিষেবা এপিআই ব্যবহার করুন।
ধাপ 5.1। ব্যাচে ক্রিয়েটজব এন্ডপয়েন্ট ব্যবহার করে
ধাপ 5.2। ব্যাচের স্থিতি পুনরুদ্ধার করতে getjob এন্ডপয়েন্ট ব্যবহার করে
পদক্ষেপ 5.3। সংক্ষিপ্ত প্রতিবেদন পর্যালোচনা

5.1। ব্যাচে createJob এন্ডপয়েন্ট ব্যবহার করে

পোস্টম্যানে, " গোপনীয়তা স্যান্ডবক্স " সংগ্রহটি খুলুন এবং " ক্রিয়েটজব " নির্বাচন করুন।

" বডি " নির্বাচন করুন এবং আপনার অনুরোধের পে -লোড রাখতে " কাঁচা " নির্বাচন করুন।

পোস্টম্যান ক্রিয়েটজব অনুরোধ

createJob পে -লোড স্কিমা গিটহাবে উপলভ্য এবং নিম্নলিখিতগুলির মতো দেখাচ্ছে। উপযুক্ত ক্ষেত্রগুলির সাথে <> প্রতিস্থাপন করুন।

{
  "job_request_id": "<job_request_id>",
  "input_data_blob_prefix": "<report_folder>/<report_name>.avro",
  "input_data_bucket_name": "<bucket_name>",
  "output_data_blob_prefix": "<output_folder>/<summary_report_prefix>",
  "output_data_bucket_name": "<bucket_name>",
  "job_parameters": {
    "output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
    "output_domain_bucket_name": "<bucket_name>",
    "attribution_report_to": "<reporting origin of report>",
    "reporting_site": "<domain of reporting origin(s) of report>", // Only one of attribution_report_to or reporting_site is required as of v2.7.0
    "report_error_threshold_percentage": "10",
    "debug_run": "true"
  }
}

একবার আপনি " প্রেরণ করুন " ক্লিক করার পরে, এটি job_request_id দিয়ে কাজটি তৈরি করে। অনুরোধটি সমষ্টি পরিষেবা দ্বারা গৃহীত হওয়ার পরে আপনার একটি এইচটিটিপি 202 প্রতিক্রিয়া পাওয়া উচিত। অন্যান্য সম্ভাব্য রিটার্ন কোডটি HTTP প্রতিক্রিয়া কোডগুলিতে পাওয়া যাবে

পোস্টম্যান ক্রিয়েটজব অনুরোধস্ট্যাটাস

5.2। ব্যাচের স্থিতি পুনরুদ্ধার করতে getjob এন্ডপয়েন্ট ব্যবহার করে

কাজের অনুরোধের স্থিতি পরীক্ষা করতে, আপনি getJob এন্ডপয়েন্টটি ব্যবহার করতে পারেন। " গোপনীয়তা স্যান্ডবক্স " সংগ্রহে " getjob " নির্বাচন করুন।

" প্যারামস " -তে, JOB_REQUEST_ID মানটি job_request_id এ আপডেট করুন যা createJob অনুরোধে প্রেরণ করা হয়েছিল।

পোস্টম্যান getjobRequest

getJob এর ফলাফলটি 200 এর এইচটিটিপি স্থিতি সহ আপনার কাজের অনুরোধের স্থিতি ফিরিয়ে দিতে হবে। " বডি " অনুরোধটিতে job_status , return_message এবং error_messages (যদি কাজটি ভুল হয়ে যায়) এর মতো প্রয়োজনীয় তথ্য রয়েছে।

পোস্টম্যান গেটজব অনুরোধস্ট্যাটাস

যেহেতু উত্পন্ন ডেমো রিপোর্টের রিপোর্টিং সাইটটি আপনার এডাব্লুএস আইডিতে আপনার বোর্ডড সাইট থেকে আলাদা, তাই আপনি PRIVACY_BUDGET_AUTHORIZATION_ERROR রিটার্ন_কোডের সাথে একটি প্রতিক্রিয়া পেতে পারেন। এটি স্বাভাবিক যেহেতু প্রতিবেদনের প্রতিবেদন উত্সের সাইটটি এডাব্লুএস আইডির জন্য চালিত রিপোর্টিং সাইটের সাথে মেলে না।

{
    "job_status": "FINISHED",
    "request_received_at": "2023-12-07T22:50:58.830956Z",
    "request_updated_at": "2023-12-07T22:51:10.526326456Z",
    "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>",
    "postback_url": "",
    "result_info": {
        "return_code": "PRIVACY_BUDGET_AUTHORIZATION_ERROR",
        "return_message": "Aggregation job successfully processed",
        "error_summary": {
            "error_counts": [],
            "error_messages": []
        },
        "finished_at": "2023-12-07T22:51:10.517730898Z"
    },
    "job_parameters": {
        "debug_run": "true",
        "output_domain_bucket_name": "<output_domain_bucket_name>",
        "output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
        "attribution_report_to": "https://privacy-sandbox-demos-dsp.dev",
        "reporting_site": "<domain of reporting origin(s) of report>", // Only one of attribution_report_to or reporting_site is required as of v2.7.0
    },
    "request_processing_started_at": "2023-12-07T22:51:06.034472697Z"
}

5.3। সংক্ষিপ্ত প্রতিবেদন পর্যালোচনা

একবার আপনি আপনার আউটপুট এস 3 বালতিতে আপনার সংক্ষিপ্ত প্রতিবেদনটি পেয়ে গেলে আপনি এটি আপনার স্থানীয় পরিবেশে ডাউনলোড করতে পারেন। সংক্ষিপ্ত প্রতিবেদনগুলি এভ্রো ফর্ম্যাটে রয়েছে এবং এটি আবার কোনও জেএসনে রূপান্তরিত হতে পারে। নিম্নলিখিত কমান্ডটি ব্যবহার করে আপনার প্রতিবেদনটি পড়তে আপনি aggregatable_report_converter.jar ব্যবহার করতে পারেন।

java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file <summary_report_avro>

এটি প্রতিটি বালতি কী এর একত্রিত মানগুলির একটি JSON প্রদান করে যা নিম্নলিখিত চিত্রের মতো দেখায়।

সংক্ষিপ্ত বিবরণ

আপনার createJob অনুরোধটি যদি debug_run true হিসাবে অন্তর্ভুক্ত করে তবে আপনি output_data_blob_prefix অবস্থিত ডিবাগ ফোল্ডারে আপনার সংক্ষিপ্ত প্রতিবেদনটি পেতে পারেন। প্রতিবেদনটি এভ্রো ফর্ম্যাটে রয়েছে এবং পূর্ববর্তী কমান্ডটি ব্যবহার করে কোনও জেএসওনে রূপান্তর করা যেতে পারে।

প্রতিবেদনে বালতি কী, অনাবৃত মেট্রিক এবং সংক্ষিপ্ত প্রতিবেদন গঠনের জন্য ননডাইজড মেট্রিকের সাথে যুক্ত হওয়া শব্দ রয়েছে। প্রতিবেদনটি নিম্নলিখিত চিত্রের মতো।

ডিবাগ সংক্ষিপ্তসারপোর্ট

টীকাগুলিতে in_reports এবং in_domain এছাড়াও রয়েছে যার অর্থ:

  • in_reports - বালতি কীটি সমষ্টিগত প্রতিবেদনের অভ্যন্তরে উপলব্ধ।
  • in_domain - বালতি কী আউটপুট_ডোমাইন এভ্রো ফাইলের ভিতরে পাওয়া যায়।