Diagnostica tus trabajos de agregación

En las siguientes tablas, se detallan una gran cantidad de problemas y códigos de estado de error con posibles motivos de la causa y acciones que puedes realizar para mitigar tu implementación. Si deseas consultar las especificaciones y mitigaciones de errores completas del Servicio de agregación, consulta nuestra guía pública actual.

Temas de la guía:

Errores de permisos y autorización

Problema Problemas de permisos cuando ejecutas terraform plan o terraform apply en tu proyecto de nube pública
Ejemplo de error Error: UnauthorizedOperation: You are not authorized to perform this operation.
Solución

Verifica que te hayas autenticado correctamente en la CLI (interfaz de línea de comandos) de la nube pública que utilizas.

Amazon Web Services

AWS requiere permisos de usuario para poder crear instancias y otros servicios necesarios para el Servicio de agregación. Una vez que apliques esto, deberías poder realizar terraform plan y apply sin problemas.

Google Cloud Platform

En Google Cloud, ten en cuenta que deberás suplantar la identidad de una cuenta de servicio para implementar la segunda mitad de Terraform. Es posible que el comando terraform apply falle si omitiste este paso, ya que la cuenta de servicio de implementación tiene todos los permisos necesarios para crear recursos. Consulta el paso 4 en "Configura tu entorno de implementación" en la documentación de GitHub.

Errores de Privacy Budget

Error PRIVACY_BUDGET_ERROR
Causa Esto indicaría que el servicio no pudo procesar los informes debido a un error con el servicio de presupuesto de privacidad.
Cheque Una vez que vuelvas a intentar el trabajo para ver si el error fue intermitente, comunícate con nosotros a través del formulario de asistencia técnica.
Error PRIVACY_BUDGET_AUTHORIZATION_ERROR
Causa Es posible que estés usando un origen de informes diferente al que proporcionaron durante la incorporación.
Cheque

Verifica que el sitio que envías en el campo attribution_report_to de la solicitud createJob sea el mismo que se envió durante la incorporación.

El sitio debe coincidir con el que se incorporó o ser un subdominio de este. Ten en cuenta que la incorporación del Servicio de agregación se maneja en el dominio de nivel superior, y todos los subdominios son aptos para usar el Servicio de agregación una vez que se incorpora el dominio de nivel superior.

Error PRIVACY_BUDGET_AUTHENTICATION_ERROR
Causa Es posible que estés usando un ARN incorrecto o desactualizado.
Cheque Google Cloud Platform

Verifica que la cuenta de servicio que se usa en tu implementación del Servicio de agregación coincida con la cuenta de servicio que se proporcionó durante la incorporación. Debe coincidir exactamente, no solo pertenecer al mismo proyecto.

Amazon Web Services

Se espera que uses los mismos coordinadores que se te proporcionaron por correo electrónico. Si los problemas persisten, recopila tu archivo auto.tfvars y la información del origen de los informes, y comunícate con nosotros a través del formulario de asistencia técnica.

Error PRIVACY_BUDGET_EXHAUSTED
Causa Error:
            "result_info": {
              "return_code": "PRIVACY_BUDGET_EXHAUSTED",
              "return_message": "com.google.aggregate.adtech.worker.exceptions.AggregationJobProcessException:
              Insufficient privacy budget for one or more aggregatable reports. No aggregatable report can appear
              in more than one aggregation job. Information related to reports that do not have budget can be
              found in the following file:
              File path: //
              Filename: privacy budget exhausted debugging information  \n
              com.google.aggregate.adtech.worker.aggregation.concurrent.ConcurrentAggregationProcessor.consumePrivacyBudgetUnits(ConcurrentAggregationProcessor.java:525) \n com.google.aggregate.adtech.worker.aggregation.concurrent.ConcurrentAggregationProcessor.process(ConcurrentAggregationProcessor.java:319) \n com.google.aggregate.adtech.worker.WorkerPullWorkService.run(WorkerPullWorkService.java:157)",
              "error_summary": {
                  "error_counts": [],
                  "error_messages": []
              },
              "finished_at": 
            }
          

El problema de agotamiento del presupuesto de privacidad ocurre cuando intentas procesar por lotes un informe cuyo ID compartido ya se incluyó en un lote anterior exitoso. Este error se produce debido a la regla"Sin duplicados", según la cual los informes agregables solo pueden aparecer en un solo lote y solo pueden contribuir a un informe de resumen.

A cada informe se le asignará un "ID compartido" que constará de los campos shared_info de la API, reporting_origin, destination_site, source_registration_time (truncado por día), scheduled_report_time (truncado por hora) y version. Esto significa que varios informes pueden pertenecer al mismo "ID compartido" si comparten los mismos atributos del campo shared_info.

