Este documento descreve como criar uma subscrição de obtenção. Pode usar a consola, a CLI do Google Cloud, a biblioteca cliente ou a API Pub/Sub para criar uma subscrição de obtenção. Trusted Cloud
Antes de começar
- Saiba mais acerca das subscrições.
- Avalie se a sua empresa requer uma subscrição de obtenção.
- Compreenda como funcionam as subscrições de obtenção.
Funções e autorizações necessárias
Para criar uma subscrição, tem de configurar o controlo de acesso ao nível do projeto. Também precisa de autorizações ao nível do recurso se as suas subscrições e tópicos estiverem em projetos diferentes, conforme abordado mais adiante nesta secção.
Para receber as autorizações de que
precisa para criar subscrições de obtenção,
peça ao seu administrador para lhe conceder a
função IAM Editor do Pub/Sub (roles/pubsub.editor
)
no projeto.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Esta função predefinida contém as autorizações necessárias para criar subscrições de obtenção. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para criar subscrições de obtenção:
-
Extrair de uma subscrição:
pubsub.subscriptions.consume
-
Crie uma subscrição:
pubsub.subscriptions.create
-
Elimine uma subscrição:
pubsub.subscriptions.delete
-
Obtenha uma subscrição:
pubsub.subscriptions.get
-
Anuncie uma subscrição:
pubsub.subscriptions.list
-
Atualize uma subscrição:
pubsub.subscriptions.update
-
Anexe uma subscrição a um tópico:
pubsub.topics.attachSubscription
-
Obtenha a Política IAM para uma subscrição:
pubsub.subscriptions.getIamPolicy
-
Configure a política IAM para uma subscrição:
pubsub.subscriptions.setIamPolicy
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Se precisar de criar subscrições de obtenção num projeto associadas a um tópico noutro projeto, peça ao administrador do tópico que lhe conceda também a função de IAM (roles/pubsub.editor)
editor do Pub/Sub no tópico.
Extraia propriedades de subscrição
Quando configura uma subscrição de obtenção, pode especificar as seguintes propriedades.
Propriedades comuns
Saiba mais sobre as propriedades de subscrição comuns que pode definir em todas as subscrições.
Entrega exatamente uma vez
Entrega exatamente uma vez. Se estiver definida, a Pub/Sub cumpre as garantias de entrega exatamente uma vez. Se não for especificado, a subscrição suporta a entrega pelo menos uma vez para cada mensagem.
Crie uma subscrição de obtenção
Os exemplos seguintes demonstram como criar uma subscrição com entrega de obtenção, usando as predefinições fornecidas.
Consola
Para criar uma subscrição de obtenção, conclua os passos seguintes.
Na Trusted Cloud consola, aceda à página Subscrições.
- Clique em Criar subscrição.
No campo ID da subscrição, introduza um nome.
Para obter informações sobre como atribuir um nome a uma subscrição, consulte as Diretrizes para atribuir um nome a um tópico ou a uma subscrição.
- Escolha ou crie um tópico no menu pendente. A subscrição recebe mensagens do tópico.
- Mantenha o Tipo de fornecimento como Extração.
- Mantenha todos os outros valores predefinidos.
- Clique em Criar.
Também pode criar uma subscrição na secção Tópicos. Este atalho é útil para associar tópicos a subscrições.
Na Trusted Cloud consola, aceda à página Tópicos.
- Clique emmore_vertjunto ao tópico no qual quer criar uma subscrição.
- No menu de contexto, selecione Criar subscrição.
Introduza o ID da subscrição.
Para obter informações sobre como atribuir um nome a uma subscrição, consulte as Diretrizes para atribuir um nome a um tópico ou a uma subscrição.
- Mantenha o Tipo de fornecimento como Extração.
- Mantenha todos os outros valores predefinidos.
- Clique em Criar.
gcloud
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted 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.
-
Para criar uma subscrição de obtenção, execute o comando
gcloud pubsub subscriptions create
.gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_ID
Substitua o seguinte:
SUBSCRIPTION_ID
: o nome ou o ID da sua nova subscrição de obtenção.TOPIC_ID
: o nome ou o ID do seu tópico.
- PROJECT_ID é o ID do seu projeto.
- SUBSCRIPTION_ID é o ID da sua subscrição.
- TOPIC_ID é o ID do seu tópico.
REST
Para criar uma subscrição de obtenção, use o método
projects.subscriptions.create
:
Pedido:
O pedido tem de ser autenticado com um token de acesso no cabeçalho Authorization
. Para obter um token de acesso para as Credenciais padrão da aplicação atuais:
gcloud auth application-default print-access-token
.
PUT https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID Authorization: Bearer ACCESS_TOKEN
Corpo do pedido:
{ "topic": "projects/PROJECT_ID/topics/TOPIC_ID" }
Onde:
Resposta:
{ "name": "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID", "topic": "projects/PROJECT_ID/topics/TOPIC_ID", "pushConfig": {}, "ackDeadlineSeconds": 10, "messageRetentionDuration": "604800s", "expirationPolicy": { "ttl": "2678400s" } }
C++
Antes de experimentar este exemplo, siga as instruções de configuração do C++ no artigo Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API C++ do Pub/Sub.
C#
Antes de experimentar este exemplo, siga as instruções de configuração do C# em Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API C# do Pub/Sub.
Ir
O exemplo seguinte usa a versão principal da biblioteca de cliente Go Pub/Sub (v2). Se ainda estiver a usar a biblioteca v1, consulte o guia de migração para a v2. Para ver uma lista de exemplos de código da v1, consulte os exemplos de código descontinuados.
Antes de experimentar este exemplo, siga as instruções de configuração do Go em Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Go do Pub/Sub.
Java
Antes de experimentar este exemplo, siga as instruções de configuração do Java no artigo Início rápido: usar bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Java do Pub/Sub.
Node.js
Antes de experimentar este exemplo, siga as instruções de configuração do Node.js em Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js do Pub/Sub.
Node.ts
Antes de experimentar este exemplo, siga as instruções de configuração do Node.js em Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js do Pub/Sub.
PHP
Antes de experimentar este exemplo, siga as instruções de configuração do PHP no artigo Início rápido: usar bibliotecas cliente. Para mais informações, consulte a documentação de referência da API PHP Pub/Sub.
Python
Antes de experimentar este exemplo, siga as instruções de configuração do Python em Início rápido: usar bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Python Pub/Sub.
Ruby
O exemplo seguinte usa a biblioteca cliente Ruby Pub/Sub v3. Se ainda estiver a usar a biblioteca v2, consulte o guia de migração para a v3. Para ver uma lista de exemplos de código do Ruby v2, consulte os exemplos de código descontinuados.
Antes de experimentar este exemplo, siga as instruções de configuração do Ruby em Início rápido: usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Ruby Pub/Sub.
Monitorize as subscrições de obtenção
O Cloud Monitoring fornece várias métricas para monitorizar subscrições.
Para ver uma lista de todas as métricas disponíveis relacionadas com o Pub/Sub e as respetivas descrições, consulte a documentação de monitorização do Pub/Sub.
Também pode monitorizar as subscrições no Pub/Sub.
O que se segue?
- Receber mensagens de uma subscrição de obtenção.
- Crie ou modifique uma subscrição com
gcloud
comandos. - Crie ou modifique uma subscrição com APIs REST.