推送訂閱者是一種 Pub/Sub 訂閱者,可將訊息從 Pub/Sub 傳送至使用者指定的 HTTPS 端點。使用者會傳回 HTTP 200 回應給推播伺服器的要求,藉此確認推播訊息。本文提供一些常見的 Pub/Sub 推播訂閱疑難排解提示。如要進一步瞭解推送訂閱,請參閱推送訂閱者指南。
如要有效監控 Pub/Sub 訂閱,建議您先查看傳送延遲時間健康分數 (subscription/delivery_latency_health_score
),確認哪些因素可能導致非預期的延遲時間。
推送端點失敗或速度緩慢
如果端點傳回錯誤回應代碼,系統就會將訊息傳送視為失敗,並稍後重試。這可能會導致端點收到重複的訊息。
您可以使用多種指標監控推播訂閱。Cloud Metrics 中的 subscription/push_request_count
指標會依據 response_code
和 response_class
將推送端點的回應分類。這些回應有助於識別潛在的端點故障問題。如果這個指標的資料含有 response_class
(而非 ack
),表示推送端點會將錯誤傳回至 Pub/Sub。常見錯誤包括:
deadline_exceeded
回應類別表示推送端點未在必要的確認 (ACK) 期限內回應。subscription/push_request_latencies
指標可協助追蹤推送回應延遲時間。invalid
回應類別表示端點傳回的回應,是 Pub/Sub 無法正確理解或處理的回應。remote_server_4xx
回應類別通常表示驗證或權限問題。這些是端點傳回的 HTTP 回應代碼,因此請查看傳回此回應代碼的情況。如果已啟用驗證功能,請確認您的帳戶在端點上具備適當權限。進一步瞭解推播訂閱項目中的驗證機制。remote_server_5xx
回應類別表示端點端的伺服器端問題。端點無法處理要求。這可能是因為維護作業或服務中斷。查看代管端點的伺服器狀態。unreachable
回應類別表示無法連上端點伺服器。確認端點網址是否有誤。
進一步瞭解 Pub/Sub API 的常見錯誤代碼 。
在 VPC-SC 範圍內限制推送訂閱
如果專案已啟用 VPC Service Controls (VPC-SC) 保護功能,則建立推播訂閱項目時會受到限制。現有的推播訂閱會繼續運作,但建立新的推播訂閱時,您會看到錯誤訊息:Request is prohibited by organization's policy
。具體來說,只有在推送端點是使用預設 run.app
網址的 Cloud Run 服務時,才能建立新的推送訂閱項目。如需更多詳細資訊和特定限制,請參閱 Pub/Sub 說明文件和 VPC-SC 說明文件。