Cheque

Te recomendamos que pruebes la asistencia para el agotamiento del presupuesto de privacidad que se proporciona en la respuesta del trabajo para inspeccionar y resolver el error. Esto proporciona un nuevo archivo JSON de ayuda que brindará visibilidad sobre qué informes contribuyeron al error.

Ten en cuenta que, si realizas la agrupación por lotes correctamente, es posible que cumplas con los requisitos para la recuperación del presupuesto (explicación). Sugiérele que lea la explicación y complete el formulario, pero indícale que se deberá aprobar su solicitud para recuperar el presupuesto y volver a ejecutar el trabajo.

Error DEBUG_SUCCESS_WITH_PRIVACY_BUDGET_EXHAUSTED
Causa Esto indica que estás ejecutando el trabajo en modo de depuración. El job_parameters en la solicitud de createJob contiene el debug_run: true. Cuando la marca debug_run está habilitada, puedes ejecutar el informe varias veces para depurar. Este mensaje de error te informa que el trabajo habría fallado debido a que se agotó el presupuesto de privacidad del informe si no se hubiera ejecutado en modo de depuración. Este error solo será válido en las versiones 2.10.0 y anteriores.
Cheque El cuerpo de la solicitud createJob contendrá debug_run en el job_parameters.
            {
              "job_request_id": "{job_request_id}",
              "input_data_blob_prefix": "{input_prefix}",
              "input_data_bucket_name": "{input_bucket}",
              "output_data_blob_prefix": "{output_prefix}",
              "output_data_bucket_name": "{output_bucket}",
              "job_parameters": {
                "output_domain_blob_prefix": "{output_domain_prefix}",
                "output_domain_bucket_name": "{output_domain_bucket}",
                "attribution_report_to": "{reporting_origin}",
                "debug_run": "true"
              }
            }
          

Errores de tiempo de ejecución del trabajo

Error INVALID_JOB
Extremo createJob
Causa Esto puede suceder cuando el valor de Epsilon de privacidad de depuración proporcionado no está dentro de los límites (0,64] o cuando los parámetros del trabajo no superan la validación.
Cheque ¿Qué valor de epsilon se usó? ¿Qué parámetros de trabajo se usaron en la solicitud createJob y coinciden con tu entorno? ¿Tienen el formato correcto? Realiza las correcciones necesarias y vuelve a intentar el trabajo.
Error INTERNAL_ERROR
Extremo getJob
Causa Puede ser un problema de formato que provoque errores en el procesamiento del dominio de salida o los informes. También puede ser un problema con la implementación de tu servicio de agregación.
Cheque Verifica que la ubicación del dominio de salida sea una ruta de acceso válida. Vuelve a intentar el trabajo. Si el error persiste, solicita el archivo auto.tfvars y el resultado del plan de Terraform para solucionar problemas de la implementación del Servicio de agregación.
Error RESULT_WRITE_ERROR
Extremo getJob
Causa Esto puede suceder cuando falla la escritura en el directorio de salida, ya sea de forma transitoria o por falta de permiso de escritura en el directorio. Ten en cuenta que los errores de escritura consumen presupuesto de privacidad y que no se puede volver a intentar el trabajo. Esto puede contribuir a otro resultado de error del error PRIVACY_BUDGET_EXHAUSTED.
Cheque ¿Este error se produce en todos los trabajos o solo de forma intermitente? Si esto ocurre en todos los trabajos, verifica que hayas habilitado los permisos de escritura en el directorio de salida. Si se trata de una falla intermitente, los permisos deberían ser correctos. Se sabe que puede fallar la escritura de informes de resumen, pero el presupuesto de privacidad se seguirá consumiendo. En este caso, puedes solicitar la recuperación del presupuesto (explicación).
Problema Se producen errores 403 cuando se ejecuta un trabajo y se recupera un token de servicio de certificación, y el trabajo siempre devuelve el estado "RECEIVED".
Error
            {
                "job_status": "RECEIVED",
                "request_received_at": "{utc timestamp}",
                "request_updated_at": "{utc timestamp}",
                "job_request_id": "0001",
                "input_data_blob_prefix": "reports/",
                "input_data_bucket_name": "{bucket_name}",
                "output_data_blob_prefix": "summary/",
                "output_data_bucket_name": "{bucket_name}",
                "postback_url": "",
                "job_parameters": {
                    "output_domain_bucket_name": "{bucket_name}",
                    "output_domain_blob_prefix": "output_domain/",
                    "attribution_report_to": 
                }
            }
          
Solución

