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 ফাইলের ভিতরে উপলব্ধ।
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। পূর্বনির্মাণ নির্ভরতা ডাউনলোড করুন
একবার আপনি সমষ্টি পরিষেবা সংগ্রহস্থলটি ক্লোন করে ফেললে, সংগ্রহস্থলের টেরাফর্ম ফোল্ডারে এবং সংশ্লিষ্ট ক্লাউড ফোল্ডারে যান। যদি আপনার ক্লাউড_প্রোভাইডার এডাব্লুএস হয় তবে আপনি এগিয়ে যেতে পারেন/terraform/aws
cd <repository_root>/terraform/aws
ইন/terraform/aws
, download_prebuilt_dependencies.sh
।
bash download_prebuilt_dependencies.sh
3.3। উন্নয়নের পরিবেশ তৈরি করুন
একটি দেব পরিবেশ তৈরি করুন/terraform/aws/environments
। dev
নামে একটি ফোল্ডার তৈরি করুন।
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.tfvars
এ example.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
অনুরোধে প্রেরণ করা হয়েছিল।
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
ব্যবহার করুন।
যদি এটি ইনস্টল না করা হয় তবে আপনি জাভা সাইট বা ওপেনজেডকে সাইট থেকে ডাউনলোড এবং ইনস্টল করতে পারেন।
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/environments
। dev
নামে একটি ফোল্ডার তৈরি করুন।
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.tfvars
এ example.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
অনুরোধে প্রেরণ করা হয়েছিল।
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 - বালতি কী আউটপুট_ডোমাইন এভ্রো ফাইলের ভিতরে পাওয়া যায়।