title | description | position | category |
---|---|---|---|
Pacakge 模型 - Parameters参数 |
Pacakge 发布 |
5 |
开发包模型 |
完整的描述为
region:
title: 地域
type: string
default: cn-hangzhou
description: 创建应用所在的地区
enum:
- cn-beijing
- cn-hangzhou
- cn-shanghai
- cn-qingdao
- cn-zhangjiakou
- cn-huhehaote
- cn-shenzhen
- cn-chengdu
- cn-hongkong
- ap-southeast-1
- ap-southeast-2
- ap-southeast-3
- ap-southeast-5
- ap-northeast-1
- eu-central-1
- eu-west-1
- us-west-1
- us-east-1
- ap-south-1
enum代表枚举值,用户无需手动输入,直接选择
完整的描述为
internetAccess:
type: boolean
title: 允许公网访问
description: 配置服务中的函数是否可以访问互联网
default: true
完整的描述为
secret:
type: secret
title: 应用管理员密码
description: 字母、数字、下划线,长度8-30位
default: 12345678
自定义UI主要用户在web端,用户能够方便的进行操作。一般以x-
开头
用于oss bucket选择
bucketName:
title: OSS存储桶名
type: string
default: ""
description: OSS存储桶名(注意和函数同地域)
x-bucket:
dependency:
- region # 依赖其他输入字段region
字段名 | 类型 | 描述 |
---|---|---|
dependency | list<string > |
依赖字段 |
用于角色的选择
triggerRoleArn:
title: 触发器RAM角色ARN
type: string
default: ''
pattern: '^acs:ram::[0-9]*:role/.*$'
description: OSS使用此角色来发送事件通知来调用函数
required: true
x-role:
name: aliyunosseventnotificationrole # 角色名
service: OSS # 服务账号
authorities:
- AliyunFCInvocationAccess
pattern代表正则,表示当前字段的值需要匹配该正则
字段名 | 类型 | 描述 |
---|---|---|
name | string |
系统角色名 |
service | string |
服务账号,现在支持的系统账号: OSS,FC,LOG |
authorities | list<string > |
系统策略 |
用于 NAS挂载点, VPC, 交换机, 安全组 的选择
mountPointsServerAddr:
title: NAS挂载点地址
type: string
default: ""
description: NAS 挂载点地址,可以登录 <a href="https://nasnext.console.aliyun.com" target="_blank">NAS控制台</a> 查看
x-nas:
denpendency:
- region
字段名 | 类型 | 描述 |
---|---|---|
dependency | list<string > |
依赖字段 |
注意,x-nas 配合 'vpcId', 'vswitchId', 'securityGroupId' 字段使用
vpcId:
title: VPC Id
type: string
default: ""
description: NAS 挂载点所在 VPC ID, 例如 vpc-bp1lynmabizqdgt4308dt
vswitchId:
title: 交换机 Id
type: string
default: ""
description: NAS 挂载点所在虚拟交换机VSW ID, 交换机最好在 FC 支持的可用区
securityGroupId:
title: 安全组 Id
type: string
default: ""
description: 登录 <a href="https://ecs.console.aliyun.com/#/securityGroup/region/cn-hangzhou" target="_blank">安全组</a> 查看, 通常默认创建的空安全组即可(注意和上面地域相同), 例如 sg-bp1cd2w08t3dy7nhrvtx
用于阿里云容器镜像服务镜像的选择和创建
acrRegistry:
title: 镜像仓库
type: string
examples: ['registry.cn-hangzhou.aliyuncs.com/fc-demo/custom-nodejs14-event-function:v0.1']
description: 镜像仓库地址,需要在 https://cr.console.aliyun.com/ 中开通服务、创建仓库以及设置访问凭证
x-acr:
type: select
字段名 | 类型 | 描述 |
---|---|---|
type | String | select:选择镜像, tag: 创建Tag |
用于字段生成一个随机后缀名,以保证每次初始化时候都可以得到不同的值。比如服务名称等。
serviceName:
title: 服务名
type: string
default: web-framework-${default-suffix}
pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$"
description: 服务名称,只能包含字母、数字、下划线和中划线。不能以数字、中划线开头。长度在 1-128 之间
应用初始化时,使用art-template进行模版解析
比如:编写应用模板时,用户可以自己指定vpc配置,如果指定了就用自定义的,没指定就用auto
- publish.yaml
vpcConfigType:
title: VPC网络配置
type: string
description: 配置服务中函数使用的网络,例如配置函数是否可以访问公网,是否可以访问 VPC 中的资源等。
enum:
- auto
- 自定义配置
- s.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文档
应用初始化时,对模版解析的时候可以自定义过滤器。
-
首先我们需要在
hook/filter.js
文件里定义过滤器hook/filter.js
内容示例function timestamp(value) { return `your code: ${value}` } module.exports = { timestamp, };
-
然后在模版里就可以使用我们定义过的过滤器
s.yaml
使用过滤器示例# ...others time: "{{time | timestamp}}"