変数ライブラリは、環境ごとに異なる値を提供できるため、一つのワークスペースだけで正しい値をハードコーディングするのではなく、 Fabricが変数参照を受け入れる場合、その参照を値に解決してから使用します。
Fabricが参照を解決できない場合は、値を置き換えません。 代わりに、どの部分が失敗したかを示す解決状況を報告します。 この記事では、それぞれの状況とそれに対する対処法について説明します。
参照の解決方法
参照の解決は段階的に行われ、どの段階でも失敗すると他の部分は停止します。 Fabricは以下のことをします:
- 参照を読み取り、それが適切な形式であることを確認します。
- 変数ライブラリの参照名を見つけて、読み取れることを確認します。
- ライブラリのアクティブ値セットを見つけます。
- その値集合内の変数を見つけます。
- 変数の値型が参照の求める型と一致しているかを確認します。
- 値が別のアイテムや接続を指す場合は、その詳細も解決します。
表示されるステータスは、どの段階が失敗したかを示しており、通常はチェーン全体をチェックせずに修正箇所を特定するのに十分です。
参照解決エラー
これらのエラーは、参照自体、変数ライブラリ、または変数が解決できなかったことを意味します。
| Message | 意味 | 修正方法 |
|---|---|---|
| 参照フォーマットは無効です | 参考文献のフォーマットが正しくありません。 | 参照構文を修正してください。 |
| 変数ライブラリ参照が欠落しています | 参照には変数ライブラリの名前は記載されていません。 | 図書館を含む完全な参考文献を提供してください。 |
| 変数ライブラリ参照は曖昧です | 複数の変数ライブラリが参照と一致します。 | 参考文献をより具体的にして、あるライブラリに一致するようにしましょう。 |
| 型式仕様は許可されていません | リファレンスはインライン型を指定しますが、このリファレンスはそれをサポートしていません。 | インライン型の仕様を削除してください。 |
| 変数ライブラリが見つかりません | 図書館は存在しないか、読む許可もありません。 | 参考文献を確認し、図書館へのアクセスも確認してください。 |
| 変数ライブラリが破損しています | 図書館は読まれない。 | これはセルフサービスではありません。 問題が続行する場合は、サポートにお問い合わせください。 |
| アクティブ値セットが見つかりません | ライブラリの設定済みアクティブ値セットは存在しません。 | ライブラリ上に存在するアクティブな値セットを設定します。 |
| 変数定義は無効です | ライブラリ内の1つ以上の変数定義は無効です。 | ライブラリ内の変数定義を修正してください。 |
| 変数オーバーライドは無効です | 1つ以上のオーバーライド値は無効です。 | オーバーライド値を修正してください。 |
| 変数が見つかりません | ライブラリは解決しましたが、その名前の変数は存在しません。 | 変数名を確認してください。 変数の名前が変わることはよくある原因です。 |
| 変数の型の不一致 | 変数の値型は参照が求めるタイプではありません。 | 要求された型や変数の値を変更してください。 |
もしこれらのメッセージの代わりに一般的な「 解決できません 」というメッセージが出た場合、故障は特定の段階に起因するとは限りません。 再試行して問題が続く場合は、参照の問題ではなくサービス側のエラーとして扱いましょう。
参照項目エラー
これらのエラーは、参照が値に解決されたものの、値が指すアイテムや接続が解決できなかったことを意味します。 基準は正しいので、基準ではなくターゲットを固定してください。
| Message | 意味 | 修正方法 |
|---|---|---|
| 参照品が見つかりません | 値が指しているアイテムは存在しません。 | アイテムがまだ存在し、価値が正しいものを指しているかを確認してください。 |
| 参照品へのアクセス拒否 | アイテムは存在しますが、読読権限がありません。 | アイテムの読み取りアクセスをリクエストしてください。 |
| 参照された接続が見つからないかアクセス拒否 | 接続が存在しないか、読み取れません。 | 接続とアクセスを確認してください。 |
| 問題が発生しました | 参照された項目は解決できず、原因も明確ではありません。 | 再試行してください。 もし問題が続く場合は、サービス側のエラーとして扱いましょう。 |
Considerations
これらのうちいくつかは、実際に直面する前に知っておくと役立ちます:
- 権限失敗やオブジェクトの欠落も、場合によっては同じように報告されます。 「変数ライブラリが見つかりません」と「参照接続が見つかりません、またはアクセスが拒否されています」はどちらもオブジェクトが存在せず、あなたがそれを見ることができないことを意味します。なぜなら、Fabricはあなたが読み取れないものの存在を確認しないからです。 物体が消えたと判断する前にアクセスを確認してください。
- あなたにとって解決したリファレンスが、他の誰かには必ずしも解決しないかもしれません。 解決はトリガーする人の権限に依存しているため、オーサリング中に動作する参照が、別のアイデンティティが同じ作業を実行すると後で失敗することがあります。
- 変数の名前を変更すると、その変数への参照が壊れます。 参照は名前で行われるため、リネームはリネーム時の警告ではなく 「Variable not found 」として表示されます。