1. পূর্বশর্ত
এই কোডল্যাবটি সম্পাদন করার জন্য, কয়েকটি পূর্বশর্ত প্রয়োজন। প্রতিটি প্রয়োজনীয়তা "স্থানীয় পরীক্ষা" বা "একত্রীকরণ পরিষেবা" এর জন্য প্রয়োজনীয় কিনা তা সেই অনুযায়ী চিহ্নিত করা হয়েছে৷
1.1। স্থানীয় টেস্টিং টুল ডাউনলোড করুন (স্থানীয় পরীক্ষা)
স্থানীয় পরীক্ষার জন্য স্থানীয় টেস্টিং টুল ডাউনলোড করতে হবে। টুলটি এনক্রিপ্ট না করা ডিবাগ রিপোর্ট থেকে সারাংশ রিপোর্ট তৈরি করবে।
Github-এ Lambda JAR Archives- এ ডাউনলোডের জন্য স্থানীয় টেস্টিং টুল উপলব্ধ। এটিকে LocalTestingTool_{version}.jar
হিসাবে নামকরণ করা উচিত।
1.2। JAVA JRE ইনস্টল করা আছে তা নিশ্চিত করুন (স্থানীয় পরীক্ষা এবং সমষ্টি পরিষেবা)
" টার্মিনাল " খুলুন এবং আপনার মেশিনে জাভা বা openJDK ইনস্টল করা আছে কিনা তা পরীক্ষা করতে java --version
ব্যবহার করুন।
এটি ইনস্টল করা না থাকলে, আপনি 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 ফাইলগুলিকে " আমার ওয়ার্কস্পেস "-এ আমদানি করুন।
এটি 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
এ পেস্ট করুন এবং আপনার ফাইলটি সংরক্ষণ করুন।
এটি হয়ে গেলে, আপনার রিপোর্ট ফোল্ডারে নেভিগেট করুন এবং ডিবাগ এগ্রিগেটেবল রিপোর্ট তৈরি করতে সাহায্য করার জন্য 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
তৈরি করা হয়।
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
সহ।
সারাংশ প্রতিবেদন পর্যালোচনা করতে আপনার পছন্দের একটি সম্পাদকে 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/environments
। dev
নামে একটি ফোল্ডার তৈরি করুন।
mkdir dev
demo
ফোল্ডারের বিষয়বস্তু dev
ফোল্ডারে কপি করুন।
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
এ আপডেট সংরক্ষণ করে।
এর পরে, example.auto.tfvars
এর নাম dev.auto.tfvars
করুন।
mv example.auto.tfvars dev.auto.tfvars
dev.auto.tfvars
আপডেট করুন এবং ফাইলটি সম্পাদনা করতে input
জন্য i
চাপুন।
vim dev.auto.tfvars
অ্যাগ্রিগেশন সার্ভিস অনবোর্ডিং, পরিবেশ এবং বিজ্ঞপ্তি ইমেলের সময় দেওয়া সঠিক AWS ARN পরামিতিগুলির সাথে লাল বক্সের ক্ষেত্রগুলিকে আপডেট করুন৷
আপডেট হয়ে গেলে, esc
-> :wq!
. এটি dev.auto.tfvars
ফাইলটিকে সংরক্ষণ করে এবং এটি নিম্নলিখিত চিত্রের মতো দেখতে হবে৷
3.4। একত্রিতকরণ পরিষেবা স্থাপন করুন
একই ফোল্ডারে অ্যাগ্রিগেশন সার্ভিস স্থাপন করতে/terraform/aws/environments/dev
, Terraform আরম্ভ করুন।
terraform init
এটি নিম্নলিখিত চিত্রের অনুরূপ কিছু ফিরিয়ে দেওয়া উচিত:
একবার টেরাফর্ম আরম্ভ হয়ে গেলে, টেরাফর্ম এক্সিকিউশন প্ল্যান তৈরি করুন। যেখানে এটি যোগ করা সম্পদের সংখ্যা এবং নিম্নলিখিত চিত্রের অনুরূপ অন্যান্য অতিরিক্ত তথ্য প্রদান করে।
terraform plan
আপনি নিম্নলিখিত " প্ল্যান " সারাংশে দেখতে পারেন। যদি এটি একটি নতুন স্থাপনা হয়, তাহলে আপনার সম্পদের সংখ্যা দেখতে হবে যা পরিবর্তন করতে 0 এবং ধ্বংস করার জন্য 0 যোগ করা হবে।
একবার আপনি এটি সম্পূর্ণ করলে, তারপরে আপনি Terraform প্রয়োগ করতে এগিয়ে যেতে পারেন।
terraform apply
একবার Terraform দ্বারা ক্রিয়া সম্পাদন করার বিষয়ে নিশ্চিত করার জন্য অনুরোধ করা হলে, মানটিতে একটি yes
ইনপুট করুন।
একবার 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
এ পেস্ট করুন এবং আপনার ফাইল সংরক্ষণ করুন।
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
অনুরোধে পাঠানো হয়েছিল।
getJob
এর ফলাফল 200-এর HTTP স্ট্যাটাস সহ আপনার কাজের অনুরোধের স্ট্যাটাস ফেরত দেবে। অনুরোধ " বডি "-এ job_status
, return_message
এবং error_messages
(যদি চাকরিটি ভুল হয়ে থাকে) এর মতো প্রয়োজনীয় তথ্য থাকে।
যেহেতু জেনারেট করা ডেমো রিপোর্টের রিপোর্টিং সাইটটি আপনার 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 ফাইলের ভিতরে উপলব্ধ।