使用自定义数据源
除了托管的 NetScaler 实例作为数据源之外,如果输入数据重复用于创建多个配置,您还可以定义和使用自定义数据源。您可以将输入数据作为数据源保存在 NetScaler Console 中。此外,您可以修改 StyleBooks 以使用此数据,而无需 StyleBook 用户重复提供输入。
在 StyleBook 定义中使用自定义数据源之前,请执行以下操作来定义自定义数据源:
添加数据源后,您可以在 StyleBook 定义中使用此数据源。有关详细信息,请参阅在 StyleBook 定义中使用自定义数据源。
添加数据源类型
指定数据源类型以区分检索数据的来源。
-
在 应用程序 > 配置 > 数据源 中。
-
选择 数据源类型,然后单击 添加。
-
指定数据源类型的名称和描述。
-
单击 继续 以保存数据源类型。单击 关闭 以退出工作流而不保存任何更改。
在此示例中,数据源类型设置为 Environment。此类型可用于将应用程序环境定义为数据源。
在数据源类型下添加集合架构
添加 数据源类型 后,将显示一个用于为“数据源类型”添加 集合架构 的屏幕。
-
单击 添加。
-
指定集合架构的集合名称。
-
输入描述。
-
根据需要,在属性详细信息下添加属性(名称及其类型)。
-
单击 创建。
在此示例中,App-virtual-servers 集合架构有四个属性。因此,您要存储的集合必须具有这些指定数据类型的属性。
添加数据源
为特定数据源类型定义数据源。
-
转到 应用程序 > 配置 > 数据源。
-
选择数据源选项卡,然后单击 添加。
-
指定名称。
-
选择数据源类型,然后输入描述。
-
单击 继续 以保存数据源。单击 关闭 以退出工作流而不保存任何更改。
在此示例中,Production environment 已添加为数据源。
添加集合数据
添加数据源后,将显示一个用于输入数据源数据的屏幕。您可以看到集合架构列表。
-
选择要添加集合数据的集合架构。
-
单击 管理集合数据。
-
向集合添加数据。您可以逐个添加数据或上传 CSV 文件。上传 CSV 文件时,请确保列名与集合架构的属性名称匹配。
-
单击 确定。
使用不带集合的自定义数据源
以下 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 用户选择虚拟服务器后,可以按照上一节中说明的相同方式访问所选项目的任何属性。