1. Wymagania wstępne
Aby wykonać te ćwiczenia w Codelabs, musisz spełnić kilka wymagań wstępnych. Każde wymaganie jest odpowiednio oznaczone, czy jest wymagane w przypadku „testów lokalnych”. lub „usługa agregacji”.
1.1. Pobieranie narzędzia do testowania lokalnego (testy lokalne)
Aby przeprowadzić testy lokalne, trzeba będzie pobrać narzędzie do testowania lokalnego. Narzędzie wygeneruje raporty podsumowujące na podstawie niezaszyfrowanych raportów debugowania.
Narzędzie do testowania lokalnego jest dostępne do pobrania z archiwów Lambda JAR w GitHubie. Powinna ona mieć nazwę LocalTestingTool_{version}.jar
.
1.2. Sprawdź, czy zainstalowano JAVA JRE (usługa testowania lokalnego i agregacji)
Otwórz Terminal. i użyj java --version
, by sprawdzić, czy na komputerze zainstalowano środowisko Java lub openJDK.
Jeśli nie, możesz ją pobrać i zainstalować ze strony Java lub openJDK.
1.3. Pobierz konwerter raportów agregowanych (usługa testowania lokalnego i agregacji)
Możesz pobrać kopię konwertera raportów agregowanych z repozytorium wersji demonstracyjnych Piaskownicy prywatności na GitHubie.
1.4 Włącz interfejsy Ad Privacy API (usługa testów lokalnych i agregacji)
W przeglądarce otwórz stronę chrome://settings/adPrivacy
i włącz wszystkie interfejsy Ad Privacy API.
Upewnij się, że pliki cookie innych firm są włączone.
W przeglądarce otwórz stronę chrome://settings/cookies
i wybierz „Blokuj pliki cookie innych firm w trybie incognito”.
1.5. Rejestracja w przeglądarce i na Androidzie (usługa agregacji)
Aby używać interfejsów API Piaskownicy prywatności w środowisku produkcyjnym, musisz przeprowadzić rejestrację i atest zarówno w Chrome, jak i w Androidzie.
W przypadku testów lokalnych rejestrację można wyłączyć za pomocą flagi Chrome i przełącznika interfejsu wiersza poleceń.
Aby użyć flagi Chrome w wersji demonstracyjnej, wejdź na chrome://flags/#privacy-sandbox-enrollment-overrides
i zaktualizuj zastąpienie w swojej witrynie. Jeśli korzystasz z witryny demonstracyjnej, nie musisz niczego aktualizować.
1.6. Wprowadzenie do usługi agregacji (usługa agregacji)
Usługa agregacji wymaga wprowadzenia koordynatorów, aby mogli z niej korzystać. Wypełnij formularz wprowadzenia do usługi agregacji, podając adres witryny raportowania, identyfikator konta AWS i inne informacje.
1.7. Dostawca chmury (usługa agregacji)
Usługa agregacji wymaga użycia zaufanego środowiska wykonawczego wykorzystującego środowisko w chmurze. Usługa agregacji jest obsługiwana w usługach Amazon Web Services (AWS) i Google Cloud (GCP). To ćwiczenia z programowania obejmuje tylko integrację z AWS.
AWS udostępnia zaufane środowisko wykonawcze zwane enklawami Nitro. Sprawdź, czy masz konto AWS i postępuj zgodnie z instrukcjami instalacji i aktualizacji interfejsu wiersza poleceń AWS, aby skonfigurować środowisko AWS CLI.
Jeśli interfejs wiersza poleceń AWS jest nowy, możesz go skonfigurować, korzystając z instrukcji konfiguracji interfejsu wiersza poleceń.
1.7.1. Utwórz zasobnik AWS S3
Utwórz zasobnik AWS S3 do przechowywania stanu Terraform i kolejny zasobnik S3 do przechowywania raportów i raportów podsumowujących. Możesz użyć podanego polecenia interfejsu wiersza poleceń. Zastąp pole w tabeli <>
odpowiednimi zmiennymi.
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. Utwórz klucz dostępu użytkownika
Utwórz klucze dostępu użytkowników, korzystając z przewodnika po AWS. Będzie ona używana do wywoływania punktów końcowych interfejsu API createJob
i getJob
utworzonych w AWS.
1.7.3. Uprawnienia użytkowników i grup AWS
Aby wdrożyć usługę agregacji w AWS, musisz przyznać użytkownikowi określone uprawnienia do wdrożenia tej usługi. W przypadku tych ćwiczeń z programowania użytkownik musi mieć dostęp administracyjny, aby zapewnić pełne uprawnienia do wdrożenia.
1.8 Terraform (usługa agregacji)
W tym ćwiczeniu z programowania wdrożysz usługę agregacji za pomocą Terraform. Upewnij się, że plik binarny Terraform jest zainstalowany w środowisku lokalnym.
Pobierz plik binarny Terraform do środowiska lokalnego.
Po pobraniu pliku binarnego Terraform wyodrębnij plik i przenieś plik binarny Terraform do pliku /usr/local/bin
.
cp <directory>/terraform /usr/local/bin
Sprawdź, czy Terraform jest dostępny w ścieżce klasy.
terraform -v
1.9. Postman (dla usługi agregacji AWS)
W tym ćwiczeniu z programowania do zarządzania prośbami używaj usługi Postman.
Utwórz obszar roboczy w sekcji „Obszary robocze” element nawigacyjny i wybierz „Utwórz obszar roboczy”.
Wybierz Pusty obszar roboczy, kliknij Dalej i nadaj mu nazwę „Piaskownica prywatności”. Wybierz „Osobiste”. i kliknij „Utwórz”.
Pobierz wstępnie skonfigurowane pliki konfiguracji JSON i środowiska globalnego dla obszaru roboczego.
Zaimportuj pliki JSON do sekcji „Mój obszar roboczy”. za pomocą polecenia „Importuj”, Przycisk
Spowoduje to utworzenie kolekcji Piaskownica prywatności wraz z żądaniami HTTP createJob
i getJob
.
Aktualizowanie klucza dostępu AWS i „Secret Key” (Tajny klucz) klikając „Szybki podgląd środowiska”.
Kliknij „Edytuj”. i zaktualizować „Bieżącą wartość”, zarówno argumentu „access_key”, i „secret_key”. Pamiętaj, że frontend_api_id
znajdziesz w sekcji 3.1.4 tego dokumentu. Zalecamy też użycie regionu us-east-1. Jeśli jednak chcesz przeprowadzić wdrożenie w innym regionie, skopiuj opublikowaną wersję AMI na swoje konto lub samodzielnie utwórz kompilację, korzystając z dostarczonych skryptów.
2. Ćwiczenie z programowania dotyczące testowania lokalnego
Za pomocą lokalnego narzędzia do testowania na komputerze możesz przeprowadzać agregacje i generować raporty podsumowujące na podstawie niezaszyfrowanych raportów debugowania.
Etapy ćwiczeń z programowania
Krok 2.1. Raport wyzwalacza: aktywuj raport prywatnej agregacji, aby móc zbierać ten raport.
Krok 2.2. Utwórz raport agregujący na potrzeby debugowania: przekonwertuj zebrany raport JSON na raport w formacie AVRO.
Ten krok będzie podobny do sytuacji, gdy technicy reklamowe będą zbierać raporty z punktów końcowych raportowania interfejsu API i przekształcić raporty JSON na raporty w formacie AVRO.
Krok 2.3. Przeanalizuj klucz zasobnika z raportu debugowania: klucze zasobnika są projektowane przez specjalistów ds. technologii reklamowych. Ponieważ zasobniki są wstępnie zdefiniowane, w ramach tego ćwiczenia w Codelabs możesz pobrać klucze zasobnika w podanej postaci.
Krok 2.4. Utwórz domenę wyjściową AVRO: po pobraniu kluczy zasobnika utwórz plik AVRO domeny wyjściowej.
Krok 2.5. Tworzenie raportów podsumowujących za pomocą narzędzia do testowania lokalnego: korzystając z narzędzia do testowania lokalnego, możesz tworzyć raporty podsumowujące w środowisku lokalnym.
Krok 2.6. Przeglądanie raportu podsumowującego: przejrzyj raport podsumowujący utworzony przez narzędzie do testowania lokalnego.
2.1. Raport wyzwalacza
Otwórz stronę demonstracji Piaskownicy prywatności. Spowoduje to wygenerowanie prywatnego raportu zbiorczego. Raport jest dostępny na stronie chrome://private-aggregation-internals
.
Jeśli raport ma stan „Oczekuje” możesz wybrać raport i kliknąć „Wyślij wybrane raporty”.
2.2. Utwórz raport agregujący na potrzeby debugowania
W języku chrome://private-aggregation-internals
skopiuj „Treść raportu” odebrane w punkcie końcowym [reporting-origin]/.well-known/private-aggregation/report-shared-storage
.
Sprawdź, czy w treści raportu element aggregation_coordinator_origin
zawiera wartość https://publickeyservice.msmt.aws.privacysandboxservices.com
, co oznacza, że raport jest raportem agregowanym przez AWS.
W polu JSON „Report Body” (Treść raportu) wstaw pole JSON. w pliku JSON. W tym przykładzie można użyć pliku vim. Możesz jednak skorzystać z dowolnego edytora tekstu.
vim report.json
Wklej raport w usłudze report.json
i zapisz plik.
Następnie otwórz folder raportu i użyj pola aggregatable_report_converter.jar
, aby utworzyć raport agregowany na potrzeby debugowania. Spowoduje to utworzenie w bieżącym katalogu raportu agregowanego o nazwie report.avro
.
java -jar aggregatable_report_converter.jar \
--request_type convertToAvro \
--input_file report.json \
--debug
2.3. Analiza klucza zasobnika z raportu debugowania
Usługa agregacji wymaga 2 plików do grupowania. Raport agregacyjny i wyjściowy plik domeny. Wyjściowy plik domeny zawiera klucze, które chcesz pobrać z raportów agregowanych. Aby utworzyć plik output_domain.avro
, potrzebujesz kluczy zasobnika, które można pobrać z raportów.
Klucze zasobnika są projektowane przez element wywołujący interfejs API, a wersja demonstracyjna zawiera gotowe przykładowe klucze zasobnika. Ponieważ w wersji demonstracyjnej został włączony tryb debugowania agregacji prywatnej, możesz przeanalizować ładunek nieszyfrowany debugowania w sekcji „Treść raportu” aby pobrać klucz zasobnika. W takim przypadku jednak klucze zasobnika tworzy demonstracja Piaskownicy prywatności w witrynie. Ponieważ agregacja prywatna dla tej witryny działa w trybie debugowania, możesz użyć pola debug_cleartext_payload
z sekcji „Treść raportu” aby uzyskać klucz zasobnika.
Skopiuj debug_cleartext_payload
z treści raportu.
Otwórz narzędzie do debugowania ładunku na potrzeby agregacji prywatnej i wklej debug_cleartext_payload
w polu „INPUT”. i kliknij „Decode” (Dekoduj).
Strona zwraca wartość dziesiętną klucza zasobnika. Poniżej znajdziesz przykładowy klucz zasobnika.
2.4. Utwórz AVRO domeny wyjściowej
Teraz, gdy mamy już klucz zasobnika, skopiuj jego wartość dziesiętną. Przejdź do tworzenia obiektu output_domain.avro
za pomocą klucza zasobnika. Pamiętaj, aby zastąpić
pobranym kluczem zasobnika.
java -jar aggregatable_report_converter.jar \
--request_type createDomainAvro \
--bucket_key <bucket key>
Skrypt utworzy plik output_domain.avro
w bieżącym folderze.
2.5. Tworzenie raportów podsumowujących za pomocą narzędzia do testowania lokalnego
Na podstawie pliku LocalTestingTool_{version}.jar
, który został pobrany w sekcji 1.1, do utworzenia raportów podsumowujących użyjemy tych danych. Użyj tego polecenia. Zastąp LocalTestingTool_{version}.jar
wersją pobraną na potrzeby narzędzia LocalTestingTool.
Uruchom to polecenie, aby wygenerować raport podsumowujący w lokalnym środowisku programistycznym:
java -jar LocalTestingTool_{version}.jar \
--input_data_avro_file report.avro \
--domain_avro_file output_domain.avro \
--output_directory .
Po uruchomieniu polecenia zobaczysz obraz podobny do tego poniżej. Po zakończeniu zostanie utworzony raport output.avro
.
2.6 Sprawdzanie raportu podsumowującego
Tworzony raport podsumowujący ma format AVRO. Aby móc odczytać te dane, musisz przekonwertować je z AVRO na format JSON. Najlepiej byłoby, gdyby technologie reklamowe były kodowane tak, aby konwertować raporty AVRO z powrotem do formatu JSON.
W naszych ćwiczeniach z programowania użyjemy udostępnionego narzędzia aggregatable_report_converter.jar
, aby przekonwertować raport AVRO z powrotem do formatu JSON.
java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file output.avro
Spowoduje to wyświetlenie raportu podobnego do tego na obrazie poniżej. Wraz z raportem output.json
utworzonym w tym samym katalogu.
Otwórz plik JSON w wybranym edytorze, aby wyświetlić raport podsumowujący.
3. Wdrożenie usługi agregacji
Aby wdrożyć usługę agregacji, wykonaj te czynności:
Krok 3. Wdrożenie usługi agregacji: Wdróż usługę agregacji w AWS
Krok 3.1. Sklonuj repozytorium usługi agregacji
Krok 3.2 Pobierz gotowe zależności
Krok 3.3 Utwórz środowisko programistyczne
Krok 3.4 Wdrażanie usługi agregacji
3.1. Klonowanie repozytorium usługi agregacji
W środowisku lokalnym skopiuj repozytorium usługi agregacji na GitHubie.
git clone https://github.com/privacysandbox/aggregation-service.git
3.2. Pobierz gotowe zależności
Po sklonowaniu repozytorium usługi agregacji otwórz folder Terraform repozytorium i odpowiedni folder w chmurze. Jeśli dostawcą cloud_provider jest AWS, możesz przejść do:
cd <repository_root>/terraform/aws
W
wykonaj download_prebuilt_dependencies.sh
.
bash download_prebuilt_dependencies.sh
3.3 Tworzenie środowiska programistycznego
Utwórz środowisko programistyczne w usłudze
. Utwórz folder o nazwie dev
.
mkdir dev
Skopiuj zawartość folderu demo
do folderu dev
.
cp -R demo/* dev
Przenieś do folderu dev
.
cd dev
Zaktualizuj plik main.tf
i naciśnij i
, aby uzyskać input
, aby go edytować.
vim main.tf
Usuń znacznik komentarza z kodu w czerwonym polu. W tym celu usuń znak # i zaktualizuj nazwy zasobników oraz kluczy.
W przypadku AWS main.tf:
Kod bez komentarza powinien wyglądać tak.
backend "s3" {
bucket = "<tf_state_bucket_name>"
key = "<environment_name>.tfstate"
region = "us-east-1"
}
Po zakończeniu aktualizacji zapisz zmiany i zamknij edytor, klikając esc
-> :wq!
Spowoduje to zapisanie aktualizacji main.tf
.
Następnie zmień nazwę example.auto.tfvars
na dev.auto.tfvars
.
mv example.auto.tfvars dev.auto.tfvars
Zaktualizuj plik dev.auto.tfvars
i naciśnij i
, aby uzyskać input
, aby edytować plik.
vim dev.auto.tfvars
Zaktualizuj pola w czerwonym polu po obrazie za pomocą prawidłowych parametrów AWS ARN podanych podczas wprowadzania do usługi agregacji, środowiska i e-maila z powiadomieniem.
Po zakończeniu aktualizacji naciśnij esc
-> :wq!
Spowoduje to zapisanie pliku dev.auto.tfvars
. Powinien on wyglądać mniej więcej tak: obraz poniżej.
3.4. Wdrażanie usługi agregacji
Aby wdrożyć usługę agregacji, w tym samym folderze
zainicjuj Terraform.
terraform init
Powinno to spowodować wyświetlenie obrazu podobnego do tego:
Po zainicjowaniu Terraform utwórz plan wykonania Terraform. Tutaj zwraca liczbę zasobów do dodania i inne dodatkowe informacje podobne do pokazanego na ilustracji poniżej.
terraform plan
Możesz to zobaczyć w sekcji „Abonament”. . Jeśli jest to nowe wdrożenie, zobaczysz liczbę zasobów, które zostaną dodane. Wartość 0 w przypadku zmiany i 0 – zniszczenie.
Po wykonaniu tych czynności możesz przejść do zastosowania Terraform.
terraform apply
Gdy pojawi się prośba o potwierdzenie wykonania działań przez Terraform, wpisz yes
do wartości.
Gdy zakończy się działanie terraform apply
, zwracane są poniższe punkty końcowe dla createJob
i getJob
. Zwrócony zostanie też frontend_api_id
, który musisz zaktualizować w Postman (patrz sekcja 1.9).
4. Tworzenie danych wejściowych w usłudze agregacji
Przejdź dalej do tworzenia raportów AVRO do grupowania w usłudze agregacji.
Krok 4. Tworzenie danych wejściowych w usłudze agregacji: utwórz raporty usługi agregacji, które będą grupowane na potrzeby usługi agregacji.
Krok 4.1 Raport wyzwalacza
Krok 4.2. Zbieranie raportów agregowanych
Krok 4.3 Przekonwertuj raporty na format AVRO
Krok 4.4 Utwórz AVRO domeny wyjściowej
4.1. Raport wyzwalacza
Otwórz stronę pokazową Piaskownicy prywatności. Spowoduje to wygenerowanie prywatnego raportu zbiorczego. Raport jest dostępny na stronie chrome://private-aggregation-internals
.
Jeśli raport ma stan „Oczekuje” możesz wybrać raport i kliknąć „Wyślij wybrane raporty”.
4.2. Zbieranie raportów agregowanych
Zbieraj raporty zbiorcze z punktów końcowych .well-known
odpowiedniego interfejsu API.
- Agregacja prywatna
[reporting-origin] /.well-known/private-aggregation/report-shared-storage
- Attribution Reporting – raport podsumowujący
[reporting-origin] /.well-known/attribution-reporting/report-aggregate-attribution
W ramach tych ćwiczeń z programowania gromadzisz raporty ręcznie. Na etapie produkcji specjaliści od technologii reklamowych muszą automatycznie zbierać i konwertować raporty.
W języku chrome://private-aggregation-internals
skopiuj „Treść raportu” odebrane w punkcie końcowym [reporting-origin]/.well-known/private-aggregation/report-shared-storage
.
Sprawdź, czy w treści raportu element aggregation_coordinator_origin
zawiera wartość https://publickeyservice.msmt.aws.privacysandboxservices.com
, co oznacza, że raport jest raportem agregowanym przez AWS.
W polu JSON „Report Body” (Treść raportu) wstaw pole JSON. w pliku JSON. W tym przykładzie można użyć pliku vim. Możesz jednak skorzystać z dowolnego edytora tekstu.
vim report.json
Wklej raport w usłudze report.json
i zapisz plik.
4.3. Konwertuj raporty na format AVRO
Raporty otrzymywane z punktów końcowych .well-known
mają format JSON i trzeba je przekonwertować na format raportu AVRO. Gdy otrzymasz raport JSON, przejdź do folderu raportu i użyj pola aggregatable_report_converter.jar
, aby utworzyć raport agregowany na potrzeby debugowania. Spowoduje to utworzenie w bieżącym katalogu raportu agregowanego o nazwie report.avro
.
java -jar aggregatable_report_converter.jar \
--request_type convertToAvro \
--input_file report.json
4.4. Utwórz AVRO domeny wyjściowej
Aby utworzyć plik output_domain.avro
, potrzebujesz kluczy zasobnika, które można pobrać z raportów.
Klucze zasobnika są zaprojektowane przez specjalistów z branży reklamowej. W takim przypadku jednak klucze zasobnika tworzy wersja demonstracyjna Piaskownicy prywatności na stronie internetowej. Ponieważ agregacja prywatna dla tej witryny działa w trybie debugowania, możesz użyć pola debug_cleartext_payload
z sekcji „Treść raportu” aby uzyskać klucz zasobnika.
Skopiuj identyfikator debug_cleartext_payload
z treści raportu.
Otwórz goo.gle/ags-payload-decoder i wklej debug_cleartext_payload
w polu „INPUT”. i kliknij „Decode” (Dekoduj).
Strona zwraca wartość dziesiętną klucza zasobnika. Poniżej znajdziesz przykładowy klucz zasobnika.
Masz już klucz zasobnika, możesz więc utworzyć output_domain.avro
. Pamiętaj, aby zastąpić
pobranym kluczem zasobnika.
java -jar aggregatable_report_converter.jar \
--request_type createDomainAvro \
--bucket_key <bucket key>
Skrypt utworzy plik output_domain.avro
w bieżącym folderze.
4.5. Przenoszenie raportów do zasobnika AWS
Po utworzeniu raportów AVRO (z sekcji 3.2.3) i domeny wyjściowej (z sekcji 3.2.4) przenieś raporty i domenę wyjściową do zasobników raportowania S3.
Jeśli interfejs wiersza poleceń AWS jest skonfigurowany w środowisku lokalnym, skopiuj raporty do odpowiedniego zasobnika S3 i folderu raportów za pomocą poniższych poleceń.
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. Wykorzystanie usługi agregacji
Jeśli chodzi o terraform apply
, otrzymujesz create_job_endpoint
, get_job_endpoint
i frontend_api_id
. Skopiuj identyfikator frontend_api_id
i umieść go w globalnej zmiennej Postmana frontend_api_id
skonfigurowanego w sekcji wstępnej 1.9.
Krok 5. Wykorzystanie usługi agregacji: użyj interfejsu Aggregation Service API, aby tworzyć raporty podsumowujące i przeglądać raporty podsumowujące.
Krok 5.1. Użycie punktu końcowego createJob do przesyłania zbiorczego
Krok 5.2. Użycie punktu końcowego getJob do pobrania stanu wsadu
Krok 5.3. Przeglądanie raportu Podsumowanie
5.1. Wykorzystuję punkt końcowy createJob
do grupowania
W Postman otwórz „Piaskownicę prywatności” i wybierz „createJob”.
Wybierz „Body” (Treść). i wybierz „raw” , aby umieścić ładunek żądania.
Schemat ładunku createJob
jest dostępny na github i wygląda podobnie do tego. Zastąp <>
odpowiednimi polami.
{
"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"
}
}
Po kliknięciu „Wyślij” zostanie utworzone zadanie z zasadą job_request_id
. Po zaakceptowaniu żądania przez usługę agregacji otrzymasz odpowiedź HTTP 202. Inny możliwy kod zwrotu znajdziesz w kodach odpowiedzi HTTP.
5.2. Używanie punktu końcowego getJob do pobierania stanu wsadu
Aby sprawdzić stan żądania zadania, możesz użyć punktu końcowego getJob
. Wybierz „getJob”. w „Piaskownicy prywatności” kolekcji.
W sekcji „Parametry” zaktualizuj wartość application_request_id o wartość job_request_id
, która została wysłana w żądaniu createJob
.
getJob
zwraca stan żądania zadania ze stanem HTTP 200. Żądanie „Body” zawiera niezbędne informacje, takie jak job_status
, return_message
i error_messages
(jeśli w zadaniu wystąpił błąd).
Ponieważ witryna raportowania wygenerowanego raportu demonstracyjnego różni się od witryny zarejestrowanej w Twoim identyfikatorze AWS, możesz otrzymać odpowiedź z kodem zwrotnym PRIVACY_BUDGET_AUTHORIZATION_ERROR
. Jest to normalne, ponieważ raporty witryna źródła raportowania nie pasuje do witryny raportowania zarejestrowanej dla identyfikatora 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. Przeglądanie raportu Podsumowanie
Gdy otrzymasz raport podsumowujący do wyjściowego zasobnika S3, możesz go pobrać do środowiska lokalnego. Raporty podsumowujące są w formacie AVRO i można je przekonwertować z powrotem na plik JSON. Aby odczytać raport, użyj pola aggregatable_report_converter.jar
, korzystając z poniższego polecenia.
java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file <summary_report_avro>
Zwracany jest kod JSON zawierający zagregowane wartości każdego klucza zasobnika. Wygląda on podobnie do tego na ilustracji poniżej.
Jeśli żądanie createJob
zawiera parametr debug_run
jako true
, raport podsumowujący będzie dostępny w folderze debugowania, który znajduje się w folderze output_data_blob_prefix
. Raport ma format AVRO i można go przekonwertować za pomocą poprzedniego polecenia na plik JSON.
Raport zawiera klucz zasobnika, niezaszumione dane i szum dodany do niezaszumionych danych w celu utworzenia raportu podsumowującego. Raport jest podobny do tego obrazu.
Zawierają one również in_reports
i in_domain
, co oznacza, że:
- in_reports – klucz zasobnika jest dostępny w raportach agregowanych.
- in_domain – klucz zasobnika jest dostępny w pliku AVRO wyjściowej domeny.