Application Delivery Management

使用自定义数据源

除了作为数据源的托管 NetScaler 实例之外,如果输入数据重复用于创建多个配置,您可以定义和使用自定义数据源。您可以将输入数据保存到 NetScaler Console 中作为数据源。此外,您可以修改 StyleBooks 以使用此数据,而无需 StyleBook 用户重复提供输入。

在 StyleBook 定义中使用自定义数据源之前,请执行以下操作来定义自定义数据源:

  1. 添加数据源类型

  2. 在数据源类型下添加集合架构

  3. 添加数据源

  4. 添加集合数据

添加数据源后,您可以在 StyleBook 定义中使用此数据源。有关详细信息,请参阅在 StyleBook 定义中使用自定义数据源

添加数据源类型

指定数据源类型以区分检索数据的来源。

  1. Applications > Configuration > Data Sources 中。

  2. 选择 Data Source Type,然后单击 Add

  3. 指定数据源类型的 NameDescription

  4. 单击 Proceed 以保存 Data Source Type。单击 Close 以退出工作流而不保存任何更改。

数据源类型

在此示例中,数据源类型设置为 Environment。此类型可用于将应用程序环境定义为数据源。

在数据源类型下添加集合架构

添加 Data Source Type 后,将显示一个用于为 Data Source Type 添加 Collection Schemas 的屏幕。

  1. 单击 Add

  2. 指定集合架构的 Collection Name

  3. 输入 Description

  4. 根据需要,在 Attribute Details 下添加属性(名称及其类型)。

  5. 单击 Create

集合类型

在此示例中,App-virtual-servers 集合架构有四个属性。因此,您要存储的集合必须具有这些设置数据类型的属性。

添加数据源

为特定的数据源类型定义数据源。

  1. 转到 Applications > Configuration > Data Sources

  2. 选择 Data Sources 选项卡,然后单击 Add

  3. 指定 Name

  4. 选择 Data Source Type,然后输入 Description

  5. 单击 Proceed 以保存 Data Source。单击 Close 以退出工作流而不保存任何更改。

自定义数据源

在此示例中,Production environment 已添加为数据源。

添加集合数据

添加 Data Source 后,将显示一个用于输入 Data Source 数据的屏幕。您可以看到 Collection Schemas 列表。

  1. 选择要添加集合数据的 Collection Schema

  2. 单击 Manage Collection Data

  3. 向集合添加数据。您可以逐个添加数据,也可以上传 CSV 文件。上传 CSV 文件时,请确保列名与集合架构的属性名称匹配。

  4. 单击 OK

集合

使用不带集合的自定义数据源

以下 parameters 部分说明了如何在 StyleBook 定义中定义不带集合的自定义数据源。

parameters:
    -  name: selected-environment
      label: Select a custom datasource environment
      type: datum
      required: true
      data-source:
        type: "Environment"
<!--NeedCopy-->

配置包 GUI 会显示适用的数据源,StyleBook 用户可以选择其中任何一个来创建配置包。

不带集合的自定义数据源

在此示例中,它使用 Production 数据源来检索数据。

Environment 数据源类型中,要访问 App-virtual-servers 集合类型,请使用以下表达式:

$parameters.selected-environment.collections.App-virtual-servers
<!--NeedCopy-->

示例代码片段

components:
  -
    name: lbvserver-comp
    type: ns::lbvserver
    repeat: $parameters.selected-environment.collections.App-virtual-servers
    repeat-item: app
    properties:
      name: $app.attributes.Name + "-lb"
      ipv46: ip($app.attributes.IPv46 )
      port: $app.attributes.Port
      servicetype: $app.attributes.Protocol
    components:

      -
        name: servicegroup-comp
        type: ns::servicegroup
        properties:
          servicegroupname: $parent.properties.name + "-svcgrp"
          servicetype: $parent.properties.servicetype

        components:
          -
            name: lbvserver-svg-binding
            type: ns::lbvserver_servicegroup_binding
            properties:
              name: $parent.parent.properties.name
              servicegroupname: $parent.properties.servicegroupname
<!--NeedCopy-->

使用带集合的自定义数据源

以下 parameters 部分说明了如何在 StyleBook 定义中定义自定义数据源。它允许 StyleBook 用户选择集合中的特定项。

parameters:
  -  name: selected-app-vserver
    label: Select a collection from the datasource
    type: datum
    required: true
    data-source:
      type: Environment
      collection: App-virtual-servers
<!--NeedCopy-->

在此示例中,datum 参数用于定义自定义数据源。它使用 Production 数据源从 App-virtual-servers 集合架构中检索数据。

Environment 数据源类型中,要从 App-virtual-servers 集合访问协议,请使用以下表达式:

$parameters.selected-app-vserver.attributes.Protocol
<!--NeedCopy-->

示例代码片段

components:
  -  name: lbvserver-comp
    type: ns::lbvserver
    properties:
      name: $parameters.selected-app-vserver.attributes.Name
      ipv46: $parameters.selected-app-vserver.attributes.IPv46
      port: $parameters.selected-app-vserver.attributes.Port
      servicetype: $parameters.selected-app-vserver.attributes.Protocol
<!--NeedCopy-->

parameters 部分中定义集合类型时,StyleBook 用户可以选择数据源和集合。

从集合中选择多个项

以下 parameters 部分允许 StyleBook 用户选择集合中的多个项。

parameters:
  -  name: selected-app-vservers
    label: Select app-vservers from the collection
    type: datum[]
    required: true
    data-source:
      type: Environment
      collection: App-virtual-servers
 <!--NeedCopy-->

在此示例中,datum 参数用于定义自定义数据源数组。用户可以从单个数据源或跨数据源的“App-virtual-servers”集合中选择一个或多个项。

以下代码片段描述了访问所选项目及其属性的方式。

components:
  -
   name: lbvserver-comp
   type: ns::lbvserver
   repeat:
   repeat-list: $parameters.selected-app-vservers
   repeat-item: vserverObj
    properties:
      name: $vserverObj.attributes.Name
      ipv46: $vserverObj.attributes.IPv46
      port: $vserverObj.attributes.Port
      servicetype: $vserverObj.attributes.Protocol
<!--NeedCopy-->

筛选集合数据

以下 parameters 部分说明了如何在 StyleBook 定义中对自定义数据源集合指定筛选器。它允许 StyleBook 用户从筛选后的集合中选择特定项。

parameters:
  -  name: selected-app-vserver
    label: Select a collection from the datasource
    type: datum
    required: true
    data-source:
      type: Environment
      collection: App-virtual-servers
      collection-filters:
        Protocol: SSL
<!--NeedCopy-->

在此示例中,datum 参数用于定义自定义数据源。它使用 Environment 类型的数据源从 App-virtual-servers 集合架构中检索筛选后的数据。

StyleBook 用户选择虚拟服务器后,可以按照上一节中说明的相同方式访问所选项目的任何属性。

使用自定义数据源