Scopri i passaggi per la risoluzione dei problemi, utili in caso di problemi nell'utilizzo di Pub/Sub.
Impossibile creare un argomento
Verifica di disporre delle autorizzazioni necessarie.
Per creare un argomento Pub/Sub, devi disporre del ruolo Editor Pub/Sub (roles/pubsub.editor
) per Identity and Access Management nel progetto. Se non disponi di questo ruolo, contatta l'amministratore.
Per ulteriori informazioni sulla risoluzione dei problemi relativi agli argomenti, consulta Argomenti per la risoluzione dei problemi e Argomenti per la risoluzione dei problemi di importazione.
Impossibile creare un abbonamento
Verifica di aver eseguito quanto segue:
Verifica di disporre delle autorizzazioni necessarie. Per creare un abbonamento Pub/Sub, devi disporre del ruolo IAM Editor Pub/Sub (roles/pubsub.editor) nel progetto. Se non disponi di questo ruolo, contatta l'amministratore.
È stato specificato un nome per l'abbonamento.
È stato specificato il nome di un argomento esistente a cui vuoi allegare l'iscrizione.
Se crei una sottoscrizione push, specifica
https://
in lettere minuscole (nonhttp://
oHTTPS://
) come protocollo per l'URL di ricezione nel campopushEndpoint
.
Per ulteriori informazioni sulla risoluzione dei problemi relativi alle sottoscrizioni, consulta Risoluzione dei problemi relativi alle sottoscrizioni pull, Risoluzione dei problemi relativi alle sottoscrizioni push, Risoluzione dei problemi relativi alle sottoscrizioni BigQuery e Risoluzione dei problemi relativi alle sottoscrizioni Cloud Storage.
403 (Forbidden)
errore
Se ricevi questo errore, procedi nel seguente modo:
- Assicurati di aver attivato l'API Pub/Sub nella console Google Cloud.
Assicurati che il principale che effettua la richiesta disponga delle autorizzazioni richieste per le risorse dell'API Pub/Sub pertinenti, soprattutto se utilizzi l'API Pub/Sub per la comunicazione tra progetti.
Se utilizzi Dataflow, assicurati che sia il servizio
{PROJECT_NUMBER}@cloudservices.gserviceaccount.com
{PROJECT_NUMBER}-compute@developer.gserviceaccount.com
Dataflow sia l'account di servizio Compute Engine abbiano le autorizzazioni richieste per la risorsa API Pub/Sub pertinente. Per ulteriori informazioni, consulta Autorizzazioni e sicurezza di Dataflow.Se utilizzi App Engine, controlla la pagina Autorizzazioni del progetto per verificare se un account di servizio App Engine è elencato come Editor Pub/Sub. In caso contrario, aggiungi il tuo account di servizio App Engine come editor Pub/Sub. In genere, il service account App Engine è del tipo
<project-id>@appspot.gserviceaccount.com
.
Altri codici di errore comuni
Per un elenco di altri codici di errore comuni relativi all'API Pub/Sub e le relative descrizioni, consulta Codici di errore.
Utilizzo di quantità eccessive di operazioni amministrative
Se noti che stai utilizzando una quantità eccessiva della tua
quota per le operazioni amministrative,
potrebbe essere necessario eseguire il refactoring del codice. Come esempio, considera questo pseudocodice. In questo esempio, viene utilizzata un'operazione amministrativa (GET
) per verificare la presenza di un abbonamento prima di tentare di consumarne le risorse. Sia GET
sia CREATE
sono operazioni di amministratore:
if !GetSubscription my-sub {
CreateSubscription my-sub
}
Consume from subscription my-sub
Un pattern più efficiente è provare a utilizzare i messaggi dell'abbonamento (supponendo che tu possa essere ragionevolmente certo del nome dell'abbonamento). In questo approccio ottimistico, l'abbonamento viene recuperato o creato solo se si verifica un errore. Considera questo esempio:
try {
Consume from subscription my-sub
} catch NotFoundError {
CreateSubscription my-sub
Consume from subscription my-sub
}