Los trabajos que se atascan en el estado RECEIVED y el error 403 suelen ocurrir cuando aún no se incorporó la cuenta de servicio. Verifica que la cuenta de servicio que usas coincida con la que proporcionaste en tu solicitud de incorporación. Si no completaste una solicitud de integración, completa el formulario de integración y los formularios de inscripción.

Una vez que hayas verificado tu estado de inscripción y de incorporación, comprueba qué sucedió con el trabajo en ejecución.

Amazon Web Services

Cuando esto sucede, es posible que el enclave de AWS no se esté ejecutando o que se haya bloqueado, por lo que no se están seleccionando los trabajos.

  1. Conéctate al Administrador de sesiones de la instancia de EC2.
  2. Sigue esta documentación de AWS, que incluye los siguientes pasos para conectarte a Session Manager.
  3. Ve a AWS Console Manager > EC2 > Instances.
  4. Selecciona el ID de instancia del servicio de agregación en ejecución.
  5. Selecciona la pestaña "Session Manager" > botón "Connect". Esto te conectará a tu instancia.
  6. Una vez que se ejecute la instancia de Enclave, ejecuta lo siguiente en la terminal:
    sudo nitro-cli describe-enclaves
    Si este comando no muestra los registros como se espera, ejecuta lo siguiente antes de volver a intentarlo:
    sudo nitro-cli run-enclave --cpu-count=2 --memory=7000 --eif-path=/opt/google/worker/enclave.eif
  7. Para verificar si el enclave de AWS falló, ejecuta el siguiente comando: sudo journalctl -u aggregate-worker.service
  8. Deberías ver que se completan los registros de salida, como los siguientes:
    Starting aggregate-worker.service - Watcher script for nitro enclave.
    Aquí deberían aparecer los errores si hay fallas, etcétera.
Google Cloud Platform

Es posible que el grupo de instancias administrado (MIG) no esté en buen estado. Si es la primera vez que realizas la configuración o si destruiste y volviste a crear el adtech_setup de Terraform, confirma que tu cuenta de servicio esté integrada. Si la cuenta de servicio no está integrada, los MIG no estarán en buen estado.

  1. En la consola de Cloud, navega a Compute Engine > Grupos de instancias.
  2. Consulta las columnas de estado (las marcas de verificación verdes indican que el estado es correcto)
  3. Haz clic en uno de los grupos de instancias y consulta la pestaña Errores para obtener más información sobre el problema. Haz clic en el nombre de la instancia para acceder a la información a nivel de la VM.
  4. También puedes usar la terminal para interactuar con el grupo de instancias y obtener la misma información. Prueba el comando list-errors:
    gcloud compute instance-groups managed list-errors --region=
    A continuación, se muestra un ejemplo del resultado.
                      INSTANCE_URL: https://www.googleapis.com/compute/v1/projects/aggservice-sandbox/zones/us-central1-c/instances/collector-operator-demo-env-67hd
                      ACTION: VERIFYING
                      ERROR_CODE: WAITING_FOR_HEALTHY_TIMEOUT_EXCEEDED
                      ERROR_MESSAGE: Waiting for HEALTHY state timed out (autohealingPolicy.initialDelay=200 sec) for instance projects/aggservice-sandbox/zones/us-central1-c/instances/collector-operator-demo-env-67hd and health check projects/aggservice-sandbox/global/healthChecks/operator-demo-env-collector-auto-heal-hc.
                      TIMESTAMP: 
                      INSTANCE_TEMPLATE: https://www.googleapis.com/compute/v1/projects/aggservice-sandbox/global/instanceTemplates/operator-demo-env-collector
                      VERSION_NAME: primary
                    
Si sigues viendo problemas, guarda esta información y proporciónasela a nuestro equipo. Continúa con los pasos siguientes.

¿Tu informe de resumen genera conversiones según lo esperado?

Puede surgir una situación en la que la llamada a getJob se realice correctamente, pero haya un problema con el informe de resumen que devuelve el Servicio de agregación. El informe de resumen tiene formato AVRO y deberá convertirse al formato JSON. Una vez convertido a formato JSON, se verá similar al siguiente.

{
  "bucket": "\u0005Y",
  "metric": 26308
}

Si la conversión de AVRO tiene algún problema, intenta usar las herramientas de AVRO y el siguiente comando en el informe de AVRO. java -jar avro-tools-1.11.1.jar tojson [report_name].avro > [report_name].json Puedes descargar las versiones estables desde aquí. Si necesitas más ayuda, continúa con los siguientes pasos.

Próximos pasos

Comprueba si alguien más tuvo el mismo problema en el Panel de estado de Privacy Sandbox o en el repositorio público de GitHub.

Si no ves una solución para tu problema con el Servicio de Agregación, infórmanos al respecto presentando un problema de GitHub o enviando el formulario de asistencia técnica.