Scopri i passaggi per la risoluzione dei problemi, utili se eseguissi in problemi nell'uso di Pub/Sub.
Impossibile creare un argomento
Verifica di disporre dei necessari
autorizzazioni.
Per creare un argomento Pub/Sub, devi disporre del ruolo Editor Pub/Sub (roles/pubsub.editor
) di Identity and Access Management nel progetto. Se non hai 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 una sottoscrizione
Verifica di aver effettuato le seguenti operazioni:
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 hai questo ruolo, contatta l'amministratore.
Specificava un nome per l'abbonamento.
Specifica il nome di un argomento esistente a cui vuoi collegare la sottoscrizione.
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 agli abbonamenti, consulta la sezione 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 agli abbonamenti a Cloud Storage.
403 (Forbidden)
errore
Se ricevi questo errore, procedi nel seguente modo:
- Assicurati di aver abilitato l'API Pub/Sub nella nella console Google Cloud.
Assicurati che l'entità che effettua la richiesta abbia autorizzazioni richieste sulla relativa le risorse dell'API Pub/Sub, soprattutto se usi l'API Pub/Sub per le comunicazioni 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 lo spazio dei nomi pagina Autorizzazioni per controllare se L'account di servizio App Engine è elencato come editor Pub/Sub. In caso contrario, aggiungi la tua app l'account di servizio del motore come editor Pub/Sub. In genere, il service account App Engine è del tipo
<project-id>@appspot.gserviceaccount.com
.
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, un'operazione amministrativa (GET
)
viene utilizzato per verificare la presenza di un abbonamento prima
tenta di consumare le sue 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
}