排解 Cloud Storage 訂閱問題

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

查看 Cloud Storage 儲存空間訂閱方案的狀態

如要查看訂閱狀態,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 Pub/Sub 訂閱項目頁面。

    前往「訂閱項目」頁面

  2. 查看 Cloud Storage 儲存空間訂閱方案的「狀態」圖示。

    • 如果圖示是綠色勾號,代表訂閱項目狀態良好。

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

  3. 按一下 Cloud Storage 訂閱方案。

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

  4. 查看「訂閱狀態」中的錯誤訊息。

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

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

無法建立或更新訂閱項目

如果您無法建立或更新 Cloud Storage 儲存空間訂閱方案,可能是遇到下列常見問題。

找不到 bucket 錯誤

如果您在建立或更新訂閱工作流程時指定的 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.

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

訂閱狀態顯示紅色驚嘆號

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

在訂閱詳細資料頁面中,檢查「Subscription state」欄位的狀態。 Subscription state 欄位會提供更具體的錯誤,可能如下所示:

  • 找不到 Bucket:Bucket 已遭刪除。 請重新建立 bucket,或更新訂閱方案,以便使用現有的 bucket。

  • Bucket 權限遭拒:Pub/Sub 服務帳戶已無法寫入 bucket。檢查服務帳戶是否具備正確的權限

如果 Pub/Sub 訂閱項目處於錯誤狀態,系統不會將訊息寫入 bucket,而是保留在訂閱項目的待處理工作中。請注意,如果已設定,訊息不會傳送至附加的無效信件主題。未確認的訊息會保留一段時間,保留時間由 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 訂閱方案問題,請參閱「取得支援」。