Risolvere i problemi relativi a una sottoscrizione push

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

Per monitorare efficacemente l'abbonamento Pub/Sub, ti consigliamo di esaminare prima il punteggio di integrità della latenza di recapito (subscription/delivery_latency_health_score) per verificare quali fattori potrebbero contribuire a una latenza imprevista.

Endpoint push non riusciti o lenti

Se l'endpoint restituisce un codice di risposta di errore, l'invio del messaggio viene considerato non riuscito e viene riprovato in un secondo momento. Ciò può potenzialmente portare all'invio di messaggi duplicati all'endpoint.

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

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

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

  • Una classe di risposta remote_server_4xx in genere indica 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 è attivata, verifica che il tuo account disponga dell'autorizzazione corretta per l'endpoint. Scopri di più su come funziona l'autenticazione nelle iscrizioni push.

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

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

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

Restrizioni agli abbonamenti push all'interno di un perimetro VPC-SC

Se in un progetto è attiva la protezione di Controlli di servizio VPC (VPC-SC), esistono limitazioni alla creazione di iscrizioni push. Le iscrizioni push esistenti continuano a funzionare, ma quando ne crei una nuova viene visualizzato l'errore Request is prohibited by organization's policy. Nello specifico, i nuovi abbonamenti push possono essere creati 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.