Este guia ajuda a compreender, implementar e usar a solução de arranque rápido do Analytics lakehouse. Esta solução demonstra como pode unificar lagos de dados e armazéns de dados criando um lakehouse de estatísticas para armazenar, processar, analisar e ativar dados através de uma pilha de dados unificada.
Seguem-se alguns exemplos de utilização comuns para criar um lakehouse de estatísticas:
- Análise em grande escala de dados de telemetria combinados com dados de relatórios.
- Unificar a análise de dados estruturados e não estruturados.
- Fornecer capacidades de estatísticas em tempo real para um armazém de dados.
Este documento destina-se a programadores que têm alguma experiência em análise de dados e usaram uma base de dados ou um data lake para realizar uma análise. Parte do princípio que tem conhecimentos básicos sobre os conceitos da nuvem, embora não necessariamente sobre oGoogle Cloud. A experiência com o Terraform é útil.
Objetivos
- Saiba como configurar um lakehouse de estatísticas.
- Proteja um lakehouse de análise com uma camada de governação comum.
- Criar painéis de controlo a partir dos dados para realizar a análise de dados.
- Crie um modelo de aprendizagem automática para prever valores de dados ao longo do tempo.
Produtos usados
A solução usa os seguintes Google Cloud produtos:
- BigQuery: Um armazém de dados altamente escalável e totalmente gerido com capacidades de aprendizagem automática incorporadas.
- Dataproc: Um serviço totalmente gerido para modernização de lagos de dados, ETL e ciência de dados segura, em grande escala.
- Looker Studio: Plataforma de Business Intelligence self-service que ajuda a criar e partilhar estatísticas de dados.
- Catálogo universal do Dataplex: Descubra, faça a gestão, monitorize e governe os dados de forma centralizada em grande escala.
- Cloud Storage: Um serviço pronto para empresas que oferece armazenamento de objetos ilimitado e de baixo custo para diversos tipos de dados. Os dados são acessíveis a partir de dentro e fora do Google Cloud e são replicados de forma georredundante.
- BigLake: O BigLake é um motor de armazenamento que unifica os armazéns de dados e os lagos de dados, permitindo que o BigQuery e as frameworks de código aberto, como o Spark, acedam aos dados com controlo de acesso detalhado.
Os seguintes Google Cloud produtos são usados para preparar dados na solução para a primeira utilização:
- Fluxos de trabalho: Uma plataforma de orquestração totalmente gerida que executa serviços numa ordem especificada como um fluxo de trabalho. Os fluxos de trabalho podem combinar serviços, incluindo: serviços personalizados alojados no Cloud Run ou nas funções do Cloud Run, Google Cloud serviços como o BigQuery e qualquer API baseada em HTTP.
Arquitetura
A arquitetura de lakehouse de exemplo que esta solução implementa analisa um conjunto de dados de comércio eletrónico para compreender o desempenho de um retalhista ao longo do tempo. O diagrama seguinte mostra a arquitetura dos Google Cloud recursos que a solução implementa.
Fluxo de soluções
A arquitetura representa um fluxo de dados comum para preencher e transformar dados numa arquitetura de data lakehouse de estatísticas:
- Os dados são carregados para contentores do Cloud Storage.
- É criado um lago de dados no catálogo universal do Dataplex. Os dados nos contentores são organizados em entidades ou tabelas no data lake.
- As tabelas no lago de dados estão imediatamente disponíveis no BigQuery como tabelas do BigLake: .
- Transformações de dados com o Dataproc ou o BigQuery, e utilização de formatos de ficheiros abertos, incluindo o Apache Iceberg.
- Os dados podem ser protegidos através de etiquetas de políticas e políticas de acesso ao nível da linha.
- A aprendizagem automática pode ser aplicada às tabelas.
- Os painéis de controlo são criados a partir dos dados para realizar mais análises através do Looker Studio.
Custo
Para uma estimativa do custo dos Google Cloud recursos que a solução de lakehouse de estatísticas usa, consulte a estimativa pré-calculada na Google Cloud calculadora de preços.
Use a estimativa como ponto de partida para calcular o custo da implementação. Pode modificar a estimativa para refletir quaisquer alterações de configuração que planeie fazer aos recursos usados na solução.
A estimativa pré-calculada baseia-se em pressupostos para determinados fatores, incluindo o seguinte:
- As Google Cloud localizações onde os recursos são implementados.
- O tempo durante o qual os recursos são usados.
Antes de começar
Para implementar esta solução, primeiro, precisa de um Google Cloud projeto e de algumas autorizações da IAM.
Crie ou escolha um Google Cloud projeto
Quando implementa a solução, escolhe o Google Cloud projeto onde os recursos são implementados. Pode criar um novo projeto ou usar um projeto existente para a implementação.
Se quiser criar um novo projeto, faça-o antes de iniciar a implementação. A utilização de um novo projeto pode ajudar a evitar conflitos com recursos aprovisionados anteriormente, como recursos usados para cargas de trabalho de produção.
Para criar um projeto, conclua os seguintes passos:
-
Ensure that you have the Project Creator IAM role
(
roles/resourcemanager.projectCreator
). Learn how to grant roles. -
In the Google Cloud console, go to the project selector page.
-
Click Create project.
-
Name your project. Make a note of your generated project ID.
-
Edit the other fields as needed.
-
Click Create.
Obtenha as autorizações de IAM necessárias
Para iniciar o processo de implementação, precisa das autorizações da gestão de identidade e de acesso (IAM) indicadas na tabela seguinte.
Se criou um novo projeto para esta solução, tem a roles/owner
função básica
nesse projeto e tem todas as autorizações necessárias. Se não tiver a função de
roles/owner
, peça ao administrador para lhe conceder estas autorizações (ou as funções que incluem estas autorizações).
Autorização de IAM necessária | Função predefinida que inclui as autorizações necessárias |
---|---|
|
Administrador de utilização de serviços ( roles/serviceusage.serviceUsageAdmin ) |
|
Administrador da conta de serviço ( roles/iam.serviceAccountAdmin ) |
|
Project IAM Admin ( roles/resourcemanager.projectIamAdmin ) |
config.deployments.create config.deployments.list |
Administrador do Cloud Infrastructure Manager ( roles/config.admin ) |
iam.serviceAccount.actAs |
Utilizador da conta de serviço ( roles/iam.serviceAccountUser ) |
Acerca das autorizações temporárias da conta de serviço
Se iniciar o processo de implementação através da consola, a Google cria uma conta de serviço para implementar a solução em seu nome (e para eliminar a implementação mais tarde, se quiser). A esta conta de serviço são atribuídas determinadas autorizações da IAM temporariamente, ou seja, as autorizações são revogadas automaticamente após a conclusão das operações de implementação e eliminação da solução. A Google recomenda que, depois de eliminar a implementação, elimine a conta de serviço, conforme descrito mais adiante neste guia.
Veja as funções atribuídas à conta de serviço
Estes papéis estão listados aqui caso um administrador do seu projeto ou organização precise destas informações.Google Cloud
roles/biglake.admin
roles/bigquery.admin
roles/compute.admin
roles/datalineage.viewer
roles/dataplex.admin
roles/dataproc.admin
roles/iam.serviceAccountAdmin
roles/iam.serviceAccountUser
roles/resourcemanager.projectIamAdmin
roles/servicenetworking.serviceAgent
roles/serviceusage.serviceUsageViewer
roles/vpcaccess.admin
roles/storage.admin
roles/workflows.admin
Implemente a solução
Esta secção explica o processo de implementação da solução.
Para ajudar a implementar esta solução com o mínimo de esforço, é disponibilizada uma configuração do Terraform no GitHub. A configuração do Terraform define todos os Google Cloud recursos necessários para a solução.
Pode implementar a solução através de um dos seguintes métodos:
Através da consola: use este método se quiser experimentar a solução com a configuração predefinida e ver como funciona. O Cloud Build implementa todos os recursos necessários para a solução. Quando já não precisar da solução implementada, pode eliminá-la através da consola. Quaisquer recursos que criar depois de implementar a solução podem ter de ser eliminados separadamente.
Para usar este método de implementação, siga as instruções em Implemente através da consola.
Usando a CLI do Terraform: use este método se quiser personalizar a solução ou se quiser automatizar o aprovisionamento e a gestão dos recursos usando a abordagem de infraestrutura como código (IaC). Transfira a configuração do Terraform a partir do GitHub, personalize opcionalmente o código conforme necessário e, em seguida, implemente a solução através da CLI do Terraform. Depois de implementar a solução, pode continuar a usar o Terraform para gerir a solução.
Para usar este método de implementação, siga as instruções em Implemente através da CLI do Terraform.
Implemente através da consola
Conclua os passos seguintes para implementar a solução pré-configurada.
No Google Cloud catálogo de soluções de arranque rápido, aceda à solução Analytics lakehouse.
Reveja as informações apresentadas na página, como o custo estimado da solução e o tempo de implementação estimado.
Quando tiver tudo pronto para começar a implementar a solução, clique em Implementar.
É apresentado um painel de configuração passo a passo.
Conclua os passos no painel de configuração.
Tome nota do nome que introduz para a implementação. Este nome é necessário mais tarde quando eliminar a implementação.
Quando clica em Implementar, é apresentada a página Implementações de soluções. O campo Estado nesta página mostra Implementação.
Aguarde a implementação da solução.
Se a implementação falhar, o campo Estado apresenta Falhou. Pode usar o registo do Cloud Build para diagnosticar os erros. Para mais informações, consulte Erros ao implementar através da consola.
Após a conclusão da implementação, o campo Estado é alterado para Implementado.
Para ver e usar a solução, regresse à página Implementações de soluções na consola.
- Clique no menu Ações.
- Selecione Ver painel de controlo do Looker Studio para abrir um painel de controlo criado com base nos dados de amostra transformados através da solução.
- Selecione Abrir editor do BigQuery para executar consultas e criar modelos de aprendizagem automática (AA) com os dados de exemplo na solução.
- Selecione Ver Colab para executar consultas num ambiente de bloco de notas.
Quando já não precisar da solução, pode eliminar a implementação para evitar a faturação contínua dos Google Cloud recursos. Para mais informações, consulte Elimine a implementação.
Faça a implementação através da CLI do Terraform
Esta secção descreve como pode personalizar a solução ou automatizar o aprovisionamento e a gestão da solução através da CLI do Terraform. As soluções implementadas através da CLI do Terraform não são apresentadas na página Implementações de soluções na Google Cloud consola.
Configure o cliente do Terraform
Pode executar o Terraform no Cloud Shell ou no seu anfitrião local. Este guia descreve como executar o Terraform no Cloud Shell, que tem o Terraform pré-instalado e configurado para autenticação com o Google Cloud.
O código do Terraform para esta solução está disponível num repositório do GitHub.
Clone o repositório do GitHub para o Cloud Shell.
É apresentada uma mensagem para confirmar a transferência do repositório do GitHub para o Cloud Shell.
Clique em Confirm.
O Cloud Shell é iniciado num separador do navegador separado e o código do Terraform é transferido para o diretório
$HOME/cloudshell_open
do seu ambiente do Cloud Shell.No Cloud Shell, verifique se o diretório de trabalho atual é
$HOME/cloudshell_open/terraform-google-analytics-lakehouse/
. Este é o diretório que contém os ficheiros de configuração do Terraform para a solução. Se precisar de alterar para esse diretório, execute o seguinte comando:cd $HOME/cloudshell_open/terraform-google-analytics-lakehouse/
Inicialize o Terraform executando o seguinte comando:
terraform init
Aguarde até ver a seguinte mensagem:
Terraform has been successfully initialized!
Configure as variáveis do Terraform
O código do Terraform que transferiu inclui variáveis que pode usar para personalizar a implementação com base nos seus requisitos. Por exemplo, pode especificar o Google Cloud projeto e aregião onde quer que a solução seja implementada.
Certifique-se de que o diretório de trabalho atual é
$HOME/cloudshell_open/terraform-google-analytics-lakehouse/
. Se não for, aceda a esse diretório.No mesmo diretório, crie um ficheiro de texto com o nome
terraform.tfvars
.No ficheiro
terraform.tfvars
, copie o seguinte fragmento do código e defina os valores para as variáveis necessárias.- Siga as instruções fornecidas como comentários no fragmento de código.
- Este fragmento do código inclui apenas as variáveis para as quais tem de definir valores. A configuração do Terraform inclui outras variáveis que têm valores predefinidos. Para rever todas as variáveis e os valores predefinidos, consulte o ficheiro
variables.tf
que está disponível no diretório$HOME/cloudshell_open/terraform-google-analytics-lakehouse/
. - Certifique-se de que cada valor que define no ficheiro
terraform.tfvars
corresponde ao tipo de variável, conforme declarado no ficheirovariables.tf
. Por exemplo, se o tipo definido para uma variável no ficheirovariables.tf
forbool
, tem de especificartrue
oufalse
como o valor dessa variável no ficheiroterraform.tfvars
.
# This is an example of the terraform.tfvars file. # The values in this file must match the variable types declared in variables.tf. # The values in this file override any defaults in variables.tf. # ID of the project in which you want to deploy the solution project_id = "PROJECT_ID" # Google Cloud region where you want to deploy the solution # Example: us-central1 region = "REGION" # Whether or not to enable underlying apis in this solution. # Example: true enable_apis = true # Whether or not to protect Cloud Storage and BigQuery resources from deletion when solution is modified or changed. # Example: false force_destroy = false
Valide e reveja a configuração do Terraform
Certifique-se de que o diretório de trabalho atual é
$HOME/cloudshell_open/terraform-google-analytics-lakehouse/
. Se não for, aceda a esse diretório.Verifique se a configuração do Terraform não tem erros:
terraform validate
Se o comando devolver erros, faça as correções necessárias na configuração e, em seguida, execute novamente o comando
terraform validate
. Repita este passo até o comando devolver a seguinte mensagem:Success! The configuration is valid.
Reveja os recursos definidos na configuração:
terraform plan
Se não criou o ficheiro
terraform.tfvars
conforme descrito anteriormente, o Terraform pede-lhe que introduza valores para as variáveis que não têm valores predefinidos. Introduza os valores obrigatórios.O resultado do comando
terraform plan
é uma lista dos recursos que o Terraform aprovisiona quando aplica a configuração.Se quiser fazer alterações, edite a configuração e, em seguida, execute novamente os comandos
terraform validate
eterraform plan
.
Aprovisione os recursos
Quando não forem necessárias mais alterações na configuração do Terraform, implemente os recursos.
Certifique-se de que o diretório de trabalho atual é
$HOME/cloudshell_open/terraform-google-analytics-lakehouse/
. Se não for, aceda a esse diretório.Aplique a configuração do Terraform:
terraform apply
Se não criou o ficheiro
terraform.tfvars
conforme descrito anteriormente, o Terraform pede-lhe que introduza valores para as variáveis que não têm valores predefinidos. Introduza os valores obrigatórios.O Terraform apresenta uma lista dos recursos que vão ser criados.
Quando lhe for pedido para realizar as ações, introduza
yes
.O Terraform apresenta mensagens que mostram o progresso da implementação.
Se não for possível concluir a implementação, o Terraform apresenta os erros que causaram a falha. Reveja as mensagens de erro e atualize a configuração para corrigir os erros. Em seguida, execute novamente o comando
terraform apply
. Para obter ajuda na resolução de problemas de erros do Terraform, consulte o artigo Erros ao implementar a solução com a CLI do Terraform.Depois de criar todos os recursos, o Terraform apresenta a seguinte mensagem:
Apply complete!
O resultado do Terraform também indica as seguintes informações adicionais de que precisa:
- O URL do Looker Studio do painel de controlo implementado.
- O link para abrir o editor do BigQuery para algumas consultas de exemplo.
- O link para abrir o tutorial do Colab.
O exemplo seguinte mostra o aspeto do resultado:
lookerstudio_report_url = "https://lookerstudio.google.com/reporting/create?c.reportId=79675b4f-9ed8-4ee4-bb35-709b8fd5306a&ds.ds0.datasourceName=vw_ecommerce&ds.ds0.projectId=${var.project_id}&ds.ds0.type=TABLE&ds.ds0.datasetId=gcp_lakehouse_ds&ds.ds0.tableId=view_ecommerce" bigquery_editor_url = "https://console.cloud.google.com/bigquery?project=my-cloud-project&ws=!1m5!1m4!6m3!1smy-cloud-project!2sds_edw!3ssp_sample_queries" lakehouse_colab_url = "https://colab.research.google.com/github/GoogleCloudPlatform/terraform-google-analytics-lakehouse/blob/main/assets/ipynb/exploratory-analysis.ipynb"
Para ver e usar o painel de controlo, bem como executar consultas no BigQuery, copie os URLs de saída do passo anterior e abra-os em novos separadores do navegador.
O painel de controlo, o bloco de notas e os editores do BigQuery são apresentados nos novos separadores.
Quando já não precisar da solução, pode eliminar a implementação para evitar a faturação contínua dos Google Cloud recursos. Para mais informações, consulte Elimine a implementação.
Personalize a solução
Esta secção fornece informações que os programadores do Terraform podem usar para modificar a solução de data warehouse de estatísticas de modo a satisfazer os seus próprios requisitos técnicos e empresariais. As orientações nesta secção só são relevantes se implementar a solução através da CLI do Terraform.
Depois de ver como a solução funciona com os dados de exemplo, pode querer trabalhar com os seus próprios dados. Para usar os seus próprios dados, coloque-os no contentor do Cloud Storage denominado edw-raw-hash
. O hash é um conjunto aleatório de 8 carateres gerado durante a implementação. Pode alterar o código do Terraform das seguintes formas:
- ID do conjunto de dados. Altere o código do Terraform para que, quando o código criar o conjunto de dados do BigQuery, use o ID do conjunto de dados que quer usar para os seus dados.
- Esquema. Altere o código do Terraform para que crie o ID da tabela do BigQuery que quer usar para armazenar os seus dados. Isto inclui o esquema da tabela externa para que o BigQuery possa ler os dados do Cloud Storage.
- Zona. Crie as zonas do lago que correspondem à necessidade da sua empresa (normalmente, uma zonagem de dois ou três níveis com base na qualidade e na utilização dos dados).
- Painéis de controlo do Looker. Altere o código do Terraform que cria um painel de controlo do Looker para que o painel de controlo reflita os dados que está a usar.
- Tarefas do PySpark. Altere o código do Terraform para executar tarefas do PySpark usando o Dataproc.
Seguem-se objetos comuns de lakehouse de estatísticas, que mostram o código de exemplo do Terraform em main.tf
.
-
Conjunto de dados do BigQuery: O esquema onde os objetos da base de dados são agrupados e armazenados.
resource "google_bigquery_dataset" "ds_edw" { project = module.project-services.project_id dataset_id = "DATASET_PHYSICAL_ID" friendly_name = "DATASET_LOGICAL_NAME" description = "DATASET_DESCRIPTION" location = "REGION" labels = var.labels delete_contents_on_destroy = var.force_destroy }
-
Tabela do BigQuery: Um objeto de base de dados que representa dados armazenados no BigQuery ou que representa um esquema de dados armazenado no Cloud Storage.
resource "google_bigquery_table" "tbl_edw_taxi" { dataset_id = google_bigquery_dataset.ds_edw.dataset_id table_id = "TABLE_NAME" project = module.project-services.project_id deletion_protection = var.deletion_protection ... }
-
Procedimento armazenado do BigQuery: Um objeto de base de dados que representa uma ou mais declarações SQL a serem executadas quando chamado. Isto pode ser para transformar dados de uma tabela noutra ou para carregar dados de uma tabela externa para uma tabela padrão.
resource "google_bigquery_routine" "sp_sample_translation_queries" { project = module.project-services.project_id dataset_id = google_bigquery_dataset.ds_edw.dataset_id routine_id = "sp_sample_translation_queries" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("${path.module}/assets/sql/sp_sample_translation_queries.sql", { project_id = module.project-services.project_id }) }
-
Fluxo de trabalho do Cloud Workflows: Um fluxo de trabalho do Workflows representa uma combinação de passos a executar numa ordem específica. Isto pode ser usado para configurar dados ou realizar transformações de dados juntamente com outros passos de execução.
resource "google_workflows_workflow" "copy_data" { name = "copy_data" project = module.project-services.project_id region = var.region description = "Copies data and performs project setup" service_account = google_service_account.workflows_sa.email source_contents = templatefile("${path.module}/src/yaml/copy-data.yaml", { public_data_bucket = var.public_data_bucket, textocr_images_bucket = google_storage_bucket.textocr_images_bucket.name, ga4_images_bucket = google_storage_bucket.ga4_images_bucket.name, tables_bucket = google_storage_bucket.tables_bucket.name, dataplex_bucket = google_storage_bucket.dataplex_bucket.name, images_zone_name = google_dataplex_zone.gcp_primary_raw.name, tables_zone_name = google_dataplex_zone.gcp_primary_staging.name, lake_name = google_dataplex_lake.gcp_primary.name }) }
Para personalizar a solução, conclua os seguintes passos no Cloud Shell:
Verifique se o diretório de trabalho atual é
$HOME/cloudshell_open/terraform-google-analytics-lakehouse
. Se não for o caso, aceda a esse diretório:cd $HOME/cloudshell_open/terraform-google-analytics-lakehouse
Abra
main.tf
e faça as alterações que quer fazer.Para mais informações sobre os efeitos desta personalização na fiabilidade, segurança, desempenho, custo e operações, consulte as Recomendações de design.
Recomendações de design
Esta secção fornece recomendações para usar a solução de data lakehouse de estatísticas para desenvolver uma arquitetura que cumpra os seus requisitos de segurança, fiabilidade, custo e desempenho.
À medida que começa a dimensionar a sua solução de lakehouse, tem várias formas de ajudar a melhorar o desempenho das consultas e reduzir os gastos totais. Estes métodos incluem alterar a forma como os dados são armazenados fisicamente, modificar as consultas SQL e alterar a forma como as consultas são executadas através de diferentes tecnologias. Para saber mais sobre os métodos de otimização das cargas de trabalho do Spark, consulte o artigo Práticas recomendadas do Dataproc para produção.
Tenha em conta o seguinte:
- Antes de fazer alterações ao design, avalie o impacto nos custos e pondere possíveis compromissos com outras funcionalidades. Pode avaliar o impacto dos custos das alterações de design através da Google Cloud calculadora de preços.
- Para implementar alterações de design na solução, precisa de experiência em programação do Terraform e conhecimentos avançados dos Google Cloud serviços usados na solução.
- Se modificar a configuração do Terraform fornecida pela Google e, em seguida, tiver erros, crie problemas no GitHub. Os problemas do GitHub são revistos com base no melhor esforço e não se destinam a perguntas de utilização geral.
- Para mais informações sobre a conceção e a configuração de ambientes de nível de produção no Google Cloud, consulte Conceção da zona de destino no Google Cloud e Google Cloud lista de verificação de configuração.
Elimine a implementação da solução
Quando já não precisar da implementação da solução, para evitar a faturação contínua dos recursos que criou, elimine a implementação.
Elimine a implementação através da consola
Use este procedimento se implementou a solução através da consola.
Na Google Cloud consola, aceda à página Implementações de soluções.
Selecione o projeto que contém a implementação que quer eliminar.
Localize a implementação que quer eliminar.
Na linha da implementação, clique em
Ações e, de seguida, selecione Eliminar.Pode ter de deslocar a página para ver Ações na linha.
Introduza o nome da implementação e, de seguida, clique em Confirmar.
O campo Estado mostra A eliminar.
Se a eliminação falhar, consulte as orientações de resolução de problemas em Erro ao eliminar uma implementação.
Quando já não precisar do Google Cloud projeto que usou para a solução, pode eliminá-lo. Para mais informações, consulte a secção Opcional: elimine o projeto.
Elimine a implementação através da CLI do Terraform
Use este procedimento se tiver implementado a solução através da CLI do Terraform.
No Cloud Shell, certifique-se de que o diretório de trabalho atual é
$HOME/cloudshell_open/terraform-google-analytics-lakehouse/
. Se não for, aceda a esse diretório.Remova os recursos aprovisionados pelo Terraform:
terraform destroy
O Terraform apresenta uma lista dos recursos que vão ser destruídos.
Quando lhe for pedido para realizar as ações, introduza
yes
.O Terraform apresenta mensagens que mostram o progresso. Depois de todos os recursos serem eliminados, o Terraform apresenta a seguinte mensagem:
Destroy complete!
Se a eliminação falhar, consulte as orientações de resolução de problemas em Erro ao eliminar uma implementação.
Quando já não precisar do Google Cloud projeto que usou para a solução, pode eliminá-lo. Para mais informações, consulte a secção Opcional: elimine o projeto.
Opcional: elimine o projeto
Se implementou a solução num novo Google Cloud projeto e já não precisa do projeto, elimine-o concluindo os seguintes passos:
- Na Google Cloud consola, aceda à página Gerir recursos.
- Na lista de projetos, selecione o projeto que quer eliminar e, de seguida, clique em Eliminar.
- Na mensagem, escreva o ID do projeto e, de seguida, clique em Encerrar.
Se decidir manter o projeto, elimine a conta de serviço que foi criada para esta solução, conforme descrito na secção seguinte.
Opcional: elimine a conta de serviço
Se eliminou o projeto que usou para a solução, ignore esta secção.
Conforme mencionado anteriormente neste guia, quando implementou a solução, foi criada uma conta de serviço em seu nome. Foram atribuídas determinadas autorizações do IAM à conta de serviço temporariamente, ou seja, as autorizações foram revogadas automaticamente após a conclusão das operações de implementação e eliminação da solução, mas a conta de serviço não é eliminada. A Google recomenda que elimine esta conta de serviço.
Se implementou a solução através da Google Cloud consola, aceda à página Implementações de soluções. (Se já estiver nessa página, atualize o navegador.) É acionado um processo em segundo plano para eliminar a conta de serviço. Não é necessária nenhuma ação adicional.
Se implementou a solução através da CLI do Terraform, conclua os seguintes passos:
Na Google Cloud consola, aceda à página Contas de serviço.
Selecione o projeto que usou para a solução.
Selecione a conta de serviço que quer eliminar.
O ID de email da conta de serviço que foi criada para a solução está no seguinte formato:
goog-sc-DEPLOYMENT_NAME-NNN@PROJECT_ID.iam.gserviceaccount.com
O ID do email contém os seguintes valores:
- DEPLOYMENT_NAME: o nome da implementação.
- NNN: um número aleatório de 3 dígitos.
- PROJECT_ID: o ID do projeto no qual implementou a solução.
Clique em Eliminar.
Resolva problemas de erros
As ações que pode realizar para diagnosticar e resolver erros dependem do método de implementação e da complexidade do erro.
Erros ao implementar a solução através da consola
Se a implementação falhar quando usa a consola, faça o seguinte:
Aceda à página Implementações de soluções.
Se a implementação falhar, o campo Estado apresenta Falhou.
Veja os detalhes dos erros que causaram a falha:
Na linha da implementação, clique em
Ações.Pode ter de deslocar a página para ver Ações na linha.
Selecione Ver registos do Cloud Build.
Reveja o registo do Cloud Build e tome as medidas adequadas para resolver o problema que causou a falha.
Erros ao implementar a solução através da CLI do Terraform
Se a implementação falhar quando usa o Terraform, o resultado do comando terraform
apply
inclui mensagens de erro que pode rever para diagnosticar o problema.
Os exemplos nas secções seguintes mostram erros de implementação que pode encontrar quando usa o Terraform.
Erro de API não ativada
Se criar um projeto e, de seguida, tentar implementar a solução no novo projeto, a implementação pode falhar com um erro semelhante ao seguinte:
Error: Error creating Network: googleapi: Error 403: Compute Engine API has not
been used in project PROJECT_ID before or it is disabled. Enable it by visiting
https://console.developers.google.com/apis/api/compute.googleapis.com/overview?project=PROJECT_ID
then retry. If you enabled this API recently, wait a few minutes for the action
to propagate to our systems and retry.
Se este erro ocorrer, aguarde alguns minutos e, em seguida, execute novamente o comando terraform apply
.
Não é possível atribuir o erro de endereço pedido
Quando executa o comando terraform apply
, pode ocorrer um erro cannot assign requested address
com uma mensagem semelhante à seguinte:
Error: Error creating service account:
Post "https://iam.googleapis.com/v1/projects/PROJECT_ID/serviceAccounts:
dial tcp [2001:db8:ffff:ffff::5f]:443:
connect: cannot assign requested address
Se este erro ocorrer, execute novamente o comando terraform apply
.
Erros ao aceder a dados no BigQuery ou Looker Studio
Existe um passo de aprovisionamento que é executado após os passos de aprovisionamento do Terraform que carrega dados para o ambiente. Se receber um erro quando os dados estiverem a ser carregados no painel de controlo do Looker Studio ou se não existirem objetos quando começar a explorar o BigQuery, aguarde alguns minutos e tente novamente.
Erro ao eliminar uma implementação
Em determinados casos, as tentativas de eliminar uma implementação podem falhar:
- Após implementar uma solução através da consola, se alterar qualquer recurso aprovisionado pela solução e, em seguida, tentar eliminar a implementação, a eliminação pode falhar. O campo Estado na página Implementações de soluções mostra Falhou e o registo do Cloud Build mostra a causa do erro.
- Depois de implementar uma solução através da CLI do Terraform, se alterar qualquer recurso através de uma interface não pertencente ao Terraform (por exemplo, a consola) e, em seguida, tentar eliminar a implementação, a eliminação pode falhar. As mensagens no resultado do comando
terraform destroy
mostram a causa do erro.
Reveja os registos e as mensagens de erro, identifique e elimine os recursos que causaram o erro e, de seguida, tente eliminar a implementação novamente.
Se uma implementação baseada na consola não for eliminada e não conseguir diagnosticar o erro através do registo do Cloud Build, pode eliminar a implementação através da CLI do Terraform, conforme descrito na secção seguinte.
Elimine uma implementação baseada na consola através da CLI do Terraform
Esta secção descreve como eliminar uma implementação baseada na consola se ocorrerem erros quando tentar eliminá-la através da consola. Nesta abordagem, transfere a configuração do Terraform para a implementação que quer eliminar e, em seguida, usa a CLI do Terraform para eliminar a implementação.
Identifique a região onde o código, os registos e outros dados do Terraform da implementação são armazenados. Esta região pode ser diferente da região que selecionou durante a implementação da solução.
Na Google Cloud consola, aceda à página Implementações de soluções.
Selecione o projeto que contém a implementação que quer eliminar.
Na lista de implementações, identifique a linha da implementação que quer eliminar.
Clique em
Ver todo o conteúdo da linha.Na coluna Localização, repare na segunda localização, conforme realçado no exemplo seguinte:
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Crie variáveis de ambiente para o ID do projeto, a região e o nome da implementação que quer eliminar:
export REGION="REGION" export PROJECT_ID="PROJECT_ID" export DEPLOYMENT_NAME="DEPLOYMENT_NAME"
Nestes comandos, substitua o seguinte:
- REGION: a localização que indicou anteriormente neste procedimento.
- PROJECT_ID: o ID do projeto onde implementou a solução.
- DEPLOYMENT_NAME: o nome da implementação que quer eliminar.
Obtenha o ID da revisão mais recente da implementação que quer eliminar:
export REVISION_ID=$(curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}" \ | jq .latestRevision -r) echo $REVISION_ID
O resultado é semelhante ao seguinte:
projects/PROJECT_ID/locations/REGION/deployments/DEPLOYMENT_NAME/revisions/r-0
Obtenha a localização do Cloud Storage da configuração do Terraform para a implementação:
export CONTENT_PATH=$(curl \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/${REVISION_ID}" \ | jq .applyResults.content -r) echo $CONTENT_PATH
Segue-se um exemplo do resultado deste comando:
gs://PROJECT_ID-REGION-blueprint-config/DEPLOYMENT_NAME/r-0/apply_results/content
Transfira a configuração do Terraform do Cloud Storage para o Cloud Shell:
gcloud storage cp $CONTENT_PATH $HOME --recursive cd $HOME/content/
Aguarde até que a mensagem
Operation completed
seja apresentada, conforme mostrado no exemplo seguinte:Operation completed over 45 objects/268.5 KiB
Inicialize o Terraform:
terraform init
Aguarde até ver a seguinte mensagem:
Terraform has been successfully initialized!
Remova os recursos implementados:
terraform destroy
O Terraform apresenta uma lista dos recursos que vão ser destruídos.
Se forem apresentados avisos sobre variáveis não declaradas, ignore-os.
Quando lhe for pedido para realizar as ações, introduza
yes
.O Terraform apresenta mensagens que mostram o progresso. Depois de todos os recursos serem eliminados, o Terraform apresenta a seguinte mensagem:
Destroy complete!
Elimine o artefacto de implementação:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}?force=true&delete_policy=abandon"
Aguarde alguns segundos e, em seguida, verifique se o artefacto de implementação foi eliminado:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://config.googleapis.com/v1alpha2/projects/${PROJECT_ID}/locations/${REGION}/deployments/${DEPLOYMENT_NAME}" \ | jq .error.message
Se o resultado apresentar
null
, aguarde alguns segundos e, em seguida, execute o comando novamente.Após a eliminação do artefacto de implementação, é apresentada uma mensagem, conforme mostrado no exemplo seguinte:
Resource 'projects/PROJECT_ID/locations/REGION/deployments/DEPLOYMENT_NAME' was not found
- Para aceder à documentação, aos tutoriais na consola ou à solução, use o botão Enviar feedback na página.
- Para código Terraform não modificado, crie problemas no repositório do GitHub. Os problemas do GitHub são revistos com base no melhor esforço e não se destinam a perguntas de utilização geral.
- Para problemas com os produtos usados na solução, contacte o apoio técnico ao cliente do Google Cloud.
- Crie um data lake com o catálogo universal do Dataplex
- Crie tabelas externas do BigLake para o Apache Iceberg
- Use o Apache Spark no Google Cloud
- Saiba mais sobre o BigQuery
Enviar feedback
As soluções de arranque rápido destinam-se apenas a fins informativos e não são produtos oficialmente suportados. A Google pode alterar ou remover soluções sem aviso prévio.
Para resolver problemas de erros, reveja os registos do Cloud Build e o resultado do Terraform.
Para enviar feedback, faça o seguinte: