Trabajar con el servicio de agregación en Google Cloud Platform (GCP)

1. 1. Requisitos previos

Tiempo estimado para completar la actividad: entre 1 y 2 horas

Hay 2 modos para realizar este codelab: Pruebas locales o Servicio de agregación. El modo de pruebas locales requiere una máquina local y el navegador Chrome (no se permite crear ni usar recursos de Google Cloud). El modo de servicio de agregación requiere una implementación completa del servicio de agregación en Google Cloud.

Para realizar este codelab en cualquier modo, se requieren algunos requisitos previos. Cada requisito se marca según corresponda, ya sea para pruebas locales o el servicio de agregación.

1.1. Completar la inscripción y la certificación (servicio de agregación)

Para usar las APIs de Privacy Sandbox, asegúrate de haber completado los pasos de Inscripción y certificación para Chrome y Android.

1.2. Habilita las APIs de Privacy Sandbox (prueba local y servicio de agregación)

Dado que utilizaremos Privacy Sandbox, te recomendamos que habilites las APIs de anuncios de Privacy Sandbox.

En tu navegador, ve a chrome://flags/#privacy-sandbox-ads-apis y habilita las APIs de Privacy Sandbox.

Habilitación de las APIs de Privacy Sandbox

Además, asegúrate de que tus cookies de terceros estén habilitadas.

En tu navegador, ve a chrome://settings/cookies. Asegúrate de que NO se bloqueen las cookies de terceros. Según tu versión de Chrome, es posible que veas diferentes opciones en este menú de configuración, pero las configuraciones aceptables incluyen las siguientes:

  • “Bloquear todas las cookies de terceros” = INHABILITADO
  • “Bloquear cookies de terceros” = INHABILITADO
  • "Bloquear cookies de terceros en el modo Incógnito" = HABILITADO

Habilitación de cookies

1.3. Cómo descargar la Herramienta de pruebas locales (pruebas locales)

Para las pruebas locales, debes descargar la herramienta de pruebas locales. La herramienta generará informes de resumen a partir de los informes de depuración sin encriptar.

La herramienta de pruebas locales está disponible para descargar en los archivos JAR de Cloud Functions en GitHub. Debe tener el nombre LocalTestingTool_{version}.jar.

1.4. Asegúrate de que JAVA JRE esté instalado (servicio de agregación y pruebas locales)

Abre "Terminal" y usa java --version para verificar si tu máquina tiene Java o openJDK instalados.

Cómo comprobar la versión de Java

Si no está instalada, puedes descargarla e instalarla desde el sitio de Java o el sitio de openJDK.

1.5. Descarga aggregatable_report_converter (servicio de agregación y pruebas locales)

Puedes descargar una copia del aggregatable_report_converter del repositorio de GitHub de demostraciones de Privacy Sandbox.

1.6. Configura un entorno de GCP (servicio de agregación)

El servicio de agregación requiere el uso de un entorno de ejecución confiable que use un proveedor de servicios en la nube. En este codelab, el servicio de agregación se implementará en GCP, pero AWS también es compatible.

1.6.1. Implementación

Sigue las instrucciones de implementación en GitHub para configurar gcloud CLI, descargar objetos binarios y módulos de Terraform y crear recursos de GCP para el servicio de agregación.

Pasos clave en las instrucciones de implementación:

  1. Configura la CLI de “gcloud” y Terraform en tu entorno.
  2. Crear un bucket de Cloud Storage para almacenar el estado de Terraform
  3. Descarga las dependencias.
  4. Actualiza adtech_setup.auto.tfvars y ejecuta el comando de Terraform adtech_setup. Consulta el apéndice para ver un archivo adtech_setup.auto.tfvars de ejemplo.
  5. Actualiza dev.auto.tfvars, usa la identidad de la cuenta de servicio de implementación y ejecuta Terraform dev. Consulta el apéndice para ver un archivo dev.auto.tfvars de ejemplo.
  6. Cuando se complete la implementación, captura frontend_service_cloudfunction_url del resultado de Terraform, que será necesario para hacer solicitudes al servicio de agregación en pasos posteriores.

