排解 Cloud Storage 訂閱問題

本頁提供一些常見的 Cloud Storage 訂閱疑難排解提示。

查看 Cloud Storage 訂閱項目的狀態

如要查看訂閱狀態,請執行下列步驟:

  1. 在 Google Cloud 控制台中,前往 Pub/Sub 訂閱頁面。

    前往「訂閱項目」頁面

  2. 檢查 Cloud Storage 訂閱項目的「狀態」圖示。

    • 如果圖示是綠色勾號,表示訂閱項目運作正常。

    • 如果圖示為紅色驚嘆號,表示訂閱處於錯誤狀態。

  3. 按一下 Cloud Storage 訂閱項目。

    系統會開啟訂閱詳細資料頁面。

  4. 請查看「訂閱狀態」,瞭解錯誤訊息。

  5. 請根據錯誤訊息,前往本頁的相關章節排解問題。

問題解決後,訂閱項目最終會恢復正常狀態。

無法建立或更新訂閱項目

以下是建立或更新 Cloud Storage 訂閱時可能遇到的常見問題。

找不到值區錯誤

如果在建立或更新訂閱項目工作流程中指定的 bucket 不存在,工作流程會傳回 bucket not found 錯誤。在 Google Cloud 主控台中,訊息會類似以下內容:

The Cloud Storage bucket specified cannot be found.

如要解決這個問題,請建立 bucket,或更新 Cloud Storage 訂閱,以便使用現有 bucket。

服務帳戶錯誤

如果您尚未為 Pub/Sub 服務帳戶設定正確的權限,建立或更新訂閱項目的工作流程就會傳回錯誤。在 Google Cloud 主控台中,訊息會類似以下內容:

Cloud Pub/Sub did not have the necessary permissions configured to access
the provided bucket my-bucket (or the bucket may not exist).
Please verify that the service account
service-112233445566@gcp-sa-pubsub.iam.gserviceaccount.com
was granted the Storage Legacy Bucket Reader and Storage Object Creator
roles for the provided bucket.

如要解決這個問題,請檢查服務帳戶是否具備正確的權限

訂閱狀態顯示紅色驚嘆號

如果您在建立訂閱項目後編輯儲存格,可能會影響 Pub/Sub 將訊息寫入儲存格的做法。如果變更導致問題,訂閱的狀態欄位會設為錯誤狀態

在訂閱詳細資料頁面中,檢查欄位 Subscription state 的狀態。Subscription state 欄位會提供更明確的錯誤,可能為下列任一項:

  • 找不到值區:值區已遭刪除。請重新建立值區,或更新訂閱項目以使用現有值區。

  • 值區權限遭拒:Pub/Sub 服務帳戶不再具備寫入值區的權限。檢查服務帳戶是否具備正確的權限

當 Pub/Sub 訂閱處於錯誤狀態時,系統不會將訊息寫入儲存格,而是保留在訂閱待處理工作中。請注意,如果已設定,訊息不會傳送至附加的無效信件主題。未確認的訊息會保留 message_retention_duration 中設定的時間 (預設為 7 天)。

訂閱處理訊息的速度非常緩慢

部分訂閱設定可能會導致訊息處理速度變慢。

舉例來說,在 Cloud Storage 訂閱項目中啟用訊息排序功能,可能會導致訊息寫入 Cloud Storage,但不會完成,進而延遲使用相同排序鍵的後續訊息。為提升效能,建議您在發布訊息時使用更廣泛的排序鍵,或在用途不需排序時停用訊息排序功能。

為 Cloud Storage 訂閱項目設定的檔案大小上限過低,也會對效能造成負面影響。如果上限檔案大小過低,Pub/Sub 可能會建立許多 Cloud Storage 物件,但每個物件中只有少量訊息。建立和完成物件的額外負擔會減緩訊息處理速度。為提升效能,建議您考慮提高 Cloud Storage 訂閱方案的檔案大小上限,或移除檔案大小限制。

配額限制

另一種可能原因是您的專案已達到 Pub/Sub 推送傳輸量配額 (pubsub.googleapis.com/regionalpushsubscriber)。如要確認是否遇到配額限制,請檢查推送要求指標 (subscription/push_request_count),看看是否有任何 resource_exhausted 錯誤。

查看專案的配額,確認您還有足夠的配額。在包含 Pub/Sub 訂閱的專案中,依序前往「IAM 與管理」>「配額」。搜尋 pubsub.googleapis.com/regionalpushsubscriber 配額。如果您已達到配額上限,可以申請調整配額

訂閱項目產生的檔案數量超出預期

為提升可擴充性,Cloud Storage 訂閱項目可能會由多個 Pub/Sub 後端處理。每個後端都會寫入個別的 Cloud Storage 檔案,因此您可能會發現 Cloud Storage 建立的檔案比預期多,尤其是在低吞吐量工作負載的情況下。

這是正常現象。如果您想減少訂閱項目建立的檔案數量,可以考慮增加訂閱項目的檔案批次設定,以便處理較大的檔案。您也可以合併檔案,將檔案合併為較少數量的大型檔案,以便後續處理。

後續步驟

  • 如果 Cloud Storage 訂閱方案仍有問題,請參閱「取得支援」一節。