Depois de criar uma subscrição, pode alterar o método de entrega para push, pull ou exportação.
Antes de começar
- Criar uma das subscrições suportadas.
Funções e autorizações necessárias
Para receber as autorizações de que
precisa para alterar os tipos de subscrição e geri-los,
peça ao seu administrador que lhe conceda a função de IAM
Editor do Pub/Sub (roles/pubsub.editor
)
no seu tópico ou 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 alterar os tipos de subscrição e geri-los. 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 alterar os tipos de subscrição e geri-los:
-
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.
Pode configurar o controlo de acesso ao nível do projeto e ao nível do recurso individual. Pode criar uma subscrição num projeto e anexá-la a um tópico localizado num projeto diferente. Certifique-se de que tem as autorizações necessárias para cada projeto.
Modifique os métodos de fornecimento
Pode alternar entre diferentes tipos de subscrição.
Consola
Para modificar uma subscrição, conclua os seguintes passos.
- Na Google Cloud consola, aceda à página Subscrições.
- Clique em more_vert junto à subscrição que quer atualizar.
- Em Tipo de fornecimento, escolha uma opção de fornecimento.
- Preencha outras propriedades de subscrição, conforme necessário.
- Clique em Atualizar.
gcloud
-
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.
-
Para modificar o URL do ponto final de envio, execute o comando
gcloud pubsub subscriptions modify-push-config
:gcloud pubsub subscriptions modify-push-config SUBSCRIPTION_ID \ --push-endpoint=PUSH_ENDPOINT
Se a subscrição já estiver a usar o fornecimento de obtenção, a definição do ponto final de envio muda o método de fornecimento para o fornecimento de envio.
Pode mudar da entrega push para a pull alterando o ponto final push para uma string vazia.
- PROJECT_ID é o ID do seu projeto.
- SUBSCRIPTION_ID é o ID da sua subscrição.
- PUSH_ENDPOINT é um URL modificado que quer aplicar como o seu novo ponto final de envio. Por exemplo,
https://myproject.appspot.com/myhandler
.
REST
Para modificar as configurações de envio de uma subscrição, use o método
projects.subscriptions.modifyPushConfig
:
Pedido:
O pedido tem de ser autenticado com um token de acesso no cabeçalho Authorization
. Para obter uma chave de acesso para as
Credenciais padrão da aplicação atuais: gcloud auth application-default print-access-token
.
POST https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID:modifyPushConfig Authorization: Bearer ACCESS_TOKEN
Corpo do pedido:
{ "pushConfig": { "pushEndpoint": "PUSH_ENDPOINT" } }
Onde:
Resposta:
Se o pedido for bem-sucedido, a resposta é um objeto JSON vazio.
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.
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.
O que se segue?
- Crie ou modifique uma subscrição com
gcloud
comandos. - Crie ou modifique uma subscrição com APIs REST.