本文說明如何排解 Storage Intelligence、儲存空間分析 庫存報表、儲存空間分析 資料集和 儲存空間批次作業的常見問題。
Storage Intelligence 設定錯誤
下列各節說明為資源設定或管理 Storage Intelligence 時,可能會遇到的錯誤。
400:bucket 名稱無效
問題:要求會傳回 400 Bad Request,並顯示訊息 The specified
bucket is not valid.
解決方法:要求無效。請確認要求符合下列規定:
- 使用
locations/global。Storage Intelligence 不支援其他位置。 - 確認
bucket_id_regexes中的 bucket 名稱或規則運算式有效。
以下是有效要求的範例:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"edition_config": "STANDARD",
"filter": {
"included_cloud_storage_buckets": {
"bucket_id_regexes": [
"my-bucket-name",
"prod-data-.*"
]
}
}
}' \
"https://storage.googleapis.com/v2/projects/PROJECT_ID/locations/global/intelligenceConfig?updateMask=edition_config,filter"400:引數無效 - 更新遮罩為空白
問題:傳送設定或更新要求時,要求會傳回 400 Bad Request,並顯示 Empty UPDATE_MASK in the request. 訊息。
解決方法:在要求中提供非空白的 UPDATE_MASK。UPDATE_MASK 指定 IntelligenceConfig 資源中要更新的 FieldMask 欄位 (例如 updateMask=edition_config 或 updateMask=edition_config,filter),並以逗號分隔的清單表示。
400:更新遮罩路徑無效
問題:更新設定時,要求會傳回 400 Bad Request,並顯示訊息 Invalid UPDATE_MASK paths.
解決方案:確認 UPDATE_MASK 中的每個欄位名稱都與 IntelligenceConfig 資源中的有效欄位相符。
400:無法編輯欄位
問題:更新設定時,要求會傳回 400 Bad Request,並顯示訊息 Invalid UPDATE_MASK: UPDATE_TIME field is not editable.
解決方法:從 UPDATE_MASK 移除無法編輯的系統欄位 (例如 UPDATE_TIME)。僅指定 IntelligenceConfig 中定義的可變動欄位。
400:無效值
問題:要求會傳回 400 Bad Request,並顯示訊息 Invalid value
at storage_intelligence.edition_config.
解決方法:將 edition_config 設為支援的值:INHERIT、STANDARD 或 DISABLED。
400:非空白篩選器
問題:要求會傳回 400 Bad Request,並顯示訊息 Non-empty
filter cannot be specified for INHERIT or DISABLED edition configuration.
解決方法:從要求中移除bucket 篩選器。如果 edition_config 設為 INHERIT 或 DISABLED,則不支援 bucket 篩選器。
400:篩選器中的位置或值區值為空白
問題:要求會傳回 400 Bad Request,並顯示訊息 Empty
location or bucket values in filter.
解決方案:確認 location 和 bucket 在值區篩選器中都不是空字串。
儲存空間分析常見問題
每天產生多份資產盤點清單報告
問題:庫存報表設定每天會產生多個報表檔案。
解決方案:如果 bucket 包含超過 1,000,000 個物件,Cloud Storage 會將庫存報表分片,每 1,000,000 個物件產生一個分片。舉例來說,如果 bucket 包含 3,500,000 個物件,就會產生四個報表分片和一個列出每個分片的資訊清單檔案。
目的地值區中未顯示庫存報表
問題:庫存報表未顯示在目的地 bucket 中。
解決方法:如果報表未傳送至目的地值區,請確認下列事項:
確認設定的開始日期已過。詳情請參閱「建立商品目錄報表設定」。
查看商品目錄報表記錄,找出失敗的報表及其根本原因。如要查看庫存報表記錄,請完成下列步驟:
- 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
在 bucket 清單中,點選包含商品型錄報表設定的來源 bucket 名稱。
在「Bucket details」(值區詳細資料) 頁面上,按一下「Inventory reports」(清單報表) 分頁標籤。
在資產盤點清單報告設定清單中,按一下產生要檢查報告的資產盤點清單報告設定 UUID。
檢查「目錄報表記錄」部分是否有失敗情形。將指標懸停在「說明」圖示 () 上,即可查看失敗原因的詳細資料。
- 前往 Google Cloud 控制台的「Cloud Storage bucket」頁面。
請確認專案層級服務代理已獲授權,可讀取及寫入資產清單報表所需的 IAM 角色。詳情請參閱「將必要角色授予服務代理」。
廣告空間報表延遲
問題:庫存報表產生作業延遲。
解決方法:報表產生時間不一。最多延遲 24 小時是正常現象。
資料集未填入資料
問題:儲存空間分析 資料集資料表仍為空白。
解決方法:在連結的 BigQuery 資料集中,檢查error_attributes_view錯誤代碼。詳情請參閱「排解資料集錯誤」。
查詢資料集時,「ref」欄中的空值
問題:在 BigQuery 中查詢儲存空間分析資料集時,ref 欄會傳回 null。
解決方法:如果物件結尾為 /,資料集中的 ref 欄會是空值。
如果您在 BigQuery 中查詢 Storage Insights 資料集時,ref 欄傳回空值,請確認您已授予必要的連線權限和角色,包括存取 Cloud Storage 資源的權限,如「使用 BigQuery 分析物件資料和中繼資料」一文所述。
Storage 批次作業工作驗證錯誤
本節說明向 storagebatchoperations.googleapis.com 提交批次作業工作要求時發生的驗證錯誤。
400:工作 ID 或資源名稱無效
問題:工作建立要求會傳回 400 Bad Request (INVALID_ARGUMENT) 回應,原因為 JOB_ID_INVALID 或 RESOURCE_NAME_TOO_LONG。
解決方案:確認工作 ID 包含 1 到 63 個小寫英數字元或連字號 ([a-z0-9]([-a-z0-9]*[a-z0-9])?),且完整資源路徑未超過 1,024 個位元組。詳情請參閱工作名稱。
400:轉換參數衝突或缺漏
問題:工作建立要求會傳回 400 Bad Request (INVALID_ARGUMENT) 回應,並顯示 TRANSFORMATION_NOT_SPECIFIED、REWRITE_OBJECT_MISSING_PARAMETERS、PUT_OBJECT_HOLD_MISSING_PARAMETERS 或 PUT_METADATA_MISSING_PARAMETERS 原因。
解決方法:指定一個轉換類型,並提供所有必要參數。如要設定物件保留功能,請確認值區已啟用物件鎖定,且時間戳記採用 RFC 3339 UTC 格式。如要進一步瞭解各項轉換的參數需求,請參閱「工作類型」。
400:物件前置字串重疊或重複
問題:工作建立要求會傳回 400 Bad Request (INVALID_ARGUMENT) 回應,原因為 OBJECT_PREFIX_OVERLAP 或 DUPLICATE_OBJECT_PREFIX。
解決方法:移除重複的前置字串,並確保清單中沒有任何前置字串是其他項目的前置字串。included_object_prefixes詳情請參閱「物件前置字元」。
400:資訊清單檔案格式和存取問題
問題:工作建立要求會傳回 400 Bad Request (INVALID_ARGUMENT) 回應,並顯示 MANIFEST_LOCATION_REQUIRED 或 MANIFEST_LOCATION_INVALID 原因,或工作無法讀取資訊清單。
解決方法:確認資訊清單 URI 是有效的 CSV 路徑 (gs://<bucket_name>/<path>/<object_name>.csv),且儲存空間批次作業服務代理程式在資訊清單值區中具有 roles/storage.objectViewer 角色。如要進一步瞭解 CSV 格式和架構規定,請參閱「資訊清單」。
400:儲存空間分析資料集探索錯誤
問題:使用儲存空間分析資料集探索物件時,系統會傳回 400 Bad Request (INVALID_ARGUMENT 或 FAILED_PRECONDITION) 回應,並顯示 BUCKET_DISCOVERY_SNAPSHOT_TOO_OLD、TARGET_LOCATIONS_REQUIRED_FOR_SNAPSHOT_TIME 或 BUCKET_DISCOVERY_TOO_MANY_BUCKETS 原因。
解決方法:確認 snapshot_time 位於過去 48 小時內,為值區指定 target_locations,並確保探索查詢比對的值區不超過 1,000 個。詳情請參閱「使用儲存空間分析資料集建立資訊清單」。
400:在已啟用自動調整級別功能的 bucket 上,儲存空間級別轉換失敗
問題:工作建立要求會傳回 400 Bad Request (FAILED_PRECONDITION) 回應,並附上原因 AUTOCLASS_STORAGE_CLASS_TRANSFORMATION_UNSUPPORTED。
解決方案:如果 bucket 啟用自動調整級別功能,就無法執行儲存空間級別轉換。請指定沒有自動調整級別功能的值區,或移除儲存空間級別轉換。詳情請參閱「Autoclass 限制」。
400:無法更新統一值區層級存取權值區的物件 ACL
問題:工作建立要求會傳回 400 Bad Request (FAILED_PRECONDITION) 回應,並附上原因 UBLA_OBJECT_ACL_UPDATE_UNSUPPORTED。
解決方法:如果值區已啟用統一值區層級存取權,您就無法更新物件 ACL。請改用 bucket 或專案層級的 IAM 角色管理存取權。詳情請參閱「統一 bucket 層級存取權」。
Storage 批次作業執行階段和執行問題
本節說明非同步執行批次作業工作時發生的問題。
403:執行期間發生權限錯誤
問題:批次工作在執行期間失敗,並顯示 403 Forbidden
(PERMISSION_DENIED)。
解決方法:為 Storage 批次作業服務代理程式 (service-PROJECT_NUMBER@gcp-sa-storagebatchoperations.iam.gserviceaccount.com) 授予轉換類型所需的 IAM 角色。詳情請參閱「授予服務代理權限」。
物件重寫期間發生 CMEK 加密錯誤
問題:由於 Cloud KMS 金鑰狀態或權限錯誤,物件重寫作業失敗並顯示 400 Bad Request 或 403 Forbidden。
解決方案:確認 Cloud KMS 金鑰為 Enabled,且與目標 bucket 位於相同區域,並確認服務代理具備 roles/cloudkms.cryptoKeyEncrypterDecrypter 角色。詳情請參閱「工作類型:重寫物件」。
error_summaries 中的失敗次數偏高
問題:批次工作完成時,counters.failed_object_count 為非零值,且 error_summaries 中有錯誤代碼 (例如 404 NOT_FOUND、412
FAILED_PRECONDITION 或 403 PERMISSION_DENIED)。
解決方法:使用 gcloud storage batch-operations jobs describe 搭配 --location 旗標 (例如 gcloud storage batch-operations jobs describe JOB_ID --location=LOCATION) 執行,即可查看匯總的錯誤細目,並在 Cloud Logging 中查看每個物件的錯誤記錄。詳情請參閱「取得工作詳細資料」。
快照已超過兩天,因此 Storage 批次作業工作失敗
問題:建立以 CEL 篩選器為基礎的儲存空間批次作業工作時,工作建立作業會失敗。錯誤訊息指出快照時間已超過兩天。
解決方法:為避免對過時的物件狀態執行動作,儲存空間批次作業會自動停止建立工作。如果所選快照的建立時間超過兩天,就會發生這項錯誤。如要解決這個問題,請選取下列其中一種做法:
- 使用資訊清單檔案:在 BigQuery 中手動查詢資料集。將結果匯出至 CSV 資訊清單檔案,然後將該檔案上傳至 Cloud Storage bucket。接著,您可以使用資訊清單方法建立批次作業,避免受到兩天限制。
- 檢查資料集設定:確認資料集設定已啟用,且未設為暫停狀態。確認資料集快照已順利執行。如要瞭解如何驗證設定,請參閱「查看資料集設定」。
- 使用目標位置和快照時間覆寫:指定
--target-snapshot-time旗標,以 RFC 3339 格式明確選取快照,藉此略過兩天過時失敗。指定--target-locations標記,將作業限制在快照所在位置。您可以使用這些覆寫設定,解決導致自動全域快照無法更新的同步延遲問題。因此,您可以手動指定較新的區域快照。如需指令語法,請參閱「使用進階篩選器建立工作」。
新訂閱的專案無法執行以 CEL 篩選器為基礎的 Storage 批次作業工作
問題:在剛訂閱的專案上執行以 CEL 篩選器為準的儲存空間批次作業工作時,系統找不到有效快照,因此作業會失敗。
解決方案:啟用 Storage Intelligence 訂閱方案後,您必須等待 24 小時,才能執行以 CEL 篩選器為準的儲存空間批次作業工作。這段延遲時間可讓系統執行初始中繼資料快照,並建立起始快照時間。
以 CEL 篩選器為基礎的儲存空間批次作業工作失敗,並顯示權限錯誤或擲回執行階段錯誤
問題:以 CEL 篩選器為基礎的儲存空間批次作業工作在執行期間失敗,或傳回執行階段權限錯誤。
解決方案:儲存空間批次作業會使用您的使用者憑證處理物件。如果沒有目標值區和物件的必要 IAM 讀取者或寫入者權限,工作就會失敗。如果 CEL 篩選器選取你無權存取的資源,就會發生這個問題。確認您的帳戶具備儲存空間管理員 (roles/storage.admin)、儲存空間物件管理員 (roles/storage.objectAdmin) 或等同的角色,可存取作業範圍內的所有 bucket 和物件。如需授予角色的操作說明,請參閱「使用 IAM 權限」。
監控與記錄分析
如要進一步瞭解如何在 Cloud Logging 中檢查每個物件的執行失敗情形和錯誤酬載,請參閱「查看儲存空間批次作業記錄」。