共用方式為


針對常見的 FinOps 工具組錯誤進行疑難解答

本文說明常見的 FinOps 工具組錯誤,並提供解決方案的相關信息。 如果您在使用您不瞭解或無法解決的 FinOps 工具組解決方案時收到錯誤,請尋找下列對應的錯誤碼,並採取緩和步驟解決問題。

以下是常見的錯誤碼清單及風險降低資訊。

如果提供的資訊無法解決問題,請嘗試 疑難解答指南


BadHubVersion

嚴重性:嚴重

FinOps 中樞 0.2 無法運作。 升級至 0.3 版或更新版本。

風險降低:升級至最新版的 FinOps 中樞。


InvalidExportContainer

嚴重性:嚴重

此檔案看起來像是從成本管理匯出,但不是在正確的容器中。

風險降低:更新成本管理導出以指向 'msexports' 記憶體容器。 「擷取」容器僅用於查詢擷取的成本數據。


InvalidExportVersion

嚴重性:嚴重

FinOps 中樞需要FOCUS成本匯出,但此檔案看起來像是舊版成本管理匯出。

風險降低:為FOCUS成本建立新的成本管理匯出,並停止目前的匯出,或將其變更為匯出至不同的記憶體容器。


InvalidHubVersion

嚴重性:嚴重

FinOps 中樞 0.1.1 和更早版本不適用於 數據擷取 Power BI 報表

風險降低:升級至最新版的 FinOps 中樞,或從 0.1.1 版下載 Power BI 報表。


InvalidScopeId

嚴重性:資訊

匯出路徑不是有效的範圍標識碼。 FinOps 中樞預期匯出路徑會是建立匯出範圍的 Azure 資源識別碼,以簡化管理。 它不應該造成失敗,但可能會導致範圍相關報告產生混淆的結果。

風險降低:更新成本管理導出的記憶體路徑,以針對範圍使用完整的 Azure 資源識別符。


ExportDataNotFound

嚴重性:嚴重

在指定的儲存路徑中找不到匯出。

風險降低:確認 已建立成本管理匯出 ,並使用正確的記憶體帳戶、容器和記憶體路徑進行設定。 建立之後,選取 [立即執行] 以啟動導出程式。 視帳戶大小而定,導出可能需要 15-30 分鐘才能完成。 如果您打算使用 FinOps 中樞,請更正記憶體 URL 以指向「擷取」容器。 如需完整的 URL, storageUrlForPowerBI 請參閱 FinOps 中樞部署的輸出。


HubDataNotFound

嚴重性:嚴重

在指定的記憶體帳戶中找不到 FinOps 中樞數據。

風險降低:此錯誤假設您正在連線到 FinOps 中樞部署。 如果使用原始匯出,請更正記憶體路徑,不要參考 ingestion 容器。 確認下列資訊:

  1. 記憶體 URL 應該符合 StorageUrlForPowerBI FinOps 中樞部署上的輸出。
  2. 成本管理匯出應該設定為使用 msexports 容器指向相同的記憶體帳戶。
  3. 成本管理匯出應該會在執行歷程記錄中顯示成功的匯出。
  4. 應全部啟動 FinOps 中樞數據處理站觸發程式。
  5. FinOps 中樞數據處理站管線應該會成功。

如需詳細資訊和偵錯步驟,請參閱 驗證您的 FinOps 中樞部署


MissingContractedCost

嚴重性:資訊

當 為 Null 或 0 且EffectiveCost大於 0 時ContractedCost,資料行中會顯示x_DatasetChanges此錯誤碼。 錯誤表示成本管理未包含 ContractedCost 指定數據列Microsoft,這表示無法計算節省成本。

風險降低:為了因應遺漏數據,FinOps 工具組報告會將 複製到 EffectiveCost 數據行, ContractedCost 以取得標示為此錯誤碼的數據列。 這些記錄無法節省成本。

若要計算完整的節省成本,您可以使用價格聯結成本和使用量數據。 如需詳細資訊,請參閱 問題 #873


MissingContractedUnitPrice

嚴重性:資訊

當 為 Null 或 0 且EffectiveUnitPrice大於 0 時ContractedUnitPrice,資料行中會顯示x_DatasetChanges此錯誤碼。 錯誤表示成本管理未包含 ContractedUnitPrice 指定數據列Microsoft,這表示無法計算節省成本。

風險降低:為了因應遺漏數據,FinOps 工具組報告會將 複製到 EffectiveUnitPrice 數據行, ContractedUnitPrice 以取得標示為此錯誤碼的數據列。 這些記錄無法節省成本。

若要計算完整的節省成本,您可以使用價格聯結成本和使用量數據。 如需詳細資訊,請參閱 問題 #873


MissingListCost

嚴重性:資訊

當 為 Null 或 0 且ContractedCost大於 0 時ListCost,資料行中會顯示x_DatasetChanges此錯誤碼。 錯誤表示成本管理未包含 ListCost 指定數據列Microsoft,這表示無法計算節省成本。

風險降低:為了因應遺漏數據,FinOps 工具組報告會將 複製到 ContractedCost 數據行, ListCost 以取得標示為此錯誤碼的數據列。 這些記錄無法節省成本。

若要計算完整的節省成本,您可以使用價格聯結成本和使用量數據。 如需詳細資訊,請參閱 問題 #873


MissingListUnitPrice

嚴重性:資訊

當 為 Null 或 0 且ContractedUnitPrice大於 0 時ListUnitPrice,資料行中會顯示x_DatasetChanges此錯誤碼。 錯誤表示成本管理未包含 ListUnitPrice 指定數據列Microsoft,這表示無法計算節省成本。

風險降低:為了因應遺漏數據,FinOps 工具組報告會將 複製到 ContractedUnitPrice 數據行, ListUnitPrice 以取得標示為此錯誤碼的數據列。 這些記錄無法節省成本。

若要計算完整的節省成本,您可以使用價格聯結成本和使用量數據。 如需詳細資訊,請參閱 問題 #873


ManifestReadFailed

嚴重性:嚴重

FinOps 中樞 msexports_ExecuteETL 管線無法讀取成本管理指令清單檔案。

避免方法:

  1. 如果在沒有對中樞或匯出進行變更時,工作中樞實例發生錯誤,則成本管理可能會變更現有 API 版本的指令清單架構。
  2. 如果您在建立新的或變更現有的匯出之後發生錯誤,則匯出 API 版本可能會使用新的不支援的指令清單架構。
  3. 如果在中樞部署之後發生錯誤(初始安裝或升級),則部署可能會失敗,或管線中可能有錯誤。

若要確認指令清單架構 (#1) 或 API 版本 (#2):

  1. 在 Azure 入口網站 或記憶體總管中開啟中樞記憶體帳戶。
  2. 如果在 Azure 入口網站,請移至功能表中的 [記憶體] 瀏覽器
  3. 選取 msexports 容器。
  4. 使用問題向下瀏覽導出的檔案階層(請參閱錯誤訊息中的指令清單位置)。
  5. 尋找manifest.json檔案,然後選取功能表 (ー),然後選取 [檢視/編輯]。
  6. 識別下列屬性:
    {
      "exportConfig": {
        "resourceId": "<scope-id>/providers/Microsoft.CostManagement/exports/<export-name>",
        "dataVersion": "<dataset-version>",
        "apiVersion": "2023-07-01-preview",
        "type": "<dataset-type>",
        ...
      },
      ...
    }
    
  7. 確認它們已設定為下列支援的值:
    • resourceId 可以是任何範圍標識符和任何匯出名稱,但必須存在 「Microsoft.CostManagement/export」 資源類型。 不區分大小寫。
    • 類型 必須存在,但不應該因為任何非 Null 值發生此錯誤而失敗。
    • dataVersion 必須存在,但不應該因為任何非 Null 值發生此錯誤而失敗。
    • apiVersion 不會明確使用,但可以表示指令清單架構的變更。 如需詳細資訊,請參閱 支援的 API 版本
  8. 如果您使用較新的 API 版本:
    1. 若要追蹤新 API 版本的新增支援, 請在 GitHub 中建立變更要求問題。
    2. 刪除成本管理中的匯出。
    3. 使用支援的 API 版本, 使用 New-FinOpsCostExport PowerShell 命令 建立導出。

      提示

      如果您認為自己是強大的使用者,建議您嘗試自行更新管線,以取得最快的解決方案。 若要這樣做,請開啟 Data Factory,流覽至 [撰寫>管線>] msexports_ExecuteETL,然後選取適用的「設定」活動,並視需要更新 [設定>] 屬性。 如果您這樣做,就不需要使用舊版重新建立導出。 請仍回報問題,並考慮從 {} 管線右上角的圖示共用新的 JSON designer._

  9. 如果您注意到支援 API 版本的屬性已變更:
    1. 若要追蹤重大變更, 請在 GitHub 中建立變更要求問題。 包含來自manifest.json檔案的類型dataVersionapiVersion
    2. 向成本管理提出支援要求,以要求其變更還原,因為它會中斷使用 FinOps 中樞或其他自定義解決方案的每個人。 包含下列詳細數據,以協助成本管理支援小組找出其系統內的問題。 成本管理沒有 FinOps 中樞的內容,因此您應該將詳細數據放在成本管理功能上。 以下是範例:

      我使用成本管理匯出將成本數據提取到ADLS。 我有ADF管線,會在寫入指令清單檔案時處理數據。 我的管線是以 API 版本 <your-supported-api-version> 為基礎所建置,預期 exportConfig.resourceIdexportConfig.typeexportConfig.dataVersion 屬性會一致地傳遞。 我注意到這些檔案未包含在此 API 版本的指令清單檔中,而我的匯出是在 上執行 <your-export-date>。 我的期望是,指令清單檔案不應該變更現有的 API 版本。 您可以還原這些變更嗎?

      為了協助您進行疑難解答,以下是我的指令清單檔案: {your-manifest-json}

如果指令清單屬性看起來不錯,而且它是新的或升級的 FinOps 中樞實例,請確認部署:

  1. 在 Azure 入口網站 中開啟中樞資源群組。
  2. 選取左側功能表中的 [設定>部署]。
  3. 確認所有部署都成功。 具體來說,尋找下列部署名稱:
    • main
    • 中樞
    • dataFactoryResources
    • 儲存體
    • keyVault
  4. 如果有任何部署失敗,請檢閱錯誤訊息,以判斷其是否為您可以自行解決的專案(例如名稱衝突、可修正的原則違規)。
  5. 如果錯誤看似暫時性,請嘗試再次部署。
  6. 如果錯誤持續發生,請建立 討論 ,以查看是否有其他人遇到問題或知道可能的因應措施(特別是針對原則問題)。
  7. 如果錯誤顯然是 Bug 或功能差距, 請在 GitHub 中建立 Bug 或功能要求問題。

我們嘗試在兩個工作天內回應問題和討論。


ResourceAccessForbiddenException

Power BI:擲回 'Microsoft.Mashup.Engine.Interface.ResourceAccessForbiddenException' 類型的例外狀況

指出在Power BI 中載入資料的帳戶沒有 記憶體 Blob 資料讀取者角色。 將此角色授與 Power BI 中載入數據的帳戶。


RoleAssignmentUpdateNotPermitted

如果您刪除 FinOps Hub,並嘗試使用相同的值重新部署它,包括受控識別名稱,您可能會遇到下列已知問題:

"code": "RoleAssignmentUpdateNotPermitted",
"message": "Tenant ID, application ID, principal ID, and scope are not allowed to be updated."

若要修正此問題,您必須移除過時的身分識別:

  • 流覽至記憶體帳戶,然後選取 功能表中的 [存取控制][IAM ]。
  • 選取 [角色指派] 索引標籤。
  • 尋找具有「未知」身分識別的任何角色指派,並加以刪除。

SchemaLoadFailed

嚴重性:嚴重

FinOps 中樞 msexports_ETL_ingestion 管線無法載入架構檔案。

風險降低:檢閱錯誤訊息以記下數據集類型和版本,其格式為底線(例如 <type>_<version>FocusCost_1.0)。 確認已部署的 FinOps 中樞版本都支援數據集和類型。 如需詳細資訊,請參閱支持的數據集。


SchemaNotFound

嚴重性:嚴重

FinOps 中樞 msexports_ExecuteETL 管線找不到匯出數據集的架構對應檔案。

風險降低:確認支持數據集類型和版本。 如需詳細資訊,請參閱支持的數據集。 如果支持數據集,請使用數據擷取報表確認中樞版本

若要新增對另一個資料集的支援,請建立自訂對應檔案,並將它儲存至 config/schemas/<dataset-type>_<dataset-version>.json。 這些<dataset-type><dataset-version>值與成本管理所使用的值非常相符。 若要識別每個數據行的數據類型,請使用現有的架構檔案作為範本。 某些數據集針對 EA 和 Microsoft 客戶合約 (MCA) 有不同的架構。 您無法透過這些屬性來識別它們,而且如果您有這兩種帳戶類型,可能會造成問題。 我們正努力藉由對齊 FOCUS 來新增 EA 和 MCA 差異的數據集和帳戶。


UnknownExportFile

嚴重性:資訊

中樞記憶體中的檔案看起來不像是從成本管理導出。 會忽略檔案。

風險降低msexports 容器僅適用於成本管理導出。 在另一個記憶體容器中移動其他檔案。


UnknownHubVersion

嚴重性:嚴重

無法從配置檔中識別 FinOps 中樞的版本。 確認設定正確無誤。 FinOps 中樞 0.1.1 和更早版本無法使用此 Power BI 報表。

風險降低:升級至最新版 的 FinOps 中樞 ,或從 FinOps 工具組 v0.1.1 版下載 Power BI 報表。


UnsupportedExportFileType

嚴重性:嚴重

無法擷取指定的導出檔案,因為不支援檔類型。

風險降低:將檔案轉換成支援的檔格式,再新增至 msexports 容器,或新增將新檔類型 轉換為msexports_ETL_ingestion 管線的支援。


UnsupportedExportType

嚴重性: 警告

中樞記憶體中的匯出指令清單表示匯出是針對不支持的數據集。 匯出的數據會回報為擷取錯誤。

風險降低:為FOCUS成本建立新的成本管理匯出,並停止目前的匯出,或將其變更為匯出至不同的記憶體容器。


<名稱>資源提供者未在訂<用帳戶 GUID 中註冊>

在 Azure 入口網站 中開啟訂用帳戶,然後選取 [設定>資源提供者]、選取資源提供者數據列(例如,Microsoft.EventGrid),然後選取頁面頂端的 [註冊] 命令。 註冊可能需要幾分鐘的時間。


x_PricingSubcategory顯示承諾折扣標識碼

在 2024 年 2 月 28 日之前,成本管理匯出有錯誤 x_PricingSubcategory ,因為未認可使用量而設定錯誤。 您應該會看到 和 Committed Usage之類的Committed Spend值。 相反地,您可能會看到如下的值:

  • Committed /providers/Microsoft.BillingBenefits/savingsPlanOrders/###/savingsPlans/###
  • Committed /providers/Microsoft.Capacity/reservationOrders/###/reservations/###

如果您看到這些值,請重新匯出該月份的成本數據。 如果您需要匯出無法使用的較舊月份數據,請連絡支持人員以要求匯出數據,以便解決先前匯出執行的數據質量問題。


Power BI:報表遺漏特定日期的數據

如果您的報表遺失一或多個月的所有數據,請檢查 月份數、 RangeStartRangeEnd 參數,以確保數據不會被篩選掉。

若要檢查參數,請選取功能區中的 [轉換數據>編輯參數],或從查詢編輯器視窗中選取 [ 設定] 資料夾中的個別參數。🛠

  • 如果您想要一律顯示最近幾個月的特定數目,請將 [月數] 設定為 [已關閉(已完成) 月數]。 除了關閉的月數之外,當月是額外的月份。
  • 如果您想要固定的日期範圍不會隨著時間變更(例如會計年度報告),請設定 RangeStartRangeEnd
  • 如果您想要報告所有可用的數據,請確認這三個日期參數都是空的。

如需詳細資訊,請參閱 設定您的第一個報表


Power BI:報表是空的(沒有數據)

如果您在 Power BI 或其他報表或工具中看不到任何數據,請根據您的數據源嘗試下列專案:

  1. 如果在 Power BI 中使用成本管理連接器,請檢查 Billing Account IDNumber of Months 參數,以確保它們已正確設定。 請記住,最近幾個月,舊的計費帳戶可能沒有數據。
  2. 如果使用 FinOps 中樞,請檢查記憶體帳戶,以確保數據已填入擷取容器中。 您應該會看到提供者訂用帳戶資料夾。 使用下列各節進一步進行疑難解答。

FinOps 中樞:擷取容器是空的

如果擷取容器是空的,請在Data Factory Studio 中開啟Data Factory 實例,然後選取 [管理>作者>觸發程式],並確認已啟動msexports_FileAdded觸發程式。 如果沒有,請加以啟動。

如果觸發程式無法以「資源提供者未註冊」錯誤啟動,請在 Azure 入口網站 中開啟訂用帳戶,然後選取 [設定>資源提供者],選取 [Microsoft.EventGrid] 數據列,然後選取頁面頂端的 [註冊] 命令。 註冊可能需要幾分鐘的時間。

註冊完成之後,請再次啟動 msexports_FileAdded 觸發程式。

啟動觸發程式之後,請重新執行所有連線的成本管理匯出。 數據應該在 10-20 分鐘內完整擷取,視帳戶大小而定。

如果問題持續發生,請檢查成本管理匯出是否設定為已啟用檔案分割。 如果您發現它已停用,請開啟並重新執行導出。

確認擷取容器已填入並重新整理報表或其他已連線的工具。

FinOps 中樞:擷取容器中可用的檔案

如果擷取容器不是空的,請鑽研資料夾來確認您是否有 parquetcsv.gz 檔案。

一旦知道,請確認 FileType 參數已設定為 .parquet.gz Power BI 報表中的 。 如需詳細資訊,請參閱 連線至您的數據

如果您使用另一個工具,請確定它支援您使用的檔案類型。


Power BI:無法解析遠端名稱:'<storage-account.dfs.core.windows.net>'

指出記憶體帳戶名稱不正確。 如果使用 FinOps 中樞,請從部署確認 StorageUrl 參數。 如需詳細資訊,請參閱 連線至您的數據


Power BI:我們無法將 null 值轉換成邏輯類型

表示計費帳戶標識碼參數是空的。 如果使用 FinOps 中樞,請將值設定為所需的計費帳戶標識碼。 如果您沒有計費帳戶的存取權,或不想包含承諾用量購買和退款,請將值設定為 0 ,並在進階編輯器中開啟 CostDetails 查詢,並將 變更 21。 它會通知報表不要從成本管理連接器載入實際/計費的成本數據。 如需詳細資訊,請參閱 連線至您的數據

適用版本:0.1 - 0.1.1(0.2修正)


FinOps 中樞:我們無法將 null 值轉換成 Table 類型

此錯誤通常表示數據未內嵌至 取容器。

如果您剛升級至 FinOps 中樞 0.2,問題可能是因為 Power BI 報表舊了(從 0.1.x 起),或是因為您未使用 FOCUS 導出。 如需詳細資訊, 請參閱升級指南

如需更多疑難解答步驟,請參閱報表是空的(沒有數據)。


如果您沒有看到您遇到的錯誤,請逐步解 說疑難解答指南。 如果您有任何問題, 請在 GitHub 中開始討論建立問題