Risoluzione dei problemi generali

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 (non http:// o HTTPS://) come protocollo per l'URL di ricezione nel campo pushEndpoint.

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
}