Toplama Hizmeti ile istekleri dağıtma ve yönetme

Toplama Hizmeti'ni başarıyla dağıttıktan sonra hizmetle etkileşimde bulunmak için createJob ve getJob uç noktalarını kullanabilirsiniz. Aşağıdaki şemada, bu iki uç noktanın dağıtım mimarisinin görsel bir temsili verilmiştir:

Aggregation Service API'ye Genel Bakış
Şekil 1.Aggregation Service API'ye Genel Bakış

createJob ve getJob uç noktaları hakkında daha fazla bilgiyi Aggregation Service API belgelerinde bulabilirsiniz.

İş oluşturun

İş oluşturmak için createJob uç noktasına bir POST isteği gönderin. bash POST https://<api-gateway>/stage/v1alpha/createJob -+ createJob için istek metni örneği:

{
  "job_request_id": "<job_request_id>",
  "input_data_blob_prefix": "<report_folder>/<report_name>.avro",
  "input_data_bucket_name": "<input_bucket_name>",
  "output_data_blob_prefix": "<output_folder>/<summary_report_prefix>",
  "output_data_bucket_name": "<output_bucket_name>",
  "job_parameters": {
    "output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
    "output_domain_bucket_name": "<output_domain_bucket_name>",
    "attribution_report_to": "<reporting origin of report>",
    "reporting_site": "<host name of reporting origin>"
  }
}

Başarılı bir iş oluşturma işlemi, 202 HTTP durum koduyla sonuçlanır.

reporting_site ve attribution_report_to'nin birbirini hariç tuttuğunu ve yalnızca birinin gerekli olduğunu unutmayın.

job_parameters alanına debug_run ekleyerek de hata ayıklama işi isteğinde bulunabilirsiniz. Hata ayıklama modu hakkında daha fazla bilgi için toplama hata ayıklama çalıştırma dokümanlarımıza göz atın.

{
  "job_request_id": "<job_request_id>",
  "input_data_blob_prefix": "<report_folder>/<report_name>.avro",
  "input_data_bucket_name": "<input_bucket_name>",
  "output_data_blob_prefix": "<output_folder>/<summary_report_prefix>",
  "output_data_bucket_name": "<output_bucket_name>",
  "job_parameters": {
    "output_domain_blob_prefix": "<output_domain_folder>/<output_domain>.avro",
    "output_domain_bucket_name": "<output_domain_bucket_name>",
    "attribution_report_to": "<reporting origin of report>"
    "debug_run": "true"
  }
}

İstek alanları

Parametre Tür Açıklama
job_request_id Dize Bu, reklam teknolojisi tarafından oluşturulan ve 128 karakter veya daha kısa ASCII harflerinden oluşan benzersiz bir tanımlayıcıdır. Bu, toplu iş isteğini tanımlar ve reklam teknolojisinin bulut depolama alanında barındırılan "input_data_bucket_name" parametresinde belirtilen giriş paketinden "input_data_blob_prefix" parametresinde belirtilen tüm birleştirilebilir AVRO raporlarını alır.
Karakterler: `a-z, A-Z, 0-9, !"#$%&'()*+,-./:;<=>?@[\]^_`{}~
input_data_blob_prefix Dize Bu, paket yoludur. Tek dosyalar için yolu kullanabilirsiniz. Birden fazla dosya için yoldaki ön eki kullanabilirsiniz.
Örnek: klasör/dosya, klasör/dosya1.avro, klasör/dosya/dosya1.avro ve klasör/dosya1/test/dosya2.avro'daki tüm raporları toplar.
input_data_bucket_name Dize Bu, giriş verileri veya toplanabilir raporlar için depolama paketidir. Bu, reklam teknolojisinin bulut depolama alanındadır.
output_data_blob_prefix Dize Bu, paketteki çıkış yoludur. Tek bir çıkış dosyası desteklenir.
output_data_bucket_name Dize Bu, output_data öğesinin gönderildiği depolama paketidir. Bu, reklam teknolojisinin bulut depolama alanında bulunur.
job_parameters Sözlük Zorunlu alan. Bu alan aşağıdaki gibi farklı alanları içerir:
  • output_domain_blob_prefix
  • output_domain_bucket_name
  • attribution_report_to
  • reporting_site
  • debug_privacy_epsilon
  • report_error_threshold_percentage
