可變參考解析度故障

變數函式庫讓你提供一個在不同環境下不同的值,而不是硬編碼一個只在一個工作區裡正確的值。 Fabric 接受變數參考時,會在使用該值前先解析該參考。

當 Fabric 無法解析參考時,它不會替換值。 它會回報一個解析狀態,說明參考中哪一部分失敗了。 本文將說明每種狀態及其應對方式。

參考資料如何被解析

解析參考分階段進行,任何階段失敗都會停止後續。 Fabric 會做以下工作:

  1. 讀取參照並檢查其格式是否正確。
  2. 找到變數函式庫的參考名稱,並確認你能讀取它。
  3. 找到函式庫的主動值集合。
  4. 找到該值集合內的變數。
  5. 檢查變數的值型別是否與參考所要求的類型相符。
  6. 如果值指向另一個項目或連結,這些細節也會被解決。

你看到的狀態會告訴你哪些階段失敗了,通常這足以在不檢查整個鏈條的情況下找出修正問題。

參考解析誤差

這些錯誤代表參考本身、變數庫或變數無法解析。

訊息 這是什麼意思? 修正方式
參考格式無效 參考資料格式不正確。 修正參考語法。
缺少變數程式庫參照 參考文獻沒有標示變數函式庫。 提供包含圖書館的完整參考資料。
變數庫參考不明確 有多個變數函式庫與參考相符。 讓參考資料更具體,讓它對應到同一個函式庫。
不允許指定類型 此參照會內嵌指定型別,但此參照不支援這樣做。 移除內嵌型別指定。
找不到變數函式庫 圖書館不存在,或者你沒有權限閱讀。 請查閱參考資料,並確認你對圖書館的使用權限。
變數函式庫損壞 程式庫無法讀取。 這不是自助式的。 如果繼續發生問題,請連絡支援人員。
未找到主動值集 函式庫中設定的主動值集並不存在。 設定一個存在於函式庫中的主動值集合。
變數定義無效 函式庫中的一個或多個變數定義是無效的。 修正函式庫中的變數定義。
變數覆寫無效 一個或多個覆寫值無效。 修正覆寫值。
找不到變數 函式庫已解析,但沒有該名稱的變數。 確認變數名稱。 變數被重新命名是常見的原因。
變數類型不匹配 變數的值型別不是參考所要求的類型。 改變請求的型別或變數值。

如果你看到的是一般性的 無法解析參照 訊息,而不是上述其中一則訊息,那麼就無法將該失敗歸因於某個特定階段。 重試一次,如果問題持續存在,就將其視為服務端錯誤,而非參考本身的問題。

參考項目錯誤

這些錯誤表示參考已解析為某個值,但該值所指向的項目或連接無法解析。 參考是正確的,所以修正目標而不是參考。

訊息 這是什麼意思? 修正方式
未找到參考項目 價值所指的物品根本不存在。 確認該項目仍然存在,且其值指向正確的項目。
拒絕存取參考項目 這個項目存在,但你沒有讀取權限。 請求該項目的讀取權限。
未找到參考連結或存取被拒絕 連結不存在,或者你無法讀懂。 檢查連線和你的存取權限。
發生問題 該項目無法解決,原因也未明確。 重試。 如果問題持續,就當作服務端錯誤處理。

Considerations

其中有幾項在你碰到之前值得先了解:

  • 權限失敗和物件遺失在某些情況下也會以相同方式回報。 「找不到變數函式庫」和「找不到引用連線或存取被拒絕」都涵蓋了物件不存在,且你無法看到它,因為 Fabric 不會確認你無法讀取的物件存在。 在你判斷物品已經消失之前,先檢查你的存取權限。
  • 你這邊可解析的參照,對其他人而言不一定也能解析。 解析取決於觸發它的人所擁有的權限,因此,在編寫時可正常運作的參照,之後若由不同身分執行同一工作流程時,可能就會失敗。
  • 重新命名變數會破壞對該變數的引用。 參考資料依名稱顯示,因此重新命名時會以 「未找到變數 」形式出現,而非在重新命名時的警告。