Os assinantes usam uma assinatura do Lite para ler mensagens de um tópico do Lite. Ao criar uma assinatura do Lite, você a anexa a um tópico do Lite. É possível anexar muitas assinaturas do Lite a um único tópico do Lite.
Há dois tipos de assinatura:
- Assinatura padrão. Crie uma assinatura padrão quando você tiver um cliente que precisa ler mensagens do tópico do Lite.
- Exportar assinatura. Crie uma assinatura de exportação quando precisar exportar mensagens do Lite para o Pub/Sub. Para mais informações, consulte Exportar mensagens do Pub/Sub Lite para o Pub/Sub.
Propriedades de uma assinatura do Lite
Uma assinatura de um tópico do Lite zonal tem propriedades idênticas a uma assinatura de um tópico regional do Lite, exceto:
Tipo de local, uma zona ou uma região, usado no nome do recurso. Um exemplo de local de região é
us-central1
. Um exemplo de local de zona éus-central1-a
.Confiabilidade. Consulte Replicação de dados em um tópico Lite para saber mais sobre as diferenças de confiabilidade entre tópicos regionais e por zona.
Requisito de entrega de mensagens
Uma falha temporária na gravação de uma mensagem no armazenamento faz com que o editor tente enviar a mensagem novamente. Essas novas tentativas são transparentes para o usuário final. As assinaturas Lite têm uma propriedade de requisito de entrega que muda a forma como as assinaturas reagem a essas tentativas de reenvio de mensagens. É possível definir essa propriedade como uma das duas opções a seguir:
Entregue as mensagens imediatamente. Com essa opção ativada, os clientes assinantes recebem todas as mensagens depois que elas chegam ao servidor. Esse processo não depende do status das mensagens gravadas no disco. Os deslocamentos não são reutilizados, mas as mensagens com deslocamentos que não são gravadas no armazenamento podem não ser lidas novamente após uma operação de busca.
Entregar mensagens depois de armazenadas. Com essa opção ativada, o assinante não recebe mensagens até que elas sejam gravadas no disco. As mensagens têm garantia de que poderão ser lidas novamente após uma operação de busca. Ativar essa opção aumenta a latência de ponta a ponta para receber mensagens do editor para o assinante.
Diretrizes para nomear uma assinatura
Um nome de recurso do Pub/Sub Lite identifica exclusivamente um recurso do Pub/Sub Lite, como um tópico, uma assinatura ou uma reserva. O nome do recurso precisa ter o seguinte formato:
projects/project-identifier/collection/ID
project-identifier
: precisa ser o ID ou número do projeto, disponível no console do Google Cloud. Por exemplo,my-cool-project
é um ID do projeto.123456789123
é um número de projeto.collection
: precisa sertopics
,subscriptions
oureservations
.ID
: precisa estar em conformidade com as seguintes diretrizes:- não começar com a string
goog
; - Começar com uma letra
- conter entre 3 e 255 caracteres;
- conter apenas os seguintes caracteres: letras
[A-Za-z]
, números[0-9]
, traços-
, sublinhados_
, pontos.
, til~
, sinais de adição+
e símbolos de porcentagem%
É possível usar os caracteres especiais da lista anterior em nomes de recursos sem codificação para URLs. No entanto, é preciso garantir que os demais caracteres especiais sejam codificados ou decodificados corretamente quando usados em URLs. Por exemplo,
mi-tópico
é um ID inválido. No entanto,mi-t%C3%B3pico
é válido. Esse formato é importante quando você faz chamadas REST.- não começar com a string
Criar uma assinatura do Lite
Uma assinatura do Lite precisa estar no mesmo projeto e local do tópico do Lite relacionado.
Para criar um tópico do Lite, consulte Criar e gerenciar um tópico do Lite.
Para uma lista das locais disponíveis, consulte Locais do Pub/Sub Lite.
É possível criar uma assinatura Lite com o console do Google Cloud, a Google Cloud CLI ou a API Pub/Sub Lite.
Para informações sobre como criar uma assinatura de exportação, consulte Exportar mensagens do Pub/Sub Lite para o Pub/Sub.
Console
Acesse a página Assinaturas Lite.
Clique em Criar assinatura do Lite.
Insira um ID de assinatura do Lite.
Escolha um tópico Lite para receber mensagens.
Selecione Entregar mensagens imediatamente ou Entregar mensagens depois de armazenadas.
Escolha um tipo de Deslocamento inicial.
Escolha um Tipo de envio.
Clique em Criar.
gcloud
Para criar uma assinatura do Lite, use o
comando
gcloud pubsub lite-subscriptions create
:
gcloud pubsub lite-subscriptions create SUBSCRIPTION_ID \ --location=LOCATION \ --topic=TOPIC_ID \ --delivery-requirement=DELIVERY_REQUIREMENT
Substitua:
SUBSCRIPTION_ID: o ID da assinatura Lite
LOCATION: o nome de um local compatível com o Pub/Sub Lite;
TOPIC_ID: o ID do tópico Lite a ser anexado à assinatura Lite
DELIVERY_REQUIREMENT:
deliver-after-stored
oudeliver-immediately
Se a solicitação for bem-sucedida, a linha de comando exibirá uma confirmação:
Created [SUBSCRIPTION_ID].
Protocolo
Para criar uma assinatura Lite, envie uma solicitação POST
como esta:
POST https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID Authorization: Bearer $(gcloud auth print-access-token)
Substitua:
REGION: a região em que a assinatura do Lite será armazenada;
PROJECT_NUMBER: o número do projeto para criar a assinatura do Lite
LOCATION: o nome de um local compatível com o Pub/Sub Lite;
SUBSCRIPTION_ID: o ID da assinatura Lite
Especifique os campos a seguir no corpo da solicitação:
{ "topic": projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID, "deliveryConfig": { "deliveryRequirement": DELIVERY_REQUIREMENT, } }
Substitua DELIVERY_REQUIREMENT por deliver-after-stored
ou
deliver-immediately
.
Se a solicitação for bem-sucedida, a resposta será a assinatura do Lite no formato JSON:
{ "deliveryConfig": { "deliveryRequirement": DELIVERY_REQUIREMENT, } "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID", "topic": "projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID", }
Go
Antes de executar este exemplo, siga as instruções de configuração do Go nas bibliotecas de cliente do Pub/Sub Lite.
Java
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Python
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Depois de criar uma assinatura do Lite para um tópico do Lite, você poderá receber mensagens da assinatura do Lite.
Atualizar uma assinatura do Lite
É possível atualizar assinaturas do Lite com o console do Google Cloud, a Google Cloud CLI ou a API Pub/Sub Lite.
Console
Acesse a página Assinaturas Lite.
Clique no ID da assinatura do Lite.
Na página Detalhes da assinatura do Lite, clique em Editar.
gcloud
Para atualizar uma assinatura do Lite, use o
comando
gcloud pubsub lite-subscriptions update
:
gcloud pubsub lite-subscriptions update SUBSCRIPTION_ID \ --location=LOCATION \ --delivery-requirement=DELIVERY_REQUIREMENT
Substitua:
SUBSCRIPTION_ID: o ID da assinatura Lite
LOCATION: o nome do local em que a assinatura do Lite está
DELIVERY_REQUIREMENT:
deliver-after-stored
oudeliver-immediately
Se a solicitação for bem-sucedida, a linha de comando exibirá a assinatura do Lite:
deliveryConfig: deliveryRequirement: DELIVERY_REQUIREMENT name: projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID topic: projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID
Protocolo
Para atualizar uma assinatura Lite, envie uma solicitação PATCH
como esta:
PATCH https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID?updateMask=deliveryConfig.deliveryRequirement Authorization: Bearer $(gcloud auth print-access-token)
Substitua:
REGION: a região em que a assinatura do Lite será armazenada;
PROJECT_NUMBER: o número do projeto com a assinatura do Lite
LOCATION: o nome do local em que a assinatura do Lite está
SUBSCRIPTION_ID: o ID da assinatura Lite
Especifique os campos a seguir no corpo da solicitação:
{ "deliveryConfig": { "deliveryRequirement": DELIVERY_REQUIREMENT, } }
Substitua DELIVERY_REQUIREMENT por deliver-after-stored
ou
deliver-immediately
.
Se a solicitação for bem-sucedida, a resposta será a assinatura do Lite no formato JSON:
{ "deliveryConfig": { "deliveryRequirement": DELIVERY_REQUIREMENT, } "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID", "topic": "projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID", }
Go
Antes de executar este exemplo, siga as instruções de configuração do Go nas bibliotecas de cliente do Pub/Sub Lite.
Java
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Python
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Conferir os detalhes da assinatura do Lite
Para mais detalhes sobre uma assinatura do Lite, use o console do Google Cloud, a Google Cloud CLI ou a API Pub/Sub Lite.
Console
Acesse a página Assinaturas Lite.
Clique no ID da assinatura do Lite.
Na página de detalhes da assinatura do Lite, clique na guia Detalhes.
gcloud
Para ver detalhes sobre uma assinatura do Lite, use o
comando
gcloud pubsub lite-subscriptions describe
:
gcloud pubsub lite-subscriptions describe SUBSCRIPTION_ID \ --location=LOCATION
Substitua:
SUBSCRIPTION_ID: o ID da assinatura Lite
LOCATION: o nome do local em que a assinatura do Lite está
Se a solicitação for bem-sucedida, a linha de comando exibirá o tópico Lite:
deliveryConfig: deliveryRequirement: DELIVERY_REQUIREMENT name: projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID topic: projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID
Protocolo
Para ver detalhes sobre uma assinatura Lite, envie uma solicitação GET
como
esta:
GET https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID Authorization: Bearer $(gcloud auth print-access-token)
Substitua:
REGION: a região em que a assinatura do Lite será armazenada;
PROJECT_NUMBER: o número do projeto com a assinatura do Lite
LOCATION: o nome do local em que a assinatura do Lite está
SUBSCRIPTION_ID: o ID da assinatura Lite
Se a solicitação for bem-sucedida, a resposta será o tópico do Lite no formato JSON:
{ "deliveryConfig": { "deliveryRequirement": DELIVERY_REQUIREMENT, } "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID", "topic": "projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID", }
Go
Antes de executar este exemplo, siga as instruções de configuração do Go nas bibliotecas de cliente do Pub/Sub Lite.
Java
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Python
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Listar assinaturas do Lite
É possível listar as assinaturas do Lite em um projeto ou as assinaturas do Lite para um tópico do Lite.
Listar assinaturas do Lite em um projeto
É possível listar assinaturas do Lite em um projeto usando o console do Google Cloud, a Google Cloud CLI ou a API Pub/Sub Lite.
Console
Acesse a página Assinaturas Lite.
gcloud
- Para listar as assinaturas do Lite em um projeto, use o
comando
gcloud pubsub lite-subscriptions list
:
gcloud pubsub lite-subscriptions list \ --location=LOCATION
Substitua LOCATION pelo nome do local em que as assinaturas do Lite estão.
Se a solicitação for bem-sucedida, a linha de comando exibirá as assinaturas do Lite:
--- deliveryConfig: deliveryRequirement: DELIVERY_REQUIREMENT name: projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID topic: projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID --- deliveryConfig: deliveryRequirement: DELIVERY_REQUIREMENT name: projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID topic: projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID
Protocolo
- Para listar as assinaturas do Lite em um projeto, envie uma solicitação
GET
como a seguinte:
GET https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/subscriptions Authorization: Bearer $(gcloud auth print-access-token)
Substitua:
REGION: a região em que a assinatura do Lite será armazenada;
PROJECT_NUMBER: o número do projeto com a assinatura do Lite
Se a solicitação for bem-sucedida, a resposta será o tópico do Lite no formato JSON:
{ "subscriptions": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID" }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID" } ] }
Go
Antes de executar este exemplo, siga as instruções de configuração do Go nas bibliotecas de cliente do Pub/Sub Lite.
Java
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Python
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Como listar assinaturas do Lite para um tópico do Lite
É possível listar assinaturas do Lite em um tópico do Lite usando o console do Google Cloud, a Google Cloud CLI ou a API Pub/Sub Lite.
Console
Acesse a página Tópicos do Lite.
Selecione um ID de tópico do Lite.
Na página de detalhes dos tópicos do Lite, a seção de Assinaturas do Lite inclui uma lista de assinaturas para o tópico.
gcloud
- Para listar as assinaturas Lite de um tópico, use o
comando
gcloud pubsub lite-topics list-subscriptions
:
gcloud pubsub lite-topics list-subscriptions TOPIC_ID \ --location=LOCATION
Substitua:
TOPIC_ID: o ID do tópico do Lite a que as assinaturas do Lite estão anexadas
LOCATION: o nome do local em que a assinatura do Lite está
Se a solicitação for bem-sucedida, a linha de comando exibirá as assinaturas do Lite:
--- deliveryConfig: deliveryRequirement: DELIVERY_REQUIREMENT name: projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID topic: projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID --- deliveryConfig: deliveryRequirement: DELIVERY_REQUIREMENT name: projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID topic: projects/PROJECT_NUMBER/locations/LOCATION/topics/TOPIC_ID
Protocolo
- Para listar as assinaturas do Lite em um tópico do Lite, envie uma solicitação
GET
como a seguinte:
GET https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/lite-topics/TOPIC_ID/subscriptions Authorization: Bearer $(gcloud auth print-access-token)
Substitua:
REGION: a região em que a assinatura do Lite será armazenada;
PROJECT_NUMBER: o número do projeto com a assinatura do Lite
LOCATION: o nome do local em que a assinatura do Lite está
TOPIC_ID: o ID do tópico do Lite a que as assinaturas do Lite estão anexadas
Se a solicitação for bem-sucedida, a resposta será uma lista de assinaturas Lite no formato JSON:
{ "subscriptions": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID" }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID" } ] }
Go
Antes de executar este exemplo, siga as instruções de configuração do Go nas bibliotecas de cliente do Pub/Sub Lite.
Java
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Python
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Excluir uma assinatura do Lite
É possível excluir assinaturas do Lite com o console do Google Cloud, a Google Cloud CLI ou a API Pub/Sub Lite.
Console
Acesse a página Assinaturas Lite.
Clique no ID da assinatura do Lite.
Na página Detalhes da assinatura do Lite, clique em Excluir.
Na caixa de diálogo exibida, clique em Excluir para confirmar a exclusão da assinatura do Lite.
gcloud
Para excluir uma assinatura Lite, use o
comando
gcloud pubsub lite-subscriptions delete
:
Execute o comando
delete
:gcloud pubsub lite-subscriptions delete SUBSCRIPTION_ID \ --location=LOCATION
Substitua:
SUBSCRIPTION_ID: o ID da assinatura Lite
LOCATION: o nome do local em que a assinatura do Lite está
Para confirmar, digite
Y
.
Se a solicitação for bem-sucedida, a linha de comando exibirá uma confirmação:
Deleted subscription [SUBSCRIPTION_ID].
Protocolo
- Para excluir um tópico do Lite, envie uma solicitação
DELETE
como a seguinte:
DELETE https://REGION-pubsublite.googleapis.com/v1/admin/projects/PROJECT_NUMBER/locations/LOCATION/subscriptions/SUBSCRIPTION_ID Authorization: Bearer $(gcloud auth print-access-token)
Substitua:
REGION: a região em que a assinatura do Lite será armazenada;
PROJECT_NUMBER: o número do projeto com a assinatura do Lite
LOCATION: o nome do local em que a assinatura do Lite está
SUBSCRIPTION_ID: o ID da assinatura Lite
Se a solicitação for bem-sucedida, a resposta será um objeto JSON vazio.
Go
Antes de executar este exemplo, siga as instruções de configuração do Go nas bibliotecas de cliente do Pub/Sub Lite.
Java
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
Python
Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.
A seguir
- Crie e gerencie um tópico do Lite.
- Publicar mensagens em um tópico do Lite.
- Receber mensagens de uma assinatura do Lite.