job_parameters.output_domain_blob_prefix Dize input_data_blob_prefix ile benzer şekilde, bu, çıkış alanı AVRO'nuzun bulunduğu output_domain_bucket_name içindeki yoldur. Birden fazla dosya için yoldaki ön eki kullanabilirsiniz. Toplama Hizmeti grubu tamamladıktan sonra özet rapor oluşturulur ve output_data_blob_prefix adıyla output_data_bucket_name çıkış paketine yerleştirilir.
job_parameters.output_domain_bucket_name Dize Bu, çıkış alan AVRO dosyanız için depolama paketidir. Bu, reklam teknolojisinin bulut depolama alanındadır.
job_parameters.attribution_report_to Dize Bu değer, "reporting_site" ile birbirini hariç tutar. Bu, raporun alındığı raporlama URL'si veya raporlama kaynağıdır. Site kaynağı, Toplama Hizmeti Oryantasyonu'na kaydedilir.
job_parameters.reporting_site Dize attribution_report_to ile birbirini dışlar. Bu, raporun alındığı raporlama URL'sinin veya raporlama kaynağının ana makine adıdır. Site kaynağı, Toplama Hizmeti Oryantasyon Programı'na kaydedilir. Not: Tüm kaynakların bu parametrede belirtilen aynı raporlama sitesine ait olması koşuluyla, tek bir istek içinde farklı kaynaklara sahip birden fazla rapor gönderebilirsiniz.
job_parameters.debug_privacy_epsilon Kayan nokta, Çift İsteğe bağlı alandır. Herhangi bir değer iletilmezse varsayılan değer 10'dur. 0 ile 64 arasında bir değer kullanılabilir.
job_parameters.report_error_threshold_percentage Çift İsteğe bağlı alandır. Bu, işin başarısız olmasından önce izin verilen maksimum başarısız rapor yüzdesidir. Boş bırakılırsa varsayılan değer %10'dur.
job_parameters.input_report_count uzun değer İsteğe bağlı alandır. İş için giriş verisi olarak sağlanan toplam rapor sayısı. Bu değer, report_error_threshold_percentage ile birlikte raporlar hatalar nedeniyle hariç tutulduğunda işin erken başarısız olmasını sağlar.
job_parameters.filtering_ids Dize İsteğe bağlı alandır. İmzasız filtreleme kimliklerinin virgülle ayrılmış listesi. Eşleşen filtreleme kimliği dışındaki tüm katkılar filtrelenir. (ör."filtering_ids": "12345,34455,12"). Varsayılan değer 0'dır.
job_parameters.debug_run Boole İsteğe bağlı alandır. Hata ayıklama çalıştırması yürütüldüğünde, alan girişinde ve/veya raporlarda hangi anahtarların bulunduğunu belirtmek için gürültü eklenmiş ve eklenmemiş hata ayıklama özeti raporları ve ek açıklamalar eklenir. Ayrıca, gruplar arasında yinelenenler de uygulanmaz. Hata ayıklama çalıştırmasında yalnızca "debug_mode": "enabled" işareti olan raporların dikkate alındığını unutmayın. 2.10.0 sürümü itibarıyla hata ayıklama çalıştırmaları gizlilik bütçesini tüketmez.

İş bulma

Bir reklam teknolojisi şirketi, istenen bir grubun durumunu öğrenmek istediğinde getJob uç noktasını çağırabilir. getJob uç noktası, job_request_id parametresi ile birlikte bir HTTPS GET isteği kullanılarak çağrılır.

  GET https://<api-gateway>/stage/v1alpha/getJob?job_request_id=<job_request_id>

Hata mesajlarıyla birlikte iş durumunu döndüren bir yanıt alırsınız:

{
    "job_status": "FINISHED",
    "request_received_at": "2023-07-17T19:15:13.926530Z",
    "request_updated_at": "2023-07-17T19:15:28.614942839Z",
    "job_request_id": "PSD_0003",
    "input_data_blob_prefix": "reports/output_reports_2023-07-17T19:11:27.315Z.avro",
    "input_data_bucket_name": "ags-report-bucket",
    "output_data_blob_prefix": "summary/summary.avro",
    "output_data_bucket_name": "ags-report-bucket",
    "postback_URL": "",
    "result_info": {
        "return_code": "SUCCESS",
        "return_message": "Aggregation job successfully processed",
        "error_summary": {
            "error_counts": [],
            "error_messages": []
        },
        "finished_at": "2023-07-17T19:15:28.607802354Z"
    },
    "job_parameters": {
        "debug_run": "true",
        "output_domain_bucket_name": "ags-report-bucket",
        "output_domain_blob_prefix": "output_domain/output_domain.avro",
        "attribution_report_to": "https://privacy-sandcastle-dev-dsp.web.app"
    },
    "request_processing_started_at": "2023-07-17T19:15:21.583759622Z"
}

Yanıt alanları

