1. 1. Pré-requisitos
Tempo estimado para a conclusão: de 1 a 2 horas
Há dois modos para realizar este codelab: teste local ou serviço de agregação. O modo de teste local requer uma máquina local e o navegador Chrome (sem criação/uso de recursos do Google Cloud). O modo de serviço de agregação requer uma implantação completa do serviço de agregação no Google Cloud.
Para realizar este codelab em qualquer modo, alguns pré-requisitos são necessários. Cada requisito é marcado conforme necessário para o teste local ou o serviço de agregação.
1.1. Inscrição e atestado completos (serviço de agregação)
Para usar as APIs do Sandbox de privacidade, confira se você concluiu a inscrição e a certificação para o Chrome e o Android.
1.2. Ativar APIs de privacidade de anúncios (teste local e serviço de agregação)
Como vamos usar o Sandbox de privacidade, recomendamos que você ative as APIs de anúncios do Sandbox de privacidade.
No navegador, acesse chrome://settings/adPrivacy
e ative todas as APIs de privacidade de anúncios.
Verifique também se os cookies de terceiros estão ativados.
Em chrome://settings/cookies
, confira se os cookies de terceiros NÃO estão sendo bloqueados. Dependendo da sua versão do Chrome, você verá diferentes opções nesse menu de configurações, mas as configurações aceitáveis são as seguintes:
- "Bloquear todos os cookies de terceiros" = DESATIVADO
- "Bloquear cookies de terceiros" = DESATIVADO
- "Bloquear cookies de terceiros no modo de navegação anônima" = ATIVADO
1.3. Fazer o download da Ferramenta de teste local
Para realizar testes locais, é necessário fazer o download da Ferramenta de teste local. A ferramenta vai gerar relatórios resumidos com base nos relatórios de depuração não criptografados.
A ferramenta de teste local está disponível para download nos arquivos JAR da função do Cloud no GitHub. Ele precisa ter o nome LocalTestingTool_{version}.jar
.
1.4. Verifique se o JAVA JRE está instalado (serviço de agregação e teste local)
Abra "Terminal" e use java --version
para verificar se a máquina tem o Java ou o openJDK instalado.
Se ele não estiver instalado, faça o download e instale-o no site do Java ou no site do openJDK (link em inglês).
1.5. Fazer o download de aggregatable_report_converter (serviço local de teste e agregação)
Você pode fazer o download de uma cópia do aggregatable_report_converter no repositório de demonstrações do Sandbox de privacidade do GitHub (em inglês). O repositório do GitHub menciona o uso do IntelliJ ou do Eclipse, mas nenhum dos dois é obrigatório. Se você não usa essas ferramentas, faça o download do arquivo JAR para o ambiente local.
1.6. Configurar um ambiente do GCP (serviço de agregação)
O serviço de agregação requer um ambiente de execução confiável com um provedor de nuvem. Neste codelab, o serviço de agregação será implantado no GCP, mas a AWS também tem suporte.
Siga as Instruções de implantação no GitHub para configurar a CLI gcloud, fazer o download de binários e módulos do Terraform e criar recursos do GCP para o serviço de agregação.
Principais etapas nas instruções de implantação:
- Configurar a "gcloud" CLI e Terraform no seu ambiente.
- Criar um bucket do Cloud Storage para armazenar o estado do Terraform.
- Faça o download das dependências.
- Atualize
adtech_setup.auto.tfvars
e execute o Terraformadtech_setup
. Consulte o Apêndice para encontrar um exemplo de arquivoadtech_setup.auto.tfvars
. Anote o nome do bucket de dados criado aqui. Ele será usado no codelab para armazenar os arquivos criados. - Atualize
dev.auto.tfvars
, personifique a conta de serviço de implantação e execute o Terraformdev
. Consulte o Apêndice para encontrar um exemplo de arquivodev.auto.tfvars
. - Quando a implantação estiver concluída, capture
frontend_service_cloudfunction_url
da saída do Terraform, que será necessária para fazer solicitações ao serviço de agregação em etapas posteriores.
1,7. Integração completa do serviço de agregação (serviço de agregação)
O serviço de agregação requer integração aos coordenadores para que eles possam usar o serviço. Preencha o formulário de integração do serviço de agregação. Para isso, informe o site dos relatórios e outras informações, selecione "Google Cloud" e digite o endereço da conta de serviço. Essa conta de serviço é criada no pré-requisito anterior (1.6. Configure um ambiente do GCP). Dica: se você usar os nomes padrão fornecidos, essa conta de serviço começará com "worker-sa@".
Aguarde até duas semanas para que o processo de integração seja concluído.
1,8. Determinar o método para chamar os endpoints da API (serviço de agregação)
Este codelab oferece duas opções para chamar os endpoints da API Aggregate Service: cURL e Postman. O cURL é a maneira mais rápida e fácil de chamar os endpoints de API do seu terminal, porque requer configuração mínima e nenhum software adicional. No entanto, se você não quiser usar cURL, poderá usar o Postman para executar e salvar solicitações de API para uso futuro.
Na seção 3.2. uso do serviço de agregação, você vai encontrar instruções detalhadas para usar as duas opções. Você pode visualizá-las agora para determinar qual método usará. Se você selecionar Postman, faça a configuração inicial a seguir.
1.8.1. Configurar espaço de trabalho
Crie uma conta do Postman. Após a inscrição, um espaço de trabalho será criado automaticamente.
Se um espaço de trabalho não for criado para você, acesse "Espaços de trabalho" o item de navegação da parte de cima e selecione "Criar espaço de trabalho".
Selecione "Espaço de trabalho em branco", clique em "Próxima" e nomeie-o como "Sandbox de privacidade do GCP". Selecione "Pessoal" e clique em "Criar".
Faça o download da configuração JSON e dos arquivos de ambiente global pré-configurados do espaço de trabalho.
Importe os dois arquivos JSON para "Meu espaço de trabalho". na guia "Importar" .
Isso vai criar o "Sandbox de privacidade do GCP" para você junto com as solicitações HTTP createJob
e getJob
.
1.8.2. configurar a autorização
Clique em "Sandbox de privacidade do GCP". e acesse "Autorização" .
Você usará o token do portador . No ambiente do terminal, execute este comando e copie a saída.
gcloud auth print-identity-token
Em seguida, cole o valor do token em "Token" da guia "Autorização do Postman":
1.8.3. Configurar o ambiente
Acesse a "Visualização rápida do ambiente" no canto superior direito:
Clique em "Editar" e atualize o "Valor atual" de "environment", "region" e "cloud-function-id":
Você pode deixar "request-id" em branco por enquanto, pois vamos preenchê-lo mais tarde. Para os outros campos, use os valores de frontend_service_cloudfunction_url
, que foram retornados após a conclusão da implantação do Terraform no Pré-requisito 1.6. O URL segue este formato: https://
2. 2. Codelab de testes locais
Tempo estimado para a conclusão: <1 hora
Você pode usar a ferramenta de teste local na sua máquina para agregar e gerar relatórios de resumo com os relatórios de depuração não criptografados. Antes de começar, verifique se você concluiu todos os pré-requisitos identificados com "Teste local".
Etapas do codelab
Etapa 2.1. Acionar relatório: acione o relatório de agregação privada para coletar o relatório.
Etapa 2.2. Criar relatório de depuração AVRO: converta o relatório JSON coletado em um relatório formatado AVRO. Essa etapa será semelhante a quando as adTechs coletam os relatórios dos endpoints da API e convertem os relatórios JSON em relatórios formatados pelo AVRO.
Etapa 2.3. Recuperar as chaves de bucket: as chaves de bucket são projetadas por adTechs. Neste codelab, como os buckets são predefinidos, recupere as chaves de bucket conforme elas são fornecidas.
Etapa 2.4. Criar o domínio de saída AVRO: depois que as chaves de intervalo forem recuperadas, crie o arquivo AVRO do domínio de saída.
Etapa 2.5. Criar relatório de resumo: use a Ferramenta de teste local para criar relatórios de resumo no ambiente local.
Etapa 2.6. Analise os relatórios de resumo: consulte o relatório de resumo criado pela Ferramenta de teste local.
2.1. Acionar relatório
Para acionar um relatório de agregação particular, use o site de demonstração do Sandbox de privacidade (https://privacy-sandbox-demos-news.dev/?env=gcp) ou seu próprio site (por exemplo, https://adtechexample.com). Se estiver usando seu próprio site e não tiver concluído as etapas de Integração do serviço de agregação e atestados, você precisará usar uma sinalização do Chrome e um switch da CLI.
Para esta demonstração, vamos usar o site de demonstração do Sandbox de privacidade. Siga o link para acessar o site. Assim, você poderá visualizar os relatórios em chrome://private-aggregation-internals
:
O relatório enviado ao endpoint {reporting-origin}/.well-known/private-aggregation/debug/report-shared-storage
também pode ser encontrado no "Corpo do relatório" dos relatórios exibidos na página "Detalhes do Chrome".
Talvez apareçam muitos relatórios aqui, mas neste codelab, use o relatório agregável específico do GCP e gerado pelo endpoint de depuração. O URL do relatório conterá "/debug/" e o aggregation_coordinator_origin field
do campo "Corpo do relatório" conterá este URL: https://publickeyservice.msmt.gcp.privacysandboxservices.com.
2.2. Criar relatório agregável de depuração
Copie o relatório encontrado em "Corpo do relatório". de chrome://private-aggregation-internals
e crie um arquivo JSON na pasta privacy-sandbox-demos/tools/aggregatable_report_converter/out/artifacts/aggregatable_report_converter_jar
(dentro do repositório transferido por download no Pré-requisito 1.5).
Neste exemplo, estamos usando vim, já que estamos usando Linux. Mas você pode usar o editor de texto que quiser.
vim report.json
Cole o relatório em report.json
e salve o arquivo.
Depois disso, use aggregatable_report_converter.jar
para ajudar a criar o relatório agregável de depuração. Isso cria um relatório agregável chamado report.avro
no diretório atual.
java -jar aggregatable_report_converter.jar \
--request_type convertToAvro \
--input_file report.json \
--debug
2.3. Extrair a chave do bucket no relatório
Para criar o arquivo output_domain.avro
, você precisa das chaves de bucket que podem ser recuperadas dos relatórios.
As chaves de bucket são projetadas pela adTech. No entanto, nesse caso, o site da demonstração do Sandbox de privacidade cria as chaves do bucket. Como a agregação particular para esse site está no modo de depuração, podemos usar o debug_cleartext_payload
do "Corpo do relatório" para conseguir a chave do bucket.
Copie o debug_cleartext_payload
do corpo do relatório.
Abra goo.gle/ags-payload-decoder e cole o debug_cleartext_payload
na "ENTRADA". e clique em "Decodificar".
A página retorna o valor decimal da chave do bucket. Confira abaixo um exemplo de chave de bucket.
2.4. Criar domínio de saída AVRO
Agora que temos a chave do bucket, vamos criar o output_domain.avro
na mesma pasta em que estamos trabalhando. Substitua a chave do bucket pela chave do bucket que você recuperou.
java -jar aggregatable_report_converter.jar \
--request_type createDomainAvro \
--bucket_key <bucket key>
O script cria o arquivo output_domain.avro
na pasta atual.
2.5. Crie relatórios de resumo usando a Ferramenta de teste local
Usaremos o LocalTestingTool_{version}.jar
que foi baixado no Pré-requisito 1.3 para criar os relatórios de resumo usando o comando abaixo. Substitua {version}
pela versão que você transferiu por download. Não se esqueça de mover LocalTestingTool_{version}.jar
para o diretório atual ou adicionar um caminho relativo para se referir ao local atual.
java -jar LocalTestingTool_{version}.jar \
--input_data_avro_file report.avro \
--domain_avro_file output_domain.avro \
--output_directory .
Quando o comando for executado, você verá algo semelhante ao exemplo abaixo. Um relatório output.avro
será criado assim que esse processo for concluído.
2,6 Analise o relatório de resumo
O relatório de resumo que é criado está no formato AVRO. Para conseguir ler isso, é necessário converter o arquivo do AVRO para o formato JSON. O ideal é que a adTech escreva o código para converter os relatórios AVRO de volta em JSON.
Usaremos aggregatable_report_converter.jar
para converter o relatório AVRO de volta para JSON.
java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file output.avro
Isso vai retornar um relatório semelhante ao exemplo abaixo. Junto com um relatório output.json
criado no mesmo diretório.
Codelab concluído.
Resumo:você coletou um relatório de depuração, construiu um arquivo de domínio de saída e gerou um relatório de resumo usando a ferramenta de teste local que simula o comportamento de agregação do serviço de agregação.
Próximas etapas:agora que você testou a Ferramenta de teste local, faça o mesmo exercício com uma implantação em tempo real do serviço de agregação no seu ambiente. Revise os pré-requisitos para verificar se você configurou tudo para o "Serviço de agregação". e prossiga para a etapa 3.
3. 3. Codelab do serviço de agregação
Tempo estimado para a conclusão: 1 hora
Antes de começar, verifique se você concluiu todos os pré-requisitos rotulados com "Serviço de agregação".
Etapas do codelab
Etapa 3.1. Criação de entradas do serviço de agregação: crie os relatórios do serviço de agregação em lote para o serviço.
- Etapa 3.1.1. Acionar relatório
- Etapa 3.1.2. Coletar relatórios agregáveis
- Etapa 3.1.3. Converter relatórios para AVRO
- Etapa 3.1.4. Criar AVRO de domínio de saída
- Etapa 3.1.5. Mover relatórios para o bucket do Cloud Storage
Etapa 3.2. Uso do serviço de agregação: use a API Aggregate Service para criar e analisar os relatórios de resumo.
- Etapa 3.2.1. Usando o endpoint
createJob
para agrupar - Etapa 3.2.2. Como usar o endpoint
getJob
para recuperar o status do lote - Etapa 3.2.3. Revisão do relatório de resumo
3.1. Criação de entrada do serviço de agregação
Prossiga com a criação dos relatórios do AVRO para lotes para o serviço de agregação. Os comandos do shell nessas etapas podem ser executados no Cloud Shell do GCP (desde que as dependências dos pré-requisitos sejam clonadas no ambiente do Cloud Shell) ou em um ambiente de execução local.
3.1.1. Acionar relatório
Siga o link para acessar o site. Assim, você poderá visualizar os relatórios em chrome://private-aggregation-internals
:
O relatório enviado ao endpoint {reporting-origin}/.well-known/private-aggregation/debug/report-shared-storage
também pode ser encontrado no "Corpo do relatório" dos relatórios exibidos na página "Detalhes do Chrome".
Talvez apareçam muitos relatórios aqui, mas neste codelab, use o relatório agregável específico do GCP e gerado pelo endpoint de depuração. O URL do relatório conterá "/debug/" e o aggregation_coordinator_origin field
do campo "Corpo do relatório" conterá este URL: https://publickeyservice.msmt.gcp.privacysandboxservices.com.
3.1.2. Coletar relatórios agregáveis
Colete os relatórios agregáveis dos endpoints .well-known da API correspondente.
- Agregação particular:
{reporting-origin}/.well-known/private-aggregation/report-shared-storage
- Relatórios de atribuição – Relatório de resumo:
{reporting-origin}/.well-known/attribution-reporting/report-aggregate-attribution
Neste codelab, vamos coletar os relatórios manualmente. Na produção, as adtechs precisam coletar e converter os relatórios de forma programática.
Vamos copiar o relatório JSON em "Corpo do relatório" a partir de chrome://private-aggregation-internals
.
Neste exemplo, usamos vim porque estamos usando Linux. Mas você pode usar o editor de texto que quiser.
vim report.json
Cole o relatório em report.json
e salve o arquivo.
3.1.3. Converter relatórios para AVRO
Os relatórios recebidos dos endpoints .well-known
estão no formato JSON e precisam ser convertidos para o formato de relatório AVRO. Depois de ter o relatório JSON, navegue até onde report.json
está armazenado e use aggregatable_report_converter.jar
para ajudar a criar o relatório agregável de depuração. Isso cria um relatório agregável chamado report.avro
no diretório atual.
java -jar aggregatable_report_converter.jar \
--request_type convertToAvro \
--input_file report.json
3.1.4. Criar AVRO de domínio de saída
Para criar o arquivo output_domain.avro
, você precisa das chaves de bucket que podem ser recuperadas dos relatórios.
As chaves de bucket são projetadas pela adTech. No entanto, nesse caso, o site da demonstração do Sandbox de privacidade cria as chaves do bucket. Como a agregação particular para esse site está no modo de depuração, podemos usar o debug_cleartext_payload
do "Corpo do relatório" para conseguir a chave do bucket.
Copie o debug_cleartext_payload
do corpo do relatório.
Abra goo.gle/ags-payload-decoder e cole o debug_cleartext_payload
na "ENTRADA". e clique em "Decodificar".
A página retorna o valor decimal da chave do bucket. Confira abaixo um exemplo de chave de bucket.
Agora que temos a chave do bucket, vamos criar o output_domain.avro
na mesma pasta em que estamos trabalhando. Substitua a chave do bucket pela chave do bucket que você recuperou.
java -jar aggregatable_report_converter.jar \
--request_type createDomainAvro \
--bucket_key <bucket key>
O script cria o arquivo output_domain.avro
na pasta atual.
3.1.5. Mover relatórios para o bucket do Cloud Storage
Depois que os relatórios AVRO e o domínio de saída forem criados, prossiga para mover os relatórios e o domínio de saída para o bucket no Cloud Storage (que você anotou no Pré-requisito 1.6).
Se você tiver a configuração da CLI gcloud no ambiente local, use os comandos abaixo para copiar os arquivos para as pastas correspondentes.
gcloud storage cp report.avro gs://<bucket_name>/reports/
gcloud storage cp output_domain.avro gs://<bucket_name>/output_domain/
Caso contrário, faça o upload manual dos arquivos no bucket. Crie uma pasta chamada "relatórios" e faça upload do arquivo report.avro
lá. Crie uma pasta chamada "output_domains" e faça upload do arquivo output_domain.avro
lá.
3.2. Uso do serviço de agregação
Lembre-se de que, no Pré-requisito 1.8, você selecionou cURL ou Postman para fazer solicitações de API aos endpoints do serviço de agregação. Abaixo, você encontrará instruções para as duas opções.
Se o job falhar com um erro, consulte nossa documentação de solução de problemas no GitHub para mais informações sobre como proceder.
3.2.1. Usando o endpoint createJob
para agrupar
Use as instruções de cURL ou Postman abaixo para criar uma vaga.
cURL
No seu "Terminal", crie um arquivo de corpo da solicitação (body.json
) e cole o seguinte: Atualize os valores do marcador. Consulte a documentação da API para mais informações sobre o que cada campo representa.
{
"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"
}
}
Execute a solicitação abaixo. Substitua os marcadores no URL da solicitação cURL pelos valores de frontend_service_cloudfunction_url
, que são gerados após a conclusão da implantação do Terraform no Pré-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
Você vai receber uma resposta HTTP 202 quando a solicitação for aceita pelo serviço de agregação. Outros códigos de resposta possíveis estão documentados nas especificações da API.
Postman
Para o endpoint createJob
, é necessário um corpo de solicitação para fornecer ao serviço de agregação o local e os nomes de arquivo dos relatórios agregáveis, dos domínios de saída e dos relatórios de resumo.
Navegar até o "Corpo" da solicitação createJob
:
Substitua os marcadores de posição no JSON fornecido. Para mais informações sobre esses campos e o que eles representam, consulte a documentação da 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>",
"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"
}
}
"Enviar" a solicitação de API createJob
:
O código de resposta pode ser encontrado na metade inferior da página:
Você vai receber uma resposta HTTP 202 quando a solicitação for aceita pelo serviço de agregação. Outros códigos de resposta possíveis estão documentados nas especificações da API.
3.2.2. Como usar o endpoint getJob
para recuperar o status do lote
Use as instruções de cURL ou Postman abaixo para conseguir uma vaga.
cURL
Execute a solicitação abaixo no seu terminal. Substitua os marcadores de posição no URL pelos valores de frontend_service_cloudfunction_url
, que é o mesmo URL usado para a solicitação createJob
. Para "job_request_id", use o valor do job criado com o endpoint 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>
O resultado deve retornar o status da solicitação do job com um status HTTP 200. O "Corpo" da solicitação contém as informações necessárias, como job_status
, return_message
e error_messages
(se o job tiver gerado um erro).
Postman
Para verificar o status da solicitação do job, use o endpoint getJob
. Em "Parâmetros" da solicitação getJob
, atualize o valor job_request_id
para o job_request_id
que foi enviado na solicitação createJob
.
"Enviar" a solicitação getJob
:
O resultado deve retornar o status da solicitação do job com um status HTTP 200. O "Corpo" da solicitação contém as informações necessárias, como job_status
, return_message
e error_messages
(se o job tiver gerado um erro).
3.2.3. Revisão do relatório de resumo
Depois de receber o relatório de resumo no bucket de saída do Cloud Storage, faça o download dele para o ambiente local. Os relatórios de resumo estão no formato AVRO e podem ser convertidos de volta para um JSON. Use aggregatable_report_converter.jar
para ler o relatório usando o comando abaixo.
java -jar aggregatable_report_converter.jar \
--request_type convertToJson \
--input_file <summary_report_avro>
Isso retorna um json com os valores agregados de cada chave de bucket que é semelhante ao exemplo abaixo.
Se a solicitação createJob
incluir debug_run
como "true", você poderá receber o relatório de resumo na pasta de depuração, localizada em output_data_blob_prefix
. O relatório está no formato AVRO e pode ser convertido usando o comando acima para um JSON.
O relatório contém a chave do bucket, a métrica sem ruído e o ruído que é adicionado à métrica sem ruído para formar o relatório de resumo. O relatório é semelhante ao mostrado abaixo.
As anotações também contêm "in_reports" e/ou "in_domain" que significa:
- in_reports: a chave do bucket está disponível nos relatórios agregáveis.
- in_domain - a chave do bucket está disponível dentro do arquivo AVRO output_domain.
Codelab concluído.
Resumo: você implantou o serviço de agregação no seu próprio ambiente de nuvem, coletou um relatório de depuração, construiu um arquivo de domínio de saída, armazenou esses arquivos em um bucket do Cloud Storage e executou um job.
Próximas etapas:continue usando o serviço de agregação no seu ambiente ou exclua os recursos de nuvem que você acabou de criar seguindo as instruções de limpeza na etapa 4.
4. 4. Limpeza
Para excluir os recursos criados para o serviço de agregação pelo Terraform, use o comando destroy nas pastas adtech_setup
e dev
(ou de outro ambiente):
$ cd <repository_root>/terraform/gcp/environments/adtech_setup
$ terraform destroy
$ cd <repository_root>/terraform/gcp/environments/dev
$ terraform destroy
Para excluir o bucket do Cloud Storage que contém os relatórios agregáveis e de resumo:
$ gcloud storage buckets delete gs://my-bucket
Também é possível reverter as configurações de cookies do Chrome do Pré-requisito 1.2 para o estado anterior.
5. 5. Apêndice
Exemplo de arquivo adtech_setup.auto.tfvars
:
/**
* 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>"
Exemplo de arquivo dev.auto.tfvars
:
/**
* 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