This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
依存関係の検出
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
<!--NeedCopy-->
上記の例では、定義された3つのコンポーネントがあります- lbvserver-comp、 lb-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
<!--NeedCopy-->
上の例では、lbvserver-comp、lb-sg-binding-comp、sg-comp の 3 つのコンポーネントがあります。 lbvserver-compは lb-sg-binding-comp に依存し、lb-sg-binding comp は sg-compに依存し、 sg-comp は lbvserver-comp に依存します。このように、これらのコンポーネント間で依存関係の循環が生じており、この循環は自動で解決できません。このため、このStyleBookは実行できません。StyleBookコンパイラはこれを検出し、StyleBookがNetScaler ADM にインポートされないようにします。
共有
共有
この記事の概要
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.