Parametre Tür Açıklama
job_request_id Dize Bu, createJob isteğinde belirtilen benzersiz iş/grup kimliğidir.
job_status Dize Bu, iş isteğinin durumudur.
request_received_at Dize İsteğin alındığı saat.
request_updated_at Dize İşin son güncellenme zamanı.
input_data_blob_prefix Dize Bu, createJob olarak ayarlanan giriş verisi ön ekidir.
input_data_bucket_name Dize Bu, birleştirilebilir raporların depolandığı reklam teknolojisinin giriş veri paketidir. Bu alan createJob olarak ayarlanmıştır.
output_data_blob_prefix Dize Bu, createJob değerinde ayarlanan çıkış verisi ön ekidir.
output_data_bucket_name Dize Bu, oluşturulan özet raporların depolandığı reklam teknolojisinin çıkış veri paketidir. Bu alan createJob olarak ayarlanmıştır.
request_processing_started_at Dize Son işleme denemesinin başladığı zaman. İş kuyruğunda bekleme süresi bu süreye dahil değildir. (Toplam işleme süresi = request_updated_at - request_processing_started_at)
result_info Sözlük Bu, createJob isteği sonucunda elde edilen ve mevcut tüm bilgileri içeren sonuçtur. Bu örnekte return_code, return_message, finished_at ve error_summary değerleri gösterilmektedir.
result_info.return_code Dize İş sonucu döndürme kodu. Toplama Hizmeti'nde sorun olması durumunda sorun giderme için bu bilgiler gereklidir.
result_info.return_message Dize İşin sonucu olarak döndürülen başarı veya başarısızlık mesajı. Bu bilgiler, toplama hizmeti sorunlarını gidermek için de gereklidir.
result_info.error_summary Sözlük İşten döndürülen hatalar. Bu raporda, karşılaşılan hata türlerinin yanı sıra raporların sayısı da yer alır.
result_info.finished_at Zaman damgası İşin tamamlandığını gösteren zaman damgası.
result_info.error_summary.error_counts Liste Bu işlem, aynı hata mesajıyla başarısız olan raporların sayısıyla birlikte hata mesajlarının listesini döndürür. Her hata sayısı, bir kategori,error_count ve description içerir.
result_info.error_summary.error_messages Liste Bu işlem, işlenemeyen raporlardaki hata mesajlarının listesini döndürür.
job_parameters Sözlük Bu, createJob isteğinde sağlanan iş parametrelerini içerir. "output_domain_blob_prefix" ve "output_domain_bucket_name" gibi alakalı özellikler.
job_parameters.attribution_report_to Dize reporting_site ile birbirini dışlar. Bu, raporlama URL'sidir veya raporun alındığı kaynaktır. Kaynak, Toplama Hizmeti İlk Kayıt'a kaydedilen sitenin bir parçasıdır. Bu değer, createJob isteğinde belirtilir.
job_parameters.reporting_site Dize attribution_report_to ile birbirini dışlar. Bu, raporlama URL'sinin ana makine adıdır veya raporun alındığı kaynaktır. Kaynak, Toplama Hizmeti İlk Kayıt'a kaydedilen sitenin bir parçasıdır. Tüm raporlama kaynakları bu parametrede belirtilen siteye ait olduğu sürece aynı istekte birden fazla raporlama kaynağı içeren raporlar gönderebileceğinizi unutmayın. Bu değer, createJob isteğinde belirtilir. Ayrıca, paketin yalnızca iş oluşturulurken birleştirmek istediğiniz raporları içerdiğinden emin olun. Giriş veri paketine, iş parametresinde belirtilen raporlama sitesiyle eşleşen raporlama kökenleriyle eklenen tüm raporlar işlenir. Toplama Hizmeti, yalnızca veri paketindeki ve işin kayıtlı raporlama kaynağıyla eşleşen raporları dikkate alır. Örneğin, kayıtlı kaynak https://exampleabc.com ise pakette alt alan adlarından (https://1.exampleabc.com vb.) veya tamamen farklı alan adlarından (https://3.examplexyz.com) gelen raporlar olsa bile yalnızca https://exampleabc.com adresinden gelen raporlar dahil edilir.
job_parameters.debug_privacy_epsilon Kayan nokta, Çift İsteğe bağlı alandır. Değer iletilmezse varsayılan değer olan 10 kullanılır. Değerler 0 ile 64 arasında olabilir. Bu değer, createJob isteğinde belirtilir.
job_parameters.report_error_threshold_percentage Çift İsteğe bağlı alandır. Bu, iş başarısız olmadan önce başarısız olabilecek raporların eşiği yüzdesidir. Herhangi bir değer atanmazsa varsayılan değer olan% 10 kullanılır. Bu değer, createJob isteğinde belirtilir.
job_parameters.input_report_count Uzun değer İsteğe bağlı alandır. Bu iş için giriş verisi olarak sağlanan toplam rapor sayısı. Bu değerle birlikte "report_error_threshold_percentage", hatadan dolayı önemli sayıda rapor hariç tutulursa erken iş hatası tetikler. Bu ayar, "createJob" isteğinde belirtilir.
job_parameters.filtering_ids Dize İsteğe bağlı alandır. İmzasız filtreleme kimliklerinin virgülle ayrılmış listesi. Eşleşen filtreleme kimliği dışındaki tüm katkılar filtrelenir. Bu değer, createJob isteğinde belirtilir. (ör. "filtering_ids":"12345,34455,12". Varsayılan değer "0"dır.)