Risoluzione dei 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 conferma un messaggio inviato tramite 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 di Pub/Sub. Per ulteriori informazioni sulle sottoscrizioni push, consulta la guida per gli abbonati push.

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

Endpoint con errori o push lenti

Se l'endpoint restituisce un codice di risposta di errore, la consegna del messaggio viene considerata non riuscita e verrà riprovata in un secondo momento. Questo può causare la ricezione di messaggi duplicati da parte dell'endpoint.

Esistono diverse metriche che puoi utilizzare per monitorare le sottoscrizioni 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 identificare potenziali malfunzionamenti degli endpoint. Se questa metrica presenta dati con un valore response_class diverso da ack, significa che l'endpoint push sta restituendo 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 conferma (ack) richiesta. La metrica subscription/push_request_latencies consente di monitorare la latenza di ACK push.

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

  • Una classe di risposta remote_server_4xx di solito indica problemi di autenticazione o autorizzazione. Si tratta di codici di risposta HTTP restituiti dall'endpoint, quindi guarda gli scenari in cui viene restituito questo codice di risposta. Se l'autenticazione è abilitata, verifica che il tuo account abbia l'autorizzazione corretta sull'endpoint. Scopri di più su come funziona l'autenticazione nelle sottoscrizioni 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 un'interruzione o a una manutenzione in corso. Controlla lo stato del server che ospita l'endpoint.

  • Una classe di risposta unreachable indica che non è possibile raggiungere il server endpoint. Verifica che l'URL dell'endpoint non contenga errori di battitura.

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

Limitazioni relative alle sottoscrizioni push all'interno di un perimetro VPC-SC

Se la protezione dei Controlli di servizio VPC (VPC-SC) è abilitata in un progetto, esistono limitazioni relative alla creazione di sottoscrizioni push. Le sottoscrizioni push esistenti continuano a funzionare, ma quando ne crei una nuova 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.