使用自定义数据源
除了 作为数据源的托管 ADC 实例外,如果输入数据重复用于创建多个配置,您还可以定义和使用自定义数据源。您可以将 ADM 中的输入数据保存为数据源。而且,您可以修改样书以使用这些数据,而无需样书用户重复提供输入。
在样书定义中使用自定义数据源之前,请执行以下操作来定义自定义数据源:
添加数据源后,可以在样书定义中使用此数据源。有关更多信息,请参阅 在样书定义中使用自定义数据源。
添加数据源类型
指定数据源类型以区分检索数据的来源。
-
在“应用程序”>“配置”>“数据源”中。
-
选择 数据源类型。
-
指定数据源类型的 名称 和 描述 。
-
单击创建。
在此示例中,数据源类型设置为 环境。此类型可用于将应用程序环境定义为数据源。
添加数据源
为特定数据源类型定义数据源。
-
转到 应用程序 > 配置 > 数据源。
-
单击添加。
-
指定 数据源名称、 数据源类型和 描述。
-
单击创建。
在此示例中,将生产环境添加为数据源。
添加收藏类型
添加集合类型以描述可以存储在集合中的数据类型。
-
转到 应用程序 > 配置 > 数据源。
-
选择 集合类型。
-
单击添加。
-
指定集合类型的 名称 。
-
选择 数据源类型。
-
添加属性名称及其类型。
-
单击创建。
在此示例中, App-Virtual-Server s 集合类型有四个属性。因此,您要存储的集合必须具有所设置数据类型的这些属性。
添加收藏夹
根据所选集合类型添加相应的集合。
-
转到 应用程序 > 配置 > 数据源。
-
在 集合类型中,选择要向其添加集合的集合类型。
-
指定集合的 名称 。
-
选择 数据源。
-
向集合中添加数据。您可以逐个添加数据,也可以上载 CSV 文件。
如果您要上载 CSV 文件,请确保列名与集合类型的属性名称相匹配。
-
单击创建。
使用无需收集的自定义数据源
以下 parameters
部分介绍如何在没有集合的情况下在样书定义中定义自定义数据源。
parameters:
-
name: selected-environment
label: Select a custom datasource environment
type: datum
required: true
data-source:
type: "Environment"
<!--NeedCopy-->
配置包 GUI 显示适用的数据源,样书用户可以选择其中任何一个来创建配置包。
在此示例中,它使用 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
部分介绍如何在样书定义中定义自定义数据源。它允许样书用户选择集合中的特定项目。
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
部分中定义集合类型时,样书用户可以选择数据源和集合。