Saiba mais sobre as etapas de solução de problemas que podem ser úteis se você tiver problemas ao usar o Pub/Sub.
Não é possível criar um tópico
Verifique se você tem as permissões necessárias.
Para criar um tópico do Pub/Sub, você precisa do papel Identity and Access Management do Editor do Pub/Sub (roles/pubsub.editor
) no projeto. Se você não tiver essa função, entre em contato com o administrador.
Para mais informações sobre solução de problemas, consulte
Solução de problemas
e Solução de problemas de importação.
Não é possível criar uma assinatura
Verifique se você fez o seguinte:
Verifique se você tem as permissões necessárias. Para criar uma assinatura do Pub/Sub, você precisa do papel de IAM Editor do Pub/Sub (roles/pubsub.editor) no projeto. Se você não tiver essa função, entre em contato com o administrador.
Especificou um nome para a assinatura.
Especificou o nome de um tópico atual a que você quer anexar a assinatura.
Se você estiver criando uma assinatura push, especifique
https://
em letras minúsculas (nãohttp://
ouHTTPS://
) como o protocolo para o URL de recebimento no campopushEndpoint
.
Para mais informações sobre como resolver problemas de assinaturas, consulte Solução de problemas de assinaturas de pull, Solução de problemas de assinaturas push, Solução de problemas de assinaturas do BigQuery e Solução de problemas de assinaturas do Cloud Storage.
403 (Forbidden)
erro
Se você receber esse erro, faça o seguinte:
- Verifique se você ativou a API Pub/Sub no Console do Google Cloud.
Confira se quem fez a solicitação tem as permissões necessárias para os recursos relevantes da API Pub/Sub, especialmente se você estiver usando a API Pub/Sub para a comunicação entre projetos.
Se você usa o Dataflow, verifique se o
{PROJECT_NUMBER}@cloudservices.gserviceaccount.com
e a conta de serviço do Compute Engine{PROJECT_NUMBER}-compute@developer.gserviceaccount.com
têm as permissões necessárias no recurso da API Pub/Sub relevante. Para mais informações, consulte Segurança e permissões do Dataflow.Se você estiver usando o App Engine, verifique a página "Permissões" do projeto para ver se uma conta de serviço do App Engine está listada como um editor do Pub/Sub. Se não houver, adicione sua conta de serviço do App Engine como um editor do Pub/Sub. Normalmente, a conta de serviço do App Engine está no formato
<project-id>@appspot.gserviceaccount.com
.
Outros códigos de erro comuns
Para conferir uma lista de outros códigos de erro comuns relacionados à API Pub/Sub e as descrições deles, consulte Códigos de erro.
Operações administrativas excessivas
Se você perceber que está gastando muito da
cota de operações administrativas,
talvez seja necessário refatorar o código. Para ilustrar, considere
este pseudocódigo. Neste exemplo, uma operação administrativa (GET
)
está sendo usada para verificar a presença de uma assinatura antes de
tentar consumir os recursos dela. As operações GET
e CREATE
são do administrador:
if !GetSubscription my-sub {
CreateSubscription my-sub
}
Consume from subscription my-sub
Um padrão mais eficiente é tentar consumir mensagens da assinatura (supondo que você esteja razoavelmente seguro do nome da assinatura). Nessa abordagem otimista, você só recebe ou cria a assinatura em caso de erro. Por exemplo,
try {
Consume from subscription my-sub
} catch NotFoundError {
CreateSubscription my-sub
Consume from subscription my-sub
}