1.6.2. Bucket de informes

Una vez que el proyecto esté configurado, crearás un bucket en Cloud Storage para almacenar los informes agregables y los informes de resumen de este codelab. Este es un comando de gcloud de ejemplo para crear un bucket. Reemplaza los marcadores de posición con un nombre y una ubicación que elijas.

gcloud storage buckets create gs://<bucket-name> --location=<location>

1.7. Integración completa del servicio de agregación (servicio de agregación)

El servicio de agregación requiere integrarse a los coordinadores para que puedan usarlo. Completa el formulario de integración del servicio de agregación. Para ello, proporciona tu sitio de informes y otra información, selecciona "Google Cloud" y, luego, ingresa la dirección de tu cuenta de servicio. Esta cuenta de servicio se crea en el requisito previo anterior (1.6. Configurar un entorno de GCP). (Sugerencia: Si usas los nombres predeterminados proporcionados, esta cuenta de servicio comenzará con "worker-sa@").

Espera hasta 2 semanas para que se complete el proceso de integración.

1.8. Determina tu método para llamar a los extremos de la API (servicio de agregación)

Este codelab proporciona 2 opciones para llamar a los extremos de la API de Aggregation Service: cURL y Postman. cURL es la forma más rápida y fácil de llamar a los extremos de la API desde tu terminal, ya que requiere una configuración mínima y no requiere software adicional. Sin embargo, si no deseas usar cURL, puedes usar Postman para ejecutar y guardar solicitudes a la API para usarlas en el futuro.

En la sección 3.2. Aggregation Service Usage, encontrará instrucciones detalladas para usar ambas opciones. Puedes obtener una vista previa ahora para determinar qué método usarás. Si seleccionas Postman, realiza la siguiente configuración inicial.

1.8.1. Configurar espacio de trabajo

Regístrate para obtener una cuenta de Postman. Una vez que te registres, se creará un lugar de trabajo automáticamente para ti.

Lugar de trabajo de Postman

Si no se crea un lugar de trabajo para ti, ve al elemento de navegación superior "Lugares de trabajo" y selecciona "Crear lugar de trabajo".

Selecciona “Blank workspace”, haz clic en Siguiente y asígnale el nombre “GCP Privacy Sandbox”. Selecciona "Personal" y haz clic en "Crear".

Descarga la configuración de JSON y los archivos del entorno global del lugar de trabajo preconfigurados.

Importa ambos archivos JSON a “Mi espacio de trabajo” con el botón “Importar”.

Botón Importar

Esto creará la colección "GCP Privacy Sandbox" junto con las solicitudes HTTP createJob y getJob.

1.8.2. Configura la autorización

Haz clic en la colección “GCP Privacy Sandbox” y navega a la pestaña “Autorización”.

Botón de autorización

Usarás el método "Bearer Token". Desde tu entorno de terminal, ejecuta este comando y copia el resultado.

gcloud auth print-identity-token

Luego, pega este valor del token en el campo "Token" de la pestaña de autorización de Postman:

Campo de token

1.8.3. Cómo configurar el entorno

Navega a la "Vista rápida del entorno" en la esquina superior derecha:

Botón Entorno

Haz clic en “Editar” y actualiza el “Valor actual” de “entorno”, “región” y “cloud-function-id”:

Establecer valores actuales

Por ahora, puedes dejar "request-id" en blanco, ya que completaremos la información más adelante. Para los otros campos, usa los valores de frontend_service_cloudfunction_url, que se mostraron cuando se completó correctamente la implementación de Terraform en el requisito 1.6. La URL tiene este formato: https://--frontend-service--uc.a.run.app

2. 2. Codelab de pruebas locales

Tiempo estimado para completar la actividad: menos de 1 hora

Puedes usar la herramienta de pruebas local en tu máquina para realizar agregaciones y generar informes de resumen con los informes de depuración sin encriptar. Antes de comenzar, asegúrate de haber completado todos los requisitos previos etiquetados como "Prueba local".

Pasos del codelab

Paso 2.1: Activar informe: Activa los informes de agregación privada para poder recopilar el informe.

Paso 2.2: Crear informe AVRO de depuración: Convierte el informe JSON recopilado en un informe con formato AVRO. Este paso será similar a cuando las AdTech recopilan los informes de los extremos de informes de la API y convierten los informes JSON en informes con formato AVRO.

Paso 2.3: Recupera las claves de bucket: Las AdTech diseñan las claves de bucket. En este codelab, debido a que los buckets están predefinidos, recupera las claves del bucket como se proporcionan.

Paso 2.4: Crea el dominio de salida AVRO: Una vez que se recuperen las claves del bucket, crea el archivo AVRO del dominio de salida.

Paso 2.5: Crea un informe de resumen: Usa la herramienta de prueba local para poder crear informes de resumen en el entorno local.

Paso 2.6: Revisar los informes de resumen: Revisa el informe de resumen que crea la Herramienta de pruebas locales.

2.1. Activar informe

Para activar un informe de agregación privado, puedes usar el sitio de demostración de Privacy Sandbox (https://privacy-sandbox-demos-news.dev/?env=gcp) o tu propio sitio (p.ej., https://adtechexample.com). Si usas tu propio sitio y no completaste la Inscripción y certificación ni la Incorporación del servicio de agregación, deberás usar una marca de Chrome y un interruptor de la CLI.

Para esta demostración, usaremos el sitio de demostración de Privacy Sandbox. Sigue el vínculo para ir al sitio. Luego, podrás ver los informes en chrome://private-aggregation-internals:

Página de Chrome Internals

El informe que se envía al extremo {reporting-origin}/.well-known/private-aggregation/debug/report-shared-storage también se encuentra en el "Cuerpo del informe" de los informes que se muestran en la página de información interna de Chrome.

Es posible que veas muchos informes aquí, pero para este codelab, usa el informe agregable que es específico de GCP y que genera el extremo de depuración. La "URL del informe" contendrá "/debug/" y el aggregation_coordinator_origin field del "Cuerpo del informe" contendrá esta URL: https://publickeyservice.msmt.gcp.privacysandboxservices.com.

Informe de depuración de GCP

2.2. Crear informe agregable de depuración

Copia el informe que se encuentra en el "Cuerpo del informe" de chrome://private-aggregation-internals y crea un archivo JSON en la carpeta privacy-sandbox-demos/tools/aggregatable_report_converter/out/artifacts/aggregatable_report_converter_jar (dentro del repo descargado en el requisito 1.5).

En este ejemplo, usamos Vim, ya que usamos Linux. Pero puedes usar el editor de texto que desees.

vim report.json

Pega el informe en report.json y guarda el archivo.

JSON del informe

Una vez que tengas eso, usa aggregatable_report_converter.jar para ayudar a crear el informe agregable de depuración. Esto crea un informe agregable llamado report.avro en tu directorio actual.

java -jar aggregatable_report_converter.jar \
  --request_type convertToAvro \
  --input_file report.json \
  --debug

2.3. Recupera la clave del bucket del informe

Para crear el archivo output_domain.avro, necesitas las claves del bucket que se pueden recuperar a partir de los informes.

La AdTech diseña las claves de buckets. Sin embargo, en este caso, la demostración de Privacy Sandbox del sitio crea las claves del bucket. Dado que la agregación privada para este sitio está en modo de depuración, podemos usar el debug_cleartext_payload del "Cuerpo del informe" para obtener la clave del bucket.

Copia el debug_cleartext_payload del cuerpo del informe.

Depurar la carga útil de texto simple

Abre goo.gle/ags-payload-decoder, pega tu debug_cleartext_payload en el cuadro "INPUT" y haz clic en "Decode".

Botón para decodificar

La página muestra el valor decimal de la clave de bucket. A continuación, se muestra una clave de bucket de muestra.

Clave del bucket

2.4. Crear AVRO de dominio de salida

Ahora que tenemos la clave del bucket, creemos el output_domain.avro en la misma carpeta en la que estuvimos trabajando. Asegúrate de reemplazar la clave del bucket por la que recuperaste.

java -jar aggregatable_report_converter.jar \
  --request_type createDomainAvro \
  --bucket_key <bucket key>

La secuencia de comandos crea el archivo output_domain.avro en tu carpeta actual.

2.5. Cómo crear informes de resumen con la Herramienta de pruebas locales

Usaremos el LocalTestingTool_{version}.jar que se descargó en el requisito 1.3 para crear los informes de resumen con el siguiente comando. Reemplaza {version} por la versión que descargaste. Recuerda mover LocalTestingTool_{version}.jar al directorio actual o agregar una ruta de acceso relativa para hacer referencia a su ubicación actual.

java -jar LocalTestingTool_{version}.jar \
  --input_data_avro_file report.avro \
  --domain_avro_file output_domain.avro \
  --output_directory .

Una vez que se ejecute el comando, deberías ver algo similar a lo que se muestra a continuación. Cuando se complete, se creará un informe output.avro.

AVRO de salida

2.6. Revisa el informe de resumen

El informe de resumen que se crea está en formato AVRO. Para poder leerlo, debes convertirlo de AVRO a un formato JSON. Lo ideal es que la AdTech escriba código para volver a convertir los informes AVRO a JSON.

Usaremos aggregatable_report_converter.jar para volver a convertir el informe AVRO a JSON.

java -jar aggregatable_report_converter.jar \
  --request_type convertToJson \
  --input_file output.avro

Se mostrará un informe similar al que se muestra a continuación. Junto con un informe output.json creado en el mismo directorio.

JSON de salida

3. 3. Codelab del servicio de agregación

Tiempo estimado para completar la actividad: 1 hora

Antes de comenzar, asegúrate de haber completado todos los requisitos previos etiquetados como "Servicio de agregación".

Pasos del codelab

Paso 3.1: Creación de entradas de servicio de agregación: Crea los informes del servicio de agregación que se agrupan en lotes para el servicio de agregación.

  • Paso 3.1.1: Activar informe
  • Paso 3.1.2: Recopila informes agregables
  • Paso 3.1.3: Convertir informes a AVRO
  • Paso 3.1.4: Crear archivo AVRO de dominio de salida
  • Paso 3.1.5. Traslada informes al bucket de Cloud Storage

Paso 3.2: Aggregation Service Usage: Utilice la API de Aggregation Service para crear informes de resumen y revisar los informes de resumen.

  • Paso 3.2.1: Usa createJob extremo para agrupar en lotes
  • Paso 3.2.2: Usando getJob extremo para recuperar el estado del lote
  • Paso 3.2.3: Revisión del informe de resumen

3.1. Creación de entradas de servicio de agregación

Continúa con la creación de los informes AVRO para agrupar en lotes el servicio de agregación. Los comandos de shell en estos pasos se pueden ejecutar en Cloud Shell de GCP (siempre que las dependencias de los requisitos previos estén clonadas en tu entorno de Cloud Shell) o en un entorno de ejecución local.

3.1.1. Activar informe

Sigue el vínculo para ir al sitio. Luego, podrás ver los informes en chrome://private-aggregation-internals:

Página de Chrome Internals

El informe que se envía al extremo {reporting-origin}/.well-known/private-aggregation/debug/report-shared-storage también se encuentra en el "Cuerpo del informe" de los informes que se muestran en la página de información interna de Chrome.

Es posible que veas muchos informes aquí, pero para este codelab, usa el informe agregable que es específico de GCP y que genera el extremo de depuración. La "URL del informe" contendrá "/debug/" y el aggregation_coordinator_origin field del "Cuerpo del informe" contendrá esta URL: https://publickeyservice.msmt.gcp.privacysandboxservices.com.

Informe de depuración de GCP

3.1.2. Recopila informes agregables

Recopila tus informes agregables de los extremos .well-known de tu API correspondiente.

  • Agregación privada: {reporting-origin}/.well-known/private-aggregation/report-shared-storage
  • Attribution Reporting: Informe de resumen: {reporting-origin}/.well-known/attribution-reporting/report-aggregate-attribution

En este codelab, realizamos la recopilación de informes de forma manual. En producción, se espera que las AdTech recopilen y conviertan los informes de manera programática.

Copiemos el informe JSON en el "Cuerpo del informe" de chrome://private-aggregation-internals.

En este ejemplo, usamos Vim, ya que usamos Linux. Pero puedes usar el editor de texto que desees.

vim report.json

Pega el informe en report.json y guarda el archivo.

JSON del informe

3.1.3. Convertir informes a AVRO

Los informes recibidos de los extremos .well-known están en formato JSON y se deben convertir al formato de informe AVRO. Una vez que tengas el informe JSON, navega hasta donde se almacena report.json y usa aggregatable_report_converter.jar para crear el informe agregable de depuración. Esto crea un informe agregable llamado report.avro en tu directorio actual.

java -jar aggregatable_report_converter.jar \
  --request_type convertToAvro \
  --input_file report.json

3.1.4. Crear archivo AVRO de dominio de salida

Para crear el archivo output_domain.avro, necesitas las claves del bucket que se pueden recuperar a partir de los informes.

La AdTech diseña las claves de buckets. Sin embargo, en este caso, la demostración de Privacy Sandbox del sitio crea las claves del bucket. Dado que la agregación privada para este sitio está en modo de depuración, podemos usar el debug_cleartext_payload del "Cuerpo del informe" para obtener la clave del bucket.

Copia el debug_cleartext_payload del cuerpo del informe.

Depurar la carga útil de texto simple

Abre goo.gle/ags-payload-decoder, pega tu debug_cleartext_payload en el cuadro "INPUT" y haz clic en "Decode".

Botón para decodificar

La página muestra el valor decimal de la clave de bucket. A continuación, se muestra una clave de bucket de muestra.

Clave del bucket

Ahora que tenemos la clave del bucket, creemos el output_domain.avro en la misma carpeta en la que estuvimos trabajando. Asegúrate de reemplazar la clave del bucket por la que recuperaste.

java -jar aggregatable_report_converter.jar \
  --request_type createDomainAvro \
  --bucket_key <bucket key>

La secuencia de comandos crea el archivo output_domain.avro en tu carpeta actual.

3.1.5. Traslada informes al bucket de Cloud Storage

Una vez creados los informes AVRO y el dominio de salida, mueve los informes y el dominio de salida al bucket de Cloud Storage (que creaste como paso final en el requisito 1.6).

Si configuraste gcloud CLI en tu entorno local, usa los siguientes comandos para copiar los archivos en las carpetas correspondientes.

gcloud storage cp report.avro gs://<bucket_name>/reports/

gcloud storage cp output_domain.avro gs://<bucket_name>/output_domain/

De lo contrario, sube los archivos a tu bucket de forma manual. Crea una carpeta llamada "reports" y sube allí el archivo report.avro. Crea una carpeta llamada “output_domains” y sube allí el archivo output_domain.avro.

3.2. Uso del servicio de agregación

Recuerda que, en el requisito previo 1.8, seleccionaste cURL o Postman para realizar solicitudes a la API en los extremos del servicio de agregación. A continuación, encontrará las instrucciones para ambas opciones.

3.2.1. Usa createJob extremo para agrupar en lotes

Usa las instrucciones de cURL o Postman que aparecen a continuación para crear un trabajo.

cURL

En tu "Terminal", crea un archivo en el cuerpo de la solicitud (body.json) y pega el siguiente texto. Asegúrate de actualizar los valores del marcador de posición. Consulta esta documentación de la API para obtener más información sobre lo que representa cada campo.

{
  "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>",
    "report_error_threshold_percentage": "10",
    "debug_run": "true"
  }
}

Ejecuta la siguiente solicitud. Reemplaza los marcadores de posición en la URL de la solicitud cURL con los valores de frontend_service_cloudfunction_url, que se generan después de completar correctamente la implementación de Terraform en el requisito 1.6.

curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" \
  -d @body.json \
  https://<environment>-<region>-frontend-service-<cloud-function-id>-uc.a.run.app/v1alpha/createJob

Deberías recibir una respuesta HTTP 202 una vez que el servicio de agregación acepte la solicitud. Otros códigos de respuesta posibles están documentados en las especificaciones de la API.

Postman

Para el extremo createJob, se requiere un cuerpo de solicitud a fin de proporcionar al servicio de agregación la ubicación y los nombres de archivo de los informes agregables, los dominios de salida y los informes de resumen.

Navega a la pestaña "Cuerpo" de la solicitud createJob:

Pestaña Cuerpo

Reemplaza los marcadores de posición en el JSON proporcionado. Para obtener más información sobre estos campos y lo que representan, consulta la documentación de la API.

{
  "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>",
    "report_error_threshold_percentage": "10",
    "debug_run": "true"
  }
}

"Envía" la solicitud a la API de createJob:

Botón Enviar

El código de respuesta se puede encontrar en la mitad inferior de la página:

Código de respuesta

Deberías recibir una respuesta HTTP 202 una vez que el servicio de agregación acepte la solicitud. Otros códigos de respuesta posibles están documentados en las especificaciones de la API.

3.2.2. Usando getJob extremo para recuperar el estado del lote

Usa las instrucciones de cURL o Postman que aparecen a continuación para conseguir un empleo.

cURL

Ejecuta la siguiente solicitud en tu terminal. Reemplaza los marcadores de posición en la URL por los valores de frontend_service_cloudfunction_url, que es la misma URL que usaste para la solicitud createJob. En “job_request_id”, usa el valor del trabajo que creaste con el extremo createJob.

curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" \
  https://<environment>-<region>-frontend-service-<cloud-function-id>-uc.a.run.app/v1alpha/getJob?job_request_id=<job_request_id>

El resultado debería mostrar el estado de tu solicitud de trabajo con un estado HTTP de 200. La solicitud "Body" contiene la información necesaria, como job_status, return_message y error_messages (si se produjo un error en el trabajo).

Postman

Para verificar el estado de la solicitud de trabajo, puedes usar el extremo getJob. En la sección "Params" de la solicitud getJob, actualiza el valor job_request_id a la job_request_id que se envió en la solicitud createJob.

ID de solicitud de trabajo

"Envía" la solicitud getJob:

Botón Enviar

El resultado debería mostrar el estado de tu solicitud de trabajo con un estado HTTP de 200. La solicitud "Body" contiene la información necesaria, como job_status, return_message y error_messages (si se produjo un error en el trabajo).

Respuesta JSON

3.2.3. Revisión del informe de resumen

Una vez que recibas el informe de resumen en el bucket de salida de Cloud Storage, podrás descargarlo en tu entorno local. Los informes de resumen están en formato AVRO y se pueden volver a convertir a JSON. Puedes usar aggregatable_report_converter.jar para leer tu informe con el siguiente comando.

java -jar aggregatable_report_converter.jar \
  --request_type convertToJson \
  --input_file <summary_report_avro>

Esto muestra un archivo JSON de los valores agregados de cada clave de bucket, que es similar al siguiente.

Informe de resumen

Si tu solicitud createJob incluye debug_run como verdadero, puedes recibir tu informe de resumen en la carpeta de depuración que se encuentra en output_data_blob_prefix. El informe está en formato AVRO y se puede convertir a JSON usando el comando anterior.

El informe contiene la clave de bucket, la métrica sin ruido y el ruido que se agrega a la métrica sin ruido para formar el informe de resumen. El informe es similar al siguiente.

Informe con ruido

Las anotaciones también contienen "in_reports" o "in_domain", lo que significa lo siguiente:

  • in_reports: La clave de bucket está disponible dentro de los informes agregables.
  • in_domain: La clave del bucket está disponible dentro del archivo AVRO de output_domain.

4. 4. Corrección

Si deseas borrar los recursos creados para el servicio de agregación a través de Terraform, usa el comando destroy en las carpetas adtech_setup y dev (o en otro entorno):

$ cd <repository_root>/terraform/gcp/environments/adtech_setup
$ terraform destroy
$ cd <repository_root>/terraform/gcp/environments/dev
$ terraform destroy

Para borrar el bucket de Cloud Storage que contiene tus informes agregables y los informes de resumen, haz lo siguiente:

$ gcloud storage buckets delete gs://my-bucket

También puedes revertir la configuración de cookies de Chrome del requisito previo 1.2 a su estado anterior.

5. 5. Apéndice

Archivo adtech_setup.auto.tfvars de ejemplo

/**
 * Copyright 2023 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

project = "my-project-id"

# Required to generate identity token for access of Adtech Services API endpoints
service_account_token_creator_list = ["user:me@email.com"]

# Uncomment the below line if you like Terraform to create an Artifact registry repository
# for self-build container artifacts. "artifact_repo_location" defaults to "us".
artifact_repo_name     = "my-ags-artifacts"

# Note: Either one of [1] or [2] must be uncommented.

# [1] Uncomment below lines if you like Terraform grant needed permissions to
# pre-existing service accounts
# deploy_service_account_email = "<YourDeployServiceAccountName>@<ProjectID>.iam.gserviceaccount.com"
# worker_service_account_email = "<YourWorkerServiceAccountName>@<ProjectID>.iam.gserviceaccount.com"

# [2] Uncomment below lines if you like Terraform to create service accounts
# and needed permissions granted e.g "deploy-sa" or "worker-sa"
deploy_service_account_name = "deploy-sa"
worker_service_account_name = "worker-sa"
# Uncomment the below line if you want Terraform to create the
# below bucket. "data_bucket_location" defaults to "us".
data_bucket_name     = "my-ags-data"

# Uncomment the below lines if you want to specify service account customer role names
# deploy_sa_role_name = "<YourDeploySACustomRole>"
# worker_sa_role_name = "<YourWorkerSACustomRole>"

Archivo dev.auto.tfvars de ejemplo

/**
 * Copyright 2022 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

# Example values required by job_service.tf
#
# These values should be modified for each of your environments.
region      = "us-central1"
region_zone = "us-central1-c"

project_id  = "my-project-id"
environment = "operator-demo-env"

# Co-locate your Cloud Spanner instance configuration with the region above.
# https://cloud.google.com/spanner/docs/instance-configurations#regional-configurations
spanner_instance_config = "regional-us-central1"

# Adjust this based on the job load you expect for your deployment.
# Monitor the spanner instance utilization to decide on scale out / scale in.
# https://console.cloud.google.com/spanner/instances
spanner_processing_units = 100

# Uncomment the line below at your own risk to disable Spanner database protection.
# This needs to be set to false and applied before destroying all resources is possible.
spanner_database_deletion_protection = false

instance_type = "n2d-standard-8" # 8 cores, 32GiB

# Container image location that packages the job service application
# If not set otherwise, uncomment and edit the line below:
#worker_image = "<location>/<project>/<repository>/<image>:<tag or digest>"

# Service account created and onboarded for worker
user_provided_worker_sa_email = "worker-sa@my-project-id.iam.gserviceaccount.com"

min_worker_instances = 1
max_worker_instances = 20