Este tutorial usa o modelo de assinatura do Pub/Sub para BigQuery a fim de criar e executar um job de modelo do Dataflow usando o console do Google Cloud ou a CLI do Google Cloud. O tutorial mostra um exemplo de pipeline de streaming que lê mensagens JSON codificadas do Pub/Sub e usa uma função definida pelo usuário (UDF) para ampliar o modelo de streaming fornecido pelo Google, além de transformar dados de mensagens com o SDK do Apache Beam e gravar os resultados em uma tabela do BigQuery.
Os pipelines de análise de streaming e integração de dados usam o Pub/Sub para ingerir e distribuir dados. Com o Pub/Sub, é possível criar sistemas de produtores e consumidores de eventos, chamados de editores e assinantes. Os editores enviam eventos de forma assíncrona ao serviço Pub/Sub, que entrega os eventos a todos os serviços que precisam reagir a eles.
O Dataflow é um serviço totalmente gerenciado para transformar e enriquecer dados em modos de stream (em tempo real) e em lote. Ele fornece um ambiente de desenvolvimento de pipeline simplificado que usa o SDK do Apache Beam para transformar os dados recebidos e, em seguida, gerar os dados transformados.
A vantagem desse fluxo de trabalho é que é possível usar UDFs para transformar os dados da mensagem antes da gravação no BigQuery. Outra opção é usar uma assinatura do BigQuery, que grava mensagens do Pub/Sub diretamente no BigQuery, sem usar o Dataflow. Essa opção só dá suporte à entrega pelo menos uma vez, e não aceita o processamento único.
Objetivos
- Crie um tópico do Pub/Sub.
- Crie um conjunto de dados do BigQuery com uma tabela e um esquema.
- Use um modelo de streaming fornecido pelo Google para transmitir dados da sua assinatura do Pub/Sub para o BigQuery usando o Dataflow.
- Crie uma Função definida pelo usuário (UDF) para estender o modelo de streaming fornecido pelo Google.
Custos
Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:
- Dataflow
- Pub/Sub
- Cloud Storage
- Cloud Scheduler
- BigQuery
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Saiba mais em Limpeza.
Antes de começar
Nesta seção, mostramos como selecionar um projeto, ativar APIs e conceder os papéis apropriados à sua conta de usuário e à conta de serviço do worker.
Console
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Compute Engine, Dataflow, Cloud Logging, BigQuery, Pub/Sub, Cloud Storage, Resource Manager, and Cloud Scheduler APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Compute Engine, Dataflow, Cloud Logging, BigQuery, Pub/Sub, Cloud Storage, Resource Manager, and Cloud Scheduler APIs.
Para concluir as etapas deste tutorial, sua conta de usuário precisa ter o papel Usuário da conta de serviço. A conta de serviço padrão do Compute Engine precisa ter os seguintes papéis: Worker do Dataflow, Administrador do Dataflow, Editor do Pub/Sub, Administrador de objetos do Storage e Editor de dados do BigQuery. Para adicionar os papéis necessários no console do Google Cloud, siga estas etapas:
No console do Google Cloud, abra a página IAM.
Acessar o IAM- Selecione o projeto.
- Na linha que contém a conta de usuário, clique em Editar principal e, em seguida, clique em Adicionar outro papel.
- Na lista suspensa, selecione o papel Usuário da conta de serviço.
- Na linha que contém a conta de serviço padrão do Compute Engine, clique em Editar principal e, em seguida, clique em Adicionar outro papel.
- Na lista suspensa, selecione o papel Worker do Dataflow.
Repita para os papéis Administrador do Dataflow, Editor do Pub/Sub, Administrador de objetos do Storage e Editor de dados do BigQuery e clique em Salvar.
Para mais informações sobre como conceder papéis, consulte Conceder um papel do IAM usando o console.
gcloud
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Compute Engine, Dataflow, Cloud Logging, BigQuery, Pub/Sub, Cloud Storage, Resource Manager, and Cloud Scheduler APIs:
gcloud services enable compute.googleapis.com
dataflow.googleapis.com logging.googleapis.com bigquery.googleapis.com pubsub.googleapis.com storage.googleapis.com cloudresourcemanager.googleapis.com cloudscheduler.googleapis.com -
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/iam.serviceAccountUser
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Compute Engine, Dataflow, Cloud Logging, BigQuery, Pub/Sub, Cloud Storage, Resource Manager, and Cloud Scheduler APIs:
gcloud services enable compute.googleapis.com
dataflow.googleapis.com logging.googleapis.com bigquery.googleapis.com pubsub.googleapis.com storage.googleapis.com cloudresourcemanager.googleapis.com cloudscheduler.googleapis.com -
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/iam.serviceAccountUser
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
-
Conceda papéis à conta de serviço padrão do Compute Engine. Execute uma vez o comando a seguir para cada um dos seguintes papéis do IAM:
roles/dataflow.admin
roles/dataflow.worker
roles/storage.admin
roles/pubsub.editor
roles/bigquery.dataEditor
gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" --role=SERVICE_ACCOUNT_ROLE
Substitua:
PROJECT_ID
: o ID do projeto.PROJECT_NUMBER
: o número do projeto. Para encontrar o número do projeto, use o comandogcloud projects describe
.SERVICE_ACCOUNT_ROLE
: cada papel individual.
Criar a origem e o coletor de exemplo
Esta seção explica como criar o seguinte:
- Uma fonte de streaming de dados usando o Pub/Sub.
- Um conjunto de dados para carregar os dados no BigQuery.
Criar um bucket do Cloud Storage
Comece criando um bucket do Cloud Storage com o Console do Google Cloud ou a Google Cloud CLI. O pipeline do Dataflow usa esse bucket como um local de armazenamento temporário.
Console
No console do Google Cloud, acesse a página Buckets do Cloud Storage.
Clique em Criar bucket.
Na página Criar um bucket, emNomeie o bucket, insira um nome que atenda aos requisitos de nomenclatura de bucket. Os nomes do bucket do Cloud Storage precisam ser globalmente exclusivos. Não selecione as outras opções.
Clique em Criar.
gcloud
Use o comando gcloud storage buckets create
(em inglês).
gcloud storage buckets create gs://BUCKET_NAME
Substitua BUCKET_NAME
por um nome para o bucket do Cloud Storage
que atenda aos requisitos de nomenclatura de bucket.
Os nomes do bucket do Cloud Storage precisam ser globalmente exclusivos.
Criar um tópico e uma assinatura do Pub/Sub
Criar um tópico do Pub/Sub e uma assinatura para ele.
Console
Para criar um tópico, complete as seguintes etapas.
No Console do Google Cloud, acesse a página Tópicos do Pub/Sub.
Selecione Criar tópico.
No campo Código do tópico, insira um código para o tópico. Para informações sobre como nomear um tópico, consulte Diretrizes para nomear um tópico ou uma assinatura.
Mantenha a opção Adicionar uma assinatura padrão. Não selecione as outras opções.
Selecione Criar tópico.
gcloud
Para criar um tópico, execute o comando gcloud pubsub topics create
. Para ver informações sobre como nomear uma assinatura, consulte
Diretrizes para nomear um tópico ou uma assinatura.
gcloud pubsub topics create TOPIC_ID
Substitua TOPIC_ID
por um nome para seu tópico do Pub/Sub.
Para criar uma assinatura no seu tópico, execute o comando gcloud pubsub subscriptions create
:
gcloud pubsub subscriptions create --topic TOPIC_ID SUBSCRIPTION_ID
Substitua SUBSCRIPTION_ID
por um nome para sua assinatura do Pub/Sub.
Criar e executar jobs do Cloud Scheduler
Crie e execute dois jobs do Cloud Scheduler: um que publique classificações positivas e outro que publique classificações negativas no seu tópico do Pub/Sub.
Console
Criar um job do Cloud Scheduler para classificações positivas.
Acesse a página Cloud Scheduler no Console.
Clique no botão Criar um job.
Insira o nome
positive-ratings-publisher
.Selecione uma região do Dataflow perto de onde você executa os comandos neste tutorial. O valor da variável
REGION
precisa ser um nome de região válido. Para mais informações sobre regiões e locais, consulte Locais do Dataflow.Especifique a frequência do job usando o formato unix-cron:
* * * * *
Consulte mais informações em Como configurar programações de cron job.
Selecionar fuso horário.
Clique em Continuar.
Na lista Destino, selecione Pub/Sub.
Selecione o nome do seu Tópico na lista.
Adicione a string Mensagem a ser enviada ao destino:
{"url": "https://beam.apache.org/", "review": "positive"}
Clique em Criar.
Agora você tem um cron job que envia uma mensagem com uma avaliação positiva para seu tópico do Pub/Sub a cada minuto. Sua função do Cloud é inscrita nesse tópico.
Criar um job do Cloud Scheduler para avaliações negativas.
Na página Cloud Scheduler no console, clique no botão Criar um job.
Insira o nome
negative-ratings-publisher
.Selecione uma região para executar o job.
Especifique a frequência do job usando o formato unix-cron:
*/2 * * * *
Consulte mais informações em Como configurar programações de cron job.
Selecionar fuso horário.
Clique em Continuar.
Na lista Destino, selecione Pub/Sub.
Selecione o nome do seu Tópico na lista.
Adicione a string Mensagem a ser enviada ao destino:
{"url": "https://beam.apache.org/", "review": "negative"}
Clique em Criar.
Agora você tem um cron job que envia uma mensagem com uma classificação negativa para o tópico do Pub/Sub a cada dois minutos. Sua função do Cloud é inscrita nesse tópico.
gcloud
Para criar um job do Cloud Scheduler para este tutorial, use o comando
gcloud scheduler jobs create
. Esta etapa cria um editor para "classificações positivas" que publica uma mensagem por minuto.gcloud scheduler jobs create pubsub positive-ratings-publisher \ --schedule="* * * * *" \ --location=DATAFLOW_REGION \ --topic="TOPIC_ID" \ --message-body='{"url": "https://beam.apache.org/", "review": "positive"}'
Substitua
DATAFLOW_REGION
pela região onde o job do Dataflow será implantado. Selecione uma região do Dataflow perto de onde você executa os comandos deste tutorial. O valor da variávelREGION
precisa ser um nome de região válido.Para iniciar o job do Cloud Scheduler, use o comando
gcloud scheduler jobs run
.gcloud scheduler jobs run --location=DATAFLOW_REGION positive-ratings-publisher
Criar e executar outro editor semelhante para "classificações negativas" que publica uma mensagem a cada dois minutos. Esta etapa cria um editor para "classificações negativas" que publica uma mensagem a cada dois minutos.
gcloud scheduler jobs create pubsub negative-ratings-publisher \ --schedule="*/2 * * * *" \ --location=DATAFLOW_REGION \ --topic="TOPIC_ID" \ --message-body='{"url": "https://beam.apache.org/", "review": "negative"}'
Inicie o segundo job do Cloud Scheduler.
gcloud scheduler jobs run --location=DATAFLOW_REGION negative-ratings-publisher
Criar um conjunto de dados do BigQuery
Crie um conjunto de dados e uma tabela do BigQuery com o esquema apropriado para seu tópico do Pub/Sub.
Console
Criar um conjunto de dados do BigQuery
Abra a página do BigQuery no Console do Google Cloud.
No painel Explorador, selecione o projeto em que você quer criar o conjunto de dados.
Expanda a opção
Ações e clique em Criar conjunto de dados.Na página Criar conjunto de dados, faça o seguinte:
- Para o código do conjunto de dados, insira
tutorial_dataset
. Em Local dos dados, escolha uma localização geográfica para o conjunto de dados. Após a criação de um conjunto de dados, o local não pode ser alterado.
.Não selecione as outras opções.
Clique em Criar conjunto de dados.
- Para o código do conjunto de dados, insira
Crie uma tabela do BigQuery com um esquema.
No painel Explorer, expanda o projeto e selecione um conjunto de dados
tutorial_dataset
.Expanda a opção
Ações e clique em Abrir.No painel de detalhes, clique em Criar tabela
.Na página Criar tabela, na seção Origem, selecione Tabela vazia.
Na página Criar tabela, na seção Destino:
- Verifique se o Nome do conjunto de dados está definido como
tutorial_dataset
. - No campo Nome da tabela, insira
tutorial
. - Verifique se Table type está definido como Native table.
- Verifique se o Nome do conjunto de dados está definido como
Na seção Esquema, insira a definição do esquema. Ative Editar como texto e insira o esquema da tabela a seguir como uma matriz JSON.
[ { "mode": "NULLABLE", "name": "url", "type": "STRING" }, { "mode": "NULLABLE", "name": "review", "type": "STRING" } ]
Em Configurações de particionamento e cluster, use o valor padrão
No partitioning
.Na seção Opções avançadas, para Criptografia, use o valor padrão
Google-managed key
. Por padrão, o Dataflow criptografa o conteúdo do cliente armazenado em repouso.Selecione Criar tabela.
gcloud
Use o comando bq mk
para criar o banco de dados.
bq --location=DATAFLOW_REGION mk \
PROJECT_ID:tutorial_dataset
Substitua PROJECT_ID
pelo ID do projeto de destino.
Use o comando bq mk
com a sinalização --table
ou -t
para criar uma tabela no
conjunto de dados.
bq mk \
--table \
PROJECT_ID:tutorial_dataset.tutorial \
url:STRING,review:STRING
Criar uma Função definida pelo usuário (UDF)
Como opção, crie uma UDF em JavaScript para estender a assinatura do Pub/Sub fornecida pelo Google para o modelo do BigQuery. Com as UDFs, é possível definir transformações de dados que não estão no modelo e injetá-las no modelo.
A UDF a seguir valida os URLs das classificações recebidas. Classificações sem
URLs ou com URLs incorretos são encaminhadas para uma tabela de saída diferente com sufixo
_error_records
, também conhecida como tabela de mensagens inativas, no mesmo projeto
e conjunto de dados.
JavaScript
Salve este snippet de JavaScript no bucket do Cloud Storage criado anteriormente.
Execute o pipeline
Execute um pipeline de streaming usando a assinatura do Pub/Sub fornecida pelo Google para o modelo do BigQuery. O pipeline recebe dados de entrada do tópico do Pub/Sub e os envia para o conjunto de dados do BigQuery.
Console
No console do Google Cloud, acesse a página Jobs do Dataflow.
Clique em Criar job usando um modelo.
Digite um Nome do job para o job do Dataflow.
Em Endpoint regional, selecione uma região para o job do Dataflow.
Em Modelo do Dataflow, selecione o modelo Assinatura do Pub/Sub para o BigQuery.
Em Tabela de saída do BigQuery, digite o seguinte:
PROJECT_ID:tutorial_dataset.tutorial
Em Assinatura de entrada do Pub/Sub, digite o seguinte:
projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID
Substitua
PROJECT_ID
pelo ID do projeto em que você criou o conjunto de dados do BigQuery eSUBSCRIPTION_ID
pelo nome da assinatura do Pub/Sub.Em Local temporário, digite o seguinte:
gs://BUCKET_NAME/temp/
Substitua
BUCKET_NAME
pelo nome do bucket do Cloud Storage. A pastatemp
armazena arquivos temporários, como o job do pipeline preparado.Opcional: para incluir uma UDF para o job, expanda os Parâmetros opcionais.
Em Caminho da UDF em JavaScript no Cloud Storage, insira o seguinte:
gs://BUCKET_NAME/dataflow_udf_transform.js
Em Nome da UDF em JavaScript, digite o seguinte:
process
Cliquem em Executar job.
Para verificar se o modelo pode encaminhar mensagens para uma tabela de mensagens inativas, publique algumas classificações sem URLs ou com URLs errados.
Acessar a página de Tópicos do Pub/Sub.
Clique no seu TOPIC_ID.
Acesse a seção Mensagens.
Clique em Publicar mensagem.
Insira algumas classificações sem URLs ou com URLs errados no Corpo da mensagem. Por exemplo:
{"url": "https://beam.apache.org/documentation/sdks/java/", "review": "positive"}
Clique em Publicar.
gcloud
Para executar o modelo no shell ou terminal, use o
comando
gcloud dataflow jobs run
.
gcloud dataflow jobs run JOB_NAME \
--gcs-location gs://dataflow-templates-DATAFLOW_REGION/latest/PubSub_Subscription_to_BigQuery \
--region DATAFLOW_REGION \
--staging-location gs://BUCKET_NAME/temp \
--parameters \
inputSubscription=projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID,\
outputTableSpec=PROJECT_ID:tutorial_dataset.tutorial
Substitua JOB_NAME
por um nome exclusivo de sua escolha.
Para executar o modelo com a UDF, use o seguinte comando:
gcloud dataflow jobs run JOB_NAME \
--gcs-location gs://dataflow-templates-DATAFLOW_REGION/latest/PubSub_Subscription_to_BigQuery \
--region DATAFLOW_REGION \
--staging-location gs://BUCKET_NAME/temp \
--parameters \
inputSubscription=projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID,\
outputTableSpec=PROJECT_ID:tutorial_dataset.tutorial,\
javascriptTextTransformGcsPath=gs://BUCKET_NAME/dataflow_udf_transform.js,\
javascriptTextTransformFunctionName=process
Para verificar se o modelo pode encaminhar mensagens para uma tabela de mensagens inativas, publique algumas classificações sem URLs ou com URLs errados.
gcloud pubsub topics publish TOPIC_ID \
--message='{"url": "https://beam.apache.org/documentation/sdks/java/", "review": "positive"}'
Ver os resultados
Veja os dados gravados nas tabelas do BigQuery.
Console
No Console do Google Cloud, acesse a página BigQuery.
Acessar a página do BigQueryNo Editor de consultas, execute esta consulta:
SELECT * FROM `PROJECT_ID.tutorial_dataset.tutorial` LIMIT 1000
Pode levar até um minuto para que os dados comecem a aparecer na tabela.
A consulta retorna linhas que foram adicionadas à sua tabela nas últimas 24 horas. Também é possível executar consultas usando o SQL padrão.
Se você espera que alguns registros de erro sejam gravados na tabela de mensagens inativas, na consulta, use o nome da tabela
tutorial_error_records
. Exemplo:SELECT * FROM `PROJECT_ID.tutorial_dataset.tutorial_error_records` LIMIT 1000
gcloud
Verifique os resultados no BigQuery executando a seguinte consulta:
bq query --use_legacy_sql=false 'SELECT * FROM `'"PROJECT_ID.tutorial_dataset.tutorial"'`'
Enquanto este pipeline estiver em execução, será possível ver novas linhas anexadas à tabela do BigQuery a cada minuto.
Se você espera que alguns registros de erro sejam gravados na tabela de mensagens inativas,
na consulta, use o nome da tabela tutorial_error_records
. Exemplo:
SELECT * FROM `PROJECT_ID.tutorial_dataset.tutorial_error_records`
LIMIT 1000
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Excluir o projeto
A maneira mais fácil de eliminar o faturamento é excluir o projeto do Google Cloud que você criou para o tutorial.
Console
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
gcloud
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Excluir recursos individuais
Se você quiser reutilizar o projeto mais tarde, poderá mantê-lo, mas excluir os recursos criados durante o tutorial.
Pare o pipeline do Dataflow
Console
No console do Google Cloud, acesse a página Jobs do Dataflow.
Clique no job que você quer interromper.
Para interromper um job, o status dele precisa serem execução.
Na página de detalhes do job, clique em Parar.
Clique em Cancelar.
Confirme sua escolha clicando em Interromper job.
gcloud
Para cancelar o job do Dataflow, use o
comando gcloud dataflow jobs
.
gcloud dataflow jobs list \
--filter 'NAME=JOB_NAME AND STATE=Running' \
--format 'value(JOB_ID)' \
--region "DATAFLOW_REGION" \
| xargs gcloud dataflow jobs cancel --region "DATAFLOW_REGION"
Limpar recursos do projeto do Google Cloud
Console
Exclua os jobs do Cloud Scheduler.
Vá para a página Cloud Scheduler no Console do Google Cloud.
Selecione os jobs.
Clique no botão Excluir na parte superior da página e confirme.
Exclua o tópico do Pub/Sub e a assinatura.
Acesse a página Tópicos do Pub/Sub no console do Google Cloud.
Selecione o tópico que você criou.
Clique em Excluir para excluir permanentemente o tópico.
Acesse a página Assinaturas do Pub/Sub no console do Google Cloud.
Selecione a assinatura criada com seu tópico.
Clique em Excluir para excluir permanentemente a assinatura.
Exclua a tabela e o conjunto de dados do BigQuery.
No Console do Google Cloud, acesse a página BigQuery.
No painel Explorador, expanda o projeto.
Ao lado do conjunto de dados que você quer excluir, clique em
Ver ações e, depois, em excluir.
Exclua o bucket do Cloud Storage.
No console do Google Cloud, acesse a página Buckets do Cloud Storage.
Selecione o bucket que você quer excluir, clique em
Excluir e siga as instruções.
gcloud
Para excluir os jobs do Cloud Scheduler, use o comando
gcloud scheduler jobs delete
.gcloud scheduler jobs delete negative-ratings-publisher --location=DATAFLOW_REGION
gcloud scheduler jobs delete positive-ratings-publisher --location=DATAFLOW_REGION
Para excluir a assinatura e o tópico do Pub/Sub, use os comandos
gcloud pubsub subscriptions delete
egcloud pubsub topics delete
.gcloud pubsub subscriptions delete SUBSCRIPTION_ID gcloud pubsub topics delete TOPIC_ID
Para excluir a tabela do BigQuery, use o comando
bq rm
.bq rm -f -t PROJECT_ID:tutorial_dataset.tutorial
Exclua o conjunto de dados do BigQuery. O conjunto de dados em si não gera cobranças.
bq rm -r -f -d PROJECT_ID:tutorial_dataset
Para excluir o bucket do Cloud Storage, use o comando
gcloud storage rm
. O bucket sozinho não gera cobranças.gcloud storage rm gs://BUCKET_NAME --recursive
Revogar credenciais
Console
Se você mantiver o projeto, revogue os papéis concedidos à conta de serviço padrão do Compute Engine.
- No console do Google Cloud, abra a página IAM.
Selecione um projeto, pasta ou organização.
Encontre a linha que contém o principal cujo acesso você quer revogar. Nessa linha, clique em
Editar principal.Clique no botão Excluir
de cada papel a ser revogado e, em seguida, clique em Salvar.
gcloud
- Se você mantiver o projeto, revogue os papéis concedidos à conta de serviço padrão do Compute Engine. Execute o comando a seguir uma
vez para cada um dos seguintes papéis do IAM:
roles/dataflow.admin
roles/dataflow.worker
roles/storage.admin
roles/pubsub.editor
roles/bigquery.dataEditor
gcloud projects remove-iam-policy-binding <var>PROJECT_ID</var> \ --member=serviceAccount:<var>PROJECT_NUMBER</var>-compute@developer.gserviceaccount.com \ --role=<var>ROLE</var>
-
Optional: Revoke the authentication credentials that you created, and delete the local credential file.
gcloud auth application-default revoke
-
Optional: Revoke credentials from the gcloud CLI.
gcloud auth revoke
A seguir
- Estenda seu modelo do Dataflow com UDFs.
- Saiba mais sobre como usar os modelos do Dataflow.
- Veja todos os modelos fornecidos pelo Google.
- Leia sobre como usar o Pub/Sub para criar e usar tópicos e como criar uma assinatura de pull.
- Saiba mais sobre como usar o Cloud Scheduler para programar e executar cron jobs.
- Leia sobre o uso do BigQuery para criar conjuntos de dados.
- Saiba mais sobre as assinaturas do Pub/Sub.
- Confira arquiteturas de referência, diagramas, tutoriais e práticas recomendadas do Google Cloud. Confira o Centro de arquitetura do Cloud.