Application Delivery Management
ご意見をお寄せいただきありがとうございました

この記事は機械翻訳されています.免責事項

依存関係の検出

StyleBookのコンポーネントでは、同じStyleBookに含まれる別のコンポーネントのプロパティまたはセクションを参照できます。コンポーネントはそれ自体が完成されたブロックであるため、実行する必要のある順序どおりに記載されていない場合があります。StyleBookコンパイラはコンポーネントの記載順をチェックして、論理順で実行します。

components: - name: lbvserver-comp type: ns::lbvserver properties: name: mylb ipv46: 10.102.190.15 port: 80 servicetype: HTTP - name: lb-sg-binding-comp type: ns::lbvserver_servicegroup_binding condition: $parameters.create-binding properties: name: $components.lbvserver-comp.properties.name servicegroupname: $components.sg-comp.properties.servicegroupname - name: sg-comp type: ns::servicegroup properties: servicegroupname: mysg servicetype: HTTP

上記の例では、定義された3つのコンポーネントがあります- lbvserver-complb-sg-binding-comp、および sg-comp。このStyleBookの実行時には、まずlbvserver-compが作成されます。lb-sg-binding-compはlbvserver-compプロパティを参照しており、StyleBookで2番目に定義されているコンポーネントですが、この次に作成することはできません。これは、lb-sg-binding-compにはまだ作成されていないsg-compとの依存関係もあるからです。このため、コンパイラはコンポーネントの作成時点でコンポーネントの依存関係が解決されるようにコンポーネントを並べ替え、並べ替えた順序でコンポーネントを実行します。上記のStyleBookの実行順は、lbvserver-comp、sg-comp、lb-sg-binding-compのようになります。

したがって、StyleBookの作成者がコンポーネントの正確な順序を気にする必要はありません。コンポーネントはどのような順序で記載しても構いません。コンパイラにより、コンポーネント間の参照関係に基づいて適切なコンポーネントの実行順序が計算されます。この依存関係の検出と並べ替えは、substitutionセクションおよびoutputsセクションにも適用されることに注意してください。

循環依存関係

コンポーネントは別のコンポーネントを参照することがあるため、StyleBookの定義では依存関係の循環が生じる可能性があります。たとえば、コンポーネントAがコンポーネントBで定義されているプロパティを参照しており、さらにコンポーネントBがコンポーネントAで定義されているプロパティを参照している場合などです。こうした依存関係は、循環依存関係と呼ばれます。循環依存関係を自動で解決することはできません。StyleBookの作成者が手動でStyleBookの定義を修正し、こうした循環依存関係を解消する必要があります。コンパイラは循環依存関係を特定することができ、循環依存関係が存在する場合にはレポートします。

以下の例に、コンポーネントの循環依存関係を示します。

components: - name: lbvserver-comp type: ns::lbvserver properties: name: $components.lb-sg-binding-comp.properties.name ipv46: 10.102.190.15 port: 80 servicetype: HTTP - name: lb-sg-binding-comp type: ns::lbvserver_servicegroup_binding condition: $parameters.create-binding properties: name: mylb servicegroupname: $components.sg-comp.properties.servicegroupname - name: sg-comp type: ns::servicegroup properties: servicegroupname: mysg servicetype: $components.lbvserver-comp.properties.servicetype

上の例では、lbvserver-comp、lb-sg-binding-comp、sg-comp の 3 つのコンポーネントがあります。 lbvserver-complb-sg-binding-comp に依存し、lb-sg-binding comp は sg-compに依存し、 sg-comp は lbvserver-comp に依存します。このように、これらのコンポーネント間で依存関係の循環が生じており、この循環は自動で解決できません。このため、このStyleBookは実行できません。StyleBookコンパイラはこれを検出し、StyleBookがNetScaler ADM にインポートされないようにします。

このコンテンツの正式なバージョンは英語で提供されています。Cloud Software Groupドキュメントのコンテンツの一部は、お客様の利便性のみを目的として機械翻訳されています。Cloud Software Groupは機械翻訳されたコンテンツを管理していないため、誤り、不正確な情報、不適切な用語が含まれる場合があります。英語の原文から他言語への翻訳について、精度、信頼性、適合性、正確性、またはお使いのCloud Software Group製品またはサービスと機械翻訳されたコンテンツとの整合性に関する保証、該当するライセンス契約書またはサービス利用規約、あるいはCloud Software Groupとのその他すべての契約に基づき提供される保証、および製品またはサービスのドキュメントとの一致に関する保証は、明示的か黙示的かを問わず、かかるドキュメントの機械翻訳された範囲には適用されないものとします。機械翻訳されたコンテンツの使用に起因する損害または問題について、Cloud Software Groupは責任を負わないものとします。
依存関係の検出