Parameters 参数
Parameters 规范
Parameters 参数是 Publish.yaml 中用来描述 yaml 的相关参数,严格遵守Json Schema规范标准
默认数据类型
string
完整的描述为
enum代表枚举值,用户无需手动输入,直接选择
-
在cli 的表现形式为:
-
在网页端表现形式为
boolean
完整的描述为
-
在 cli 的表现形式为:
-
在网页端表现形式为
secret
完整的描述为
-
在 cli 的表现形式为:
-
在网页端表现形式为
integer | int
完整的描述为
-
在 cli 的表现形式为:
-
在网页端表现形式为
自定义UI
自定义UI用于在web端适配(具体为函数计算控制台应用中心),用户能够简化一些操作(比如可以下拉选择,而不是手动填写等)。一般以x-
开头
x-bucket
用于oss bucket选择
required中不包含bucketName时页面UI展示
启用状态
禁用状态
字段描述
字段名 | 类型 | 描述 |
---|---|---|
dependency | list<string > | 依赖字段 |
x-role
用于角色的选择
pattern代表正则,表示当前字段的值需要匹配该正则
字段描述
字段名 | 类型 | 描述 |
---|---|---|
name | string | 系统角色名 |
service | string | 服务账号,现在支持的系统账号: OSS,FC,LOG |
authorities | list<string > | 系统策略 |
x-nas
用于 NAS挂载点, VPC, 交换机, 安全组 的选择
字段描述
字段名 | 类型 | 描述 |
---|---|---|
dependency | list<string > | 依赖字段 |
注意,x-nas 配合 ‘vpcId’, ‘vswitchId’, ‘securityGroupId’ 字段使用
x-acr
用于阿里云容器镜像服务镜像的选择和创建
字段描述
字段名 | 类型 | 描述 |
---|---|---|
type | String | select:选择镜像, tag: 创建Tag |
x-kafka
用于kafka实例ID, kafkaEndpoint, VPC, 交换机, 安全组 的选择
字段描述
字段名 | 类型 | 描述 |
---|---|---|
dependency | list<string > | 依赖字段 |
related | list<string > | 关联字段 |
注意,x-kafka 配合 ‘kafkaEndpoint’, ‘vpcId’, ‘vswitchId’, ‘securityGroupId’ 字段使用
x-domain
用于可配置域名来访问您的函数
字段描述
字段名 | 类型 | 描述 |
---|---|---|
x-domain | Boolean | x-domain: true,可在web端显示域名配置项 |
自动配置UI
自定义配置域名UI
Tips小贴士
随机后缀名default-suffix
用于字段生成一个随机后缀名,以保证每次初始化时候都可以得到不同的值。比如服务名称等。
-
在cli 的表现形式为:
-
在网页端表现形式为
模版引擎
应用初始化时,使用art-template进行模版解析
比如:编写应用模板时,用户可以自己指定vpc配置,如果指定了就用自定义的,没指定就用auto
-
publish.yaml
yaml vpcConfigType: title: VPC网络配置 type: string description: 配置服务中函数使用的网络,例如配置函数是否可以访问公网,是否可以访问 VPC 中的资源等。 enum: - auto - 自定义配置
-
s.yaml
yaml # ...others service: name: "{{ serviceName }}" description: 欢迎使用ServerlessTool {{if vpcConfigType === 'auto'}} vpcConfig: auto {{else}} vpcConfig: # VPC配置, 配置后function可以访问指定VPC vpcId: "{{vpcID}}" # VPC ID securityGroupId: "{{securityGroupID}}" # 安全组ID vswitchIds: # 交换机 ID 列表 - "{{vswitchID}}" {{/if}}
更多语法支持可以查看art-template文档
自定义过滤器filter
应用初始化时,对模版解析的时候可以自定义过滤器。
-
首先我们需要在
hook/filter.js
文件里定义过滤器hook/filter.js
内容示例 -
然后在模版里就可以使用我们定义过的过滤器
s.yaml
使用过滤器示例