本頁提供含有 SMT 的訂閱項目常見疑難排解提示。
監控 SMT
如要瞭解 SMT 對訂閱項目的成效和影響,請使用下列監控指標:
subscription/message_transform_latencies 指標會測量 SMT 套用至訊息所需的時間。這項指標只會測量 SMT 延遲時間,不會包含訊息傳送時間的其他部分。
這項指標提供兩個主要標籤:
status:回報轉換是否成功,或是否發生問題。filtered:指出 SMT 是否導致訊息遭到篩除。如果 SMT 篩選掉訂閱項目的訊息,Pub/Sub 會確認該訊息,且不會將訊息傳送給訂閱者。只有在 SMT 執行篩選時,這個filtered標籤才會為 true。使用 Pub/Sub 的內建篩選功能篩選的訊息不會反映在這個特定指標中。
subscription/byte_cost 指標可用來找出遭 SMT 篩除或 SMT 失敗的訊息。請找出下列特定值:
當 SMT 篩選郵件時,operation_type 為
smt_subscribe_filter_drop。如果 SMT 無法轉換訊息,您會看到
response_code,而不是OK。
積壓的工作越來越多
如果訂閱項目中累積大量待處理訊息,請檢查 subscription/message_transform_latencies 中回報的 INVALID_ARGUMENT 錯誤。
如要排解 INVALID_ARGUMENT 錯誤,請將dead-letter 主題新增至感興趣的訂閱項目。無效信件主題會擷取無法傳送給訂閱者的訊息,以及名為 CloudPubSubDeadLetterSourceSMTErrorMessage 的屬性,說明失敗原因。
後續步驟
- 如果訂閱型 SMT 仍有問題,請參閱「取得支援」。