Como criar e gerenciar assinaturas do Lite

Esta página explica como criar, visualizar e excluir assinaturas do Lite.

As assinaturas do Lite são recursos zonais que os assinantes usam para ler mensagens de tópicos 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 tópico do Lite.

Depois de criar uma assinatura do Lite para um tópico do Lite, você poderá receber mensagens da assinatura do Lite.

Como criar assinaturas do Lite

Uma assinatura do Lite precisa estar no mesmo projeto e zona do tópico do Lite relacionado. Para uma lista das zonas disponíveis, consulte Locais do Pub/Sub Lite.

É possível criar assinaturas Lite usando o Console do Cloud, a ferramenta de linha de comando gcloud ou a API Pub/Sub Lite.

Console

  1. No Console do Cloud, acesse a página Assinaturas do Lite.

    Acessar a página "Assinaturas Lite"

  2. Clique em Criar assinatura do Lite.

  3. Insira um ID de assinatura do Lite.

  4. Escolha um tópico Lite para receber mensagens.

  5. Selecione Entregar mensagens imediatamente ou Entregar mensagens depois de armazenadas.

  6. Clique em Criar

gcloud

Para criar uma assinatura do Lite, use o comando gcloud beta pubsub lite-subscriptions create:

gcloud beta pubsub lite-subscriptions create SUBSCRIPTION_ID \
  --zone=ZONE \
  --topic=TOPIC_ID \
  --delivery-requirement=DELIVERY_REQUIREMENT

Substitua:

  • SUBSCRIPTION_ID: o ID da assinatura Lite

  • ZONE: o nome de uma zona 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 ou deliver-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/ZONE/subscriptions/SUBSCRIPTION_ID
Authorization: Bearer $(gcloud auth print-access-token)

Substitua:

Especifique os campos a seguir no corpo da solicitação:

{
  "topic": projects/PROJECT_NUMBER/locations/ZONE/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/ZONE/subscriptions/SUBSCRIPTION_ID",
  "topic": "projects/PROJECT_NUMBER/locations/ZONE/topics/TOPIC_ID",
}

Java

Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.

import com.google.cloud.pubsublite.AdminClient;
import com.google.cloud.pubsublite.AdminClientSettings;
import com.google.cloud.pubsublite.CloudRegion;
import com.google.cloud.pubsublite.CloudZone;
import com.google.cloud.pubsublite.ProjectNumber;
import com.google.cloud.pubsublite.SubscriptionName;
import com.google.cloud.pubsublite.SubscriptionPath;
import com.google.cloud.pubsublite.TopicName;
import com.google.cloud.pubsublite.TopicPath;
import com.google.cloud.pubsublite.proto.Subscription;
import com.google.cloud.pubsublite.proto.Subscription.DeliveryConfig;
import com.google.cloud.pubsublite.proto.Subscription.DeliveryConfig.DeliveryRequirement;

public class CreateSubscriptionExample {

  public static void main(String... args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String cloudRegion = "your-cloud-region";
    char zoneId = 'b';
    String topicId = "your-topic-id";
    String subscriptionId = "your-subscription-id";
    long projectNumber = Long.parseLong("123456789");

    createSubscriptionExample(cloudRegion, zoneId, projectNumber, topicId, subscriptionId);
  }

  public static void createSubscriptionExample(
      String cloudRegion, char zoneId, long projectNumber, String topicId, String subscriptionId)
      throws Exception {

    TopicPath topicPath =
        TopicPath.newBuilder()
            .setProject(ProjectNumber.of(projectNumber))
            .setLocation(CloudZone.of(CloudRegion.of(cloudRegion), zoneId))
            .setName(TopicName.of(topicId))
            .build();

    SubscriptionPath subscriptionPath =
        SubscriptionPath.newBuilder()
            .setLocation(CloudZone.of(CloudRegion.of(cloudRegion), zoneId))
            .setProject(ProjectNumber.of(projectNumber))
            .setName(SubscriptionName.of(subscriptionId))
            .build();

    Subscription subscription =
        Subscription.newBuilder()
            .setDeliveryConfig(
                // The server does not wait for a published message to be successfully
                // written to storage before delivering it to subscribers. As such, a
                // subscriber may receive a message for which the write to storage failed.
                // If the subscriber re-reads the offset of that message later on, there
                // may be a gap at that offset.
                DeliveryConfig.newBuilder()
                    .setDeliveryRequirement(DeliveryRequirement.DELIVER_IMMEDIATELY))
            .setName(subscriptionPath.toString())
            .setTopic(topicPath.toString())
            .build();

    AdminClientSettings adminClientSettings =
        AdminClientSettings.newBuilder().setRegion(CloudRegion.of(cloudRegion)).build();

    try (AdminClient adminClient = AdminClient.create(adminClientSettings)) {
      Subscription response = adminClient.createSubscription(subscription).get();
      System.out.println(response.getAllFields() + "created successfully.");
    }
  }
}

As assinaturas Lite têm uma propriedade de requisito de entrega. As assinaturas do Lite podem entregar mensagens aos assinantes imediatamente após o serviço Pub/Sub Lite receber as mensagens ou somente depois que o serviço Pub/Sub Lite armazenar a mensagem em uma partição.

Se o requisito de entrega for deliver-immediately e o serviço Pub/Sub Lite não gravar uma mensagem para o armazenamento, o serviço Pub/Sub Lite retornará um erro para o editor, mas os assinantes ainda poderão receber a mensagem.

Como atualizar assinaturas do Lite

É possível atualizar assinaturas Lite usando o Console do Cloud, a ferramenta de linha de comando gcloud ou a API Pub/Sub Lite.

Console

  1. No Console do Cloud, acesse a página Assinaturas do Lite.

    Acessar a página "Assinaturas Lite"

  2. Clique no ID da assinatura do Lite.

  3. Na página Detalhes da assinatura do Lite, clique em Editar.

gcloud

Para atualizar uma assinatura do Lite, use o comando gcloud beta pubsub lite-subscriptions update:

gcloud beta pubsub lite-subscriptions update SUBSCRIPTION_ID \
  --zone=ZONE \
  --delivery-requirement=DELIVERY_REQUIREMENT

Substitua:

  • SUBSCRIPTION_ID: o ID da assinatura Lite

  • ZONE: o nome da zona em que a assinatura do Lite está.

  • DELIVERY_REQUIREMENT: deliver-after-stored ou deliver-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/ZONE/subscriptions/SUBSCRIPTION_ID
topic: projects/PROJECT_NUMBER/locations/ZONE/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/ZONE/subscriptions/SUBSCRIPTION_ID?updateMask=deliveryConfig.deliveryRequirement
Authorization: Bearer $(gcloud auth print-access-token)

Substitua:

  • REGION: a região da zona para armazenar a assinatura do Lite

  • PROJECT_NUMBER: o número do projeto com a assinatura do Lite

  • ZONE: o nome da zona 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/ZONE/subscriptions/SUBSCRIPTION_ID",
  "topic": "projects/PROJECT_NUMBER/locations/ZONE/topics/TOPIC_ID",
}

Java

Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.

import com.google.cloud.pubsublite.AdminClient;
import com.google.cloud.pubsublite.AdminClientSettings;
import com.google.cloud.pubsublite.CloudRegion;
import com.google.cloud.pubsublite.CloudZone;
import com.google.cloud.pubsublite.ProjectNumber;
import com.google.cloud.pubsublite.SubscriptionName;
import com.google.cloud.pubsublite.SubscriptionPath;
import com.google.cloud.pubsublite.proto.Subscription;
import com.google.cloud.pubsublite.proto.Subscription.DeliveryConfig;
import com.google.cloud.pubsublite.proto.Subscription.DeliveryConfig.DeliveryRequirement;
import com.google.protobuf.FieldMask;

public class UpdateSubscriptionExample {

  public static void main(String... args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String cloudRegion = "your-cloud-region";
    char zoneId = 'b';
    // Choose an existing subscription for the sample to work.
    String subscriptionId = "your-subscription-id";
    long projectNumber = Long.parseLong("123456789");

    updateSubscriptionExample(cloudRegion, zoneId, projectNumber, subscriptionId);
  }

  public static void updateSubscriptionExample(
      String cloudRegion, char zoneId, long projectNumber, String subscriptionId) throws Exception {
    SubscriptionPath subscriptionPath =
        SubscriptionPath.newBuilder()
            .setLocation(CloudZone.of(CloudRegion.of(cloudRegion), zoneId))
            .setProject(ProjectNumber.of(projectNumber))
            .setName(SubscriptionName.of(subscriptionId))
            .build();

    FieldMask fieldMask =
        FieldMask.newBuilder().addPaths("delivery_config.delivery_requirement").build();

    Subscription subscription =
        Subscription.newBuilder()
            .setDeliveryConfig(
                // DELIVER_AFTER_STORED ensures that the server won't deliver a published message
                // to subscribers until the message has been successfully written to storage.
                DeliveryConfig.newBuilder()
                    .setDeliveryRequirement(DeliveryRequirement.DELIVER_AFTER_STORED))
            .setName(subscriptionPath.toString())
            .build();

    AdminClientSettings adminClientSettings =
        AdminClientSettings.newBuilder().setRegion(CloudRegion.of(cloudRegion)).build();

    try (AdminClient adminClient = AdminClient.create(adminClientSettings)) {
      Subscription subscriptionBeforeUpdate = adminClient.getSubscription(subscriptionPath).get();
      System.out.println("Before update: " + subscriptionBeforeUpdate.getAllFields());

      Subscription subscriptionAfterUpdate =
          adminClient.updateSubscription(subscription, fieldMask).get();
      System.out.println("After update: " + subscriptionAfterUpdate.getAllFields());
    }
  }
}

Como conseguir detalhes da assinatura do Lite

Para mais detalhes sobre uma assinatura do Lite, use o Console do Cloud, a ferramenta de linha de comando gcloud ou a API Pub/Sub Lite.

Console

  1. No Console do Cloud, acesse a página Assinaturas do Lite.

    Acessar a página "Assinaturas Lite"

  2. Clique no ID da assinatura do Lite.

gcloud

Para ver detalhes sobre uma assinatura do Lite, use o comando gcloud beta pubsub lite-subscriptions describe:

gcloud beta pubsub lite-subscriptions describe SUBSCRIPTION_ID \
  --zone=ZONE

Substitua:

  • SUBSCRIPTION_ID: o ID da assinatura Lite

  • ZONE: o nome da zona 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/ZONE/subscriptions/SUBSCRIPTION_ID
topic: projects/PROJECT_NUMBER/locations/ZONE/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/ZONE/subscriptions/SUBSCRIPTION_ID
Authorization: Bearer $(gcloud auth print-access-token)

Substitua:

  • REGION: a região da zona para armazenar a assinatura do Lite

  • PROJECT_NUMBER: o número do projeto com a assinatura do Lite

  • ZONE: o nome da zona 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/ZONE/subscriptions/SUBSCRIPTION_ID",
  "topic": "projects/PROJECT_NUMBER/locations/ZONE/topics/TOPIC_ID",
}

Java

Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.

import com.google.cloud.pubsublite.AdminClient;
import com.google.cloud.pubsublite.AdminClientSettings;
import com.google.cloud.pubsublite.CloudRegion;
import com.google.cloud.pubsublite.CloudZone;
import com.google.cloud.pubsublite.ProjectNumber;
import com.google.cloud.pubsublite.SubscriptionName;
import com.google.cloud.pubsublite.SubscriptionPath;
import com.google.cloud.pubsublite.proto.Subscription;

public class GetSubscriptionExample {

  public static void main(String... args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String cloudRegion = "your-cloud-region";
    char zoneId = 'b';
    // Choose an existing subscription.
    String subscriptionId = "your-subscription-id";
    long projectNumber = Long.parseLong("123456789");

    getSubscriptionExample(cloudRegion, zoneId, projectNumber, subscriptionId);
  }

  public static void getSubscriptionExample(
      String cloudRegion, char zoneId, long projectNumber, String subscriptionId) throws Exception {

    SubscriptionPath subscriptionPath =
        SubscriptionPath.newBuilder()
            .setLocation(CloudZone.of(CloudRegion.of(cloudRegion), zoneId))
            .setProject(ProjectNumber.of(projectNumber))
            .setName(SubscriptionName.of(subscriptionId))
            .build();

    AdminClientSettings adminClientSettings =
        AdminClientSettings.newBuilder().setRegion(CloudRegion.of(cloudRegion)).build();

    try (AdminClient adminClient = AdminClient.create(adminClientSettings)) {
      Subscription subscription = adminClient.getSubscription(subscriptionPath).get();
      System.out.println("Subscription: " + subscription.getAllFields());
    }
  }
}

Como 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.

Como listar assinaturas Lite em um projeto

É possível listar assinaturas do Lite em um projeto usando o Console do Cloud, a ferramenta de linha de comando gcloud ou a API Pub/Sub Lite.

Console

Para visualizar uma lista das assinaturas do Lite em um projeto, acesse a página Assinaturas do Lite.

gcloud

Para listar as assinaturas do Lite em um projeto, use o comando gcloud beta pubsub lite-subscriptions list:

gcloud beta pubsub lite-subscriptions list \
  --zone=ZONE

Substitua ZONE pelo nome da zona 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/ZONE/subscriptions/SUBSCRIPTION_ID
topic: projects/PROJECT_NUMBER/locations/ZONE/topics/TOPIC_ID
---
deliveryConfig:
  deliveryRequirement: DELIVERY_REQUIREMENT
name: projects/PROJECT_NUMBER/locations/ZONE/subscriptions/SUBSCRIPTION_ID
topic: projects/PROJECT_NUMBER/locations/ZONE/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 da zona para armazenar a assinatura do Lite

  • 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/ZONE/subscriptions/SUBSCRIPTION_ID"
      },
      {
          "name": "projects/PROJECT_NUMBER/locations/ZONE/subscriptions/SUBSCRIPTION_ID"
      }
  ]
}

Java

Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.

import com.google.cloud.pubsublite.AdminClient;
import com.google.cloud.pubsublite.AdminClientSettings;
import com.google.cloud.pubsublite.CloudRegion;
import com.google.cloud.pubsublite.CloudZone;
import com.google.cloud.pubsublite.LocationPath;
import com.google.cloud.pubsublite.ProjectNumber;
import com.google.cloud.pubsublite.proto.Subscription;
import java.util.List;

public class ListSubscriptionsInProjectExample {

  public static void main(String... args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String cloudRegion = "your-cloud-region";
    char zoneId = 'b';
    long projectNumber = Long.parseLong("123456789");

    listSubscriptionsInProjectExample(cloudRegion, zoneId, projectNumber);
  }

  public static void listSubscriptionsInProjectExample(
      String cloudRegion, char zoneId, long projectNumber) throws Exception {

    AdminClientSettings adminClientSettings =
        AdminClientSettings.newBuilder().setRegion(CloudRegion.of(cloudRegion)).build();

    LocationPath locationPath =
        LocationPath.newBuilder()
            .setProject(ProjectNumber.of(projectNumber))
            .setLocation(CloudZone.of(CloudRegion.of(cloudRegion), zoneId))
            .build();

    try (AdminClient adminClient = AdminClient.create(adminClientSettings)) {
      List<Subscription> subscriptions = adminClient.listSubscriptions(locationPath).get();
      for (Subscription subscription : subscriptions) {
        System.out.println(subscription.getAllFields());
      }
      System.out.println(subscriptions.size() + " subscription(s) listed.");
    }
  }
}

Como listar assinaturas do Lite para um tópico do Lite

É possível listar as assinaturas do Lite em um tópico do Lite usando o Console do Cloud, a ferramenta de linha de comando gcloud ou a API Pub/Sub Lite.

Console

  1. No Console do Cloud, acesse a página Tópicos do Lite.

    Acessar a página "Tópicos Lite"

  2. Selecione um ID de tópico do Lite.

  3. 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 beta pubsub lite-topics list-subscriptions:

gcloud beta pubsub lite-topics list-subscriptions TOPIC_ID \
  --zone=ZONE

Substitua:

  • TOPIC_ID: o ID do tópico do Lite a que as assinaturas do Lite estão anexadas

  • ZONE: o nome da zona 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/ZONE/subscriptions/SUBSCRIPTION_ID
topic: projects/PROJECT_NUMBER/locations/ZONE/topics/TOPIC_ID
---
deliveryConfig:
  deliveryRequirement: DELIVERY_REQUIREMENT
name: projects/PROJECT_NUMBER/locations/ZONE/subscriptions/SUBSCRIPTION_ID
topic: projects/PROJECT_NUMBER/locations/ZONE/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 da zona para armazenar a assinatura do Lite

  • PROJECT_NUMBER: o número do projeto com a assinatura do Lite

  • ZONE: o nome da zona 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/ZONE/subscriptions/SUBSCRIPTION_ID"
      },
      {
          "name": "projects/PROJECT_NUMBER/locations/ZONE/subscriptions/SUBSCRIPTION_ID"
      }
  ]
}

Java

Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.

import com.google.cloud.pubsublite.AdminClient;
import com.google.cloud.pubsublite.AdminClientSettings;
import com.google.cloud.pubsublite.CloudRegion;
import com.google.cloud.pubsublite.CloudZone;
import com.google.cloud.pubsublite.ProjectNumber;
import com.google.cloud.pubsublite.SubscriptionPath;
import com.google.cloud.pubsublite.TopicName;
import com.google.cloud.pubsublite.TopicPath;
import java.util.List;

public class ListSubscriptionsInTopicExample {

  public static void main(String... args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String cloudRegion = "your-cloud-region";
    char zoneId = 'b';
    long projectNumber = Long.parseLong("123456789");
    String topicId = "your-topic-id";

    listSubscriptionsInTopicExample(cloudRegion, zoneId, projectNumber, topicId);
  }

  public static void listSubscriptionsInTopicExample(
      String cloudRegion, char zoneId, long projectNumber, String topicId) throws Exception {

    TopicPath topicPath =
        TopicPath.newBuilder()
            .setProject(ProjectNumber.of(projectNumber))
            .setLocation(CloudZone.of(CloudRegion.of(cloudRegion), zoneId))
            .setName(TopicName.of(topicId))
            .build();

    AdminClientSettings adminClientSettings =
        AdminClientSettings.newBuilder().setRegion(CloudRegion.of(cloudRegion)).build();

    try (AdminClient adminClient = AdminClient.create(adminClientSettings)) {
      List<SubscriptionPath> subscriptionPaths =
          adminClient.listTopicSubscriptions(topicPath).get();
      for (SubscriptionPath subscription : subscriptionPaths) {
        System.out.println(subscription.toString());
      }
      System.out.println(subscriptionPaths.size() + " subscription(s) listed.");
    }
  }
}

Como excluir assinaturas do Lite

É possível excluir assinaturas do Lite com o Console do Cloud, a ferramenta de linha de comando gcloud ou a API Pub/Sub Lite.

Console

  1. No Console do Cloud, acesse a página Assinaturas do Lite.

    Acessar a página "Assinaturas Lite"

  2. Clique no ID da assinatura do Lite.

  3. Na página Detalhes da assinatura do Lite, clique em Excluir.

  4. 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 beta pubsub lite-subscriptions delete:

  1. Execute o comando delete:

    gcloud beta pubsub lite-subscriptions delete SUBSCRIPTION_ID \
     --zone=ZONE
    

    Substitua:

    • SUBSCRIPTION_ID: o ID da assinatura Lite

    • ZONE: o nome da zona em que a assinatura do Lite está.

  2. 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/ZONE/subscriptions/SUBSCRIPTION_ID
Authorization: Bearer $(gcloud auth print-access-token)

Substitua:

  • REGION: a região da zona para armazenar a assinatura do Lite

  • PROJECT_NUMBER: o número do projeto com a assinatura do Lite

  • ZONE: o nome da zona 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.

Java

Antes de executar este exemplo, siga as instruções de configuração do Java nas bibliotecas de cliente do Pub/Sub Lite.

import com.google.cloud.pubsublite.AdminClient;
import com.google.cloud.pubsublite.AdminClientSettings;
import com.google.cloud.pubsublite.CloudRegion;
import com.google.cloud.pubsublite.CloudZone;
import com.google.cloud.pubsublite.ProjectNumber;
import com.google.cloud.pubsublite.SubscriptionName;
import com.google.cloud.pubsublite.SubscriptionPath;

public class DeleteSubscriptionExample {

  public static void main(String... args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String cloudRegion = "your-cloud-region";
    char zoneId = 'b';
    // Choose an existing subscription.
    String subscriptionId = "your-subscription-id";
    long projectNumber = Long.parseLong("123456789");

    deleteSubscriptionExample(cloudRegion, zoneId, projectNumber, subscriptionId);
  }

  public static void deleteSubscriptionExample(
      String cloudRegion, char zoneId, long projectNumber, String subscriptionId) throws Exception {

    SubscriptionPath subscriptionPath =
        SubscriptionPath.newBuilder()
            .setLocation(CloudZone.of(CloudRegion.of(cloudRegion), zoneId))
            .setProject(ProjectNumber.of(projectNumber))
            .setName(SubscriptionName.of(subscriptionId))
            .build();

    AdminClientSettings adminClientSettings =
        AdminClientSettings.newBuilder().setRegion(CloudRegion.of(cloudRegion)).build();

    try (AdminClient adminClient = AdminClient.create(adminClientSettings)) {
      adminClient.deleteSubscription(subscriptionPath).get();
      System.out.println(subscriptionPath.toString() + " deleted successfully.");
    }
  }
}