Risolvere i problemi relativi a una sottoscrizione push

I sottoscrittori push sono un tipo di sottoscrittore Pub/Sub in cui i messaggi vengono inviati da Pub/Sub a un endpoint HTTPS specificato dall'utente. L'utente riconosce un messaggio push restituendo una risposta HTTP 200 alla richiesta del server push. Questo documento fornisce alcuni suggerimenti comuni per la risoluzione dei problemi relativi alle sottoscrizioni push Pub/Sub. Scopri di più sulle sottoscrizioni push nella Guida per abbonato push.

Per monitorare in modo efficace la sottoscrizione Pub/Sub, ti consigliamo di esaminare innanzitutto il punteggio di integrità della latenza di consegna (subscription/delivery_latency_health_score) per verificare quali fattori potrebbero contribuire a una latenza imprevista.

Endpoint push non funzionanti o lenti

Se l'endpoint restituisce un codice di risposta di errore, la consegna del messaggio viene considerata non riuscita e viene riprovata in un secondo momento. Ciò può potenzialmente portare l'endpoint a ricevere messaggi duplicati.

Esistono diverse metriche che puoi utilizzare per monitorare le iscrizioni push. La metrica subscription/push_request_count in Cloud Metrics classifica le risposte dell'endpoint push in base a response_code e response_class. Le risposte sono utili per l'identificazione di potenziali malfunzionamenti degli endpoint. Se questa metrica contiene dati con un valore response_class diverso da ack, significa che l'endpoint push restituisce errori a Pub/Sub. Alcuni degli errori più comuni includono:

  • Una classe di risposta deadline_exceeded indica che l'endpoint push non ha risposto entro la scadenza di riconoscimento (ack) richiesta. La metrica subscription/push_request_latencies consente di monitorare la latenza di riconoscimento push.

  • Una classe di risposta invalid indica che l'endpoint ha restituito una risposta che Pub/Sub non è riuscito a comprendere o elaborare correttamente.

  • Una classe di risposta remote_server_4xx indica in genere problemi di autenticazione o autorizzazione. Si tratta di codici di risposta HTTP restituiti dall'endpoint, quindi esamina gli scenari in cui viene restituito questo codice di risposta. Se l'autenticazione è abilitata, verifica che il tuo account disponga dell'autorizzazione corretta sull'endpoint. Scopri di più su come funziona l'autenticazione negli abbonamenti push.

  • Una classe di risposta remote_server_5xx indica un problema lato server lato endpoint. L'endpoint non è in grado di elaborare la richiesta. Ciò potrebbe essere dovuto a una manutenzione o a un'interruzione in corso. Controlla lo stato del server che ospita l'endpoint.

  • Una classe di risposta unreachable indica che il server dell'endpoint non è raggiungibile. Verifica che non siano presenti errori ortografici nell'URL dell'endpoint.

Scopri di più sui codici di errore più comuni dell'API Pub/Sub.

Limitazioni alle sottoscrizioni push all'interno di un perimetro dei controlli di servizio VPC

Se la protezione dei Controlli di servizio VPC (VPC-SC) è abilitata in un progetto, esistono limitazioni alla creazione di sottoscrizioni push. Le sottoscrizioni push esistenti continuano a funzionare, ma quando crei una nuova sottoscrizione push, viene visualizzato l'errore: Request is prohibited by organization's policy. Nello specifico, le nuove sottoscrizioni push possono essere create solo se l'endpoint push è un servizio Cloud Run che utilizza l'URL run.app predefinito. Per ulteriori dettagli e limitazioni specifiche, consulta la documentazione di Pub/Sub e la documentazione di VPC-SC.