ALIYUN::FC::Service类型用于创建服务。
服务下的所有函数共享一些相同的设置,例如:服务授权、配置日志。同一服务下有多个函数,这些函数共享服务配置的资源(例如:日志库、服务角色等)。服务能帮助您更清晰地组织业务逻辑,是运维管理的基本单位。一个服务可以表示一个应用,构建同一应用的不同函数将放到同一服务下。服务之间不共享任何资源,没有任何依赖。
语法
{
"Type": "ALIYUN::FC::Service",
"Properties": {
"Description": String,
"VpcConfig": Map,
"ServiceName": String,
"Role": String,
"DeletionForce": Boolean,
"Tags": List,
"NasConfig": Map,
"LogConfig": Map,
"TracingConfig": Map,
"InternetAccess": Boolean,
"VpcBindings": List,
"OssMountConfig": Map
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Description | String | 否 | 是 | 服务的描述。 | 无 |
VpcConfig | Map | 否 | 是 | 专有网络配置,配置后函数可以访问指定专有网络。 | 更多信息,请参见VpcConfig属性。 更新资源栈时,若要删除网络配置,取值为:
|
ServiceName | String | 是 | 否 | 服务的名称。 | 长度为1~128个字符,以英文字母或下划线(_)开头,可包含英文字母、数字、下划线(_)和短划线(-)。 |
Role | String | 否 | 是 | 授予函数计算所需权限的RAM角色ARN。 | 使用场景包含:
|
NasConfig | Map | 否 | 是 | NAS配置,配置后函数可以访问指定NAS资源。 | 更多信息,请参见NasConfig属性。 更新资源栈时,若要删除NAS配置,取值为:
|
LogConfig | Map | 否 | 是 | 日志配置,函数产生的日志会写入此处配置的日志库中。 | 更多信息,请参见LogConfig属性。 |
TracingConfig | Map | 否 | 是 | 链路追踪配置。 | 当函数计算与链路追踪集成后,您可以记录请求在函数计算的耗时时间、查看函数的冷启动时间、记录函数内部时间的消耗等。 更多信息,请参见TracingConfig属性。 |
InternetAccess | Boolean | 否 | 是 | 函数是否可以访问公网。 | 取值:
|
DeletionForce | Boolean | 否 | 是 | 是否强制删除。 | 当您指定VpcConfig时该参数生效。取值:
如果在当前资源栈中创建了交换机或安全组,并基于它们创建了此服务,在删除时无需指定DeletionForce,并要求在一小时内不要触发此服务的函数调用,这样其ENI才能被正常删除,进而正常删除整个资源栈。 |
Tags | List | 否 | 是 | 标签。 | 最多支持20个标签。 更多信息,请参见Tags属性。 |
VpcBindings | List | 否 | 是 | 函数计算中绑定的VPC ID列表。 | 默认情况下,可以在创建函数后使用Internet端点和内部端点来调用函数。如果希望使用指定的VPC调用函数,则必须将指定的VPC绑定到函数计算。 最多支持指定20个VPC。 |
OssMountConfig | Map | 否 | 是 | OSS挂载配置。 | 更多信息,请参见OssMountConfig属性。 |
LogConfig语法
"LogConfig": {
"Project": String,
"Logstore": String,
"EnableRequestMetrics": Boolean,
"LogBeginRule": String
}
LogConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Project | String | 否 | 是 | 日志中枢中的Project名称。 | 无 |
Logstore | String | 否 | 是 | 日志中枢中的日志库名称。 | 无 |
EnableRequestMetrics | Boolean | 否 | 是 | 是否启用请求监控。 | 取值:
|
LogBeginRule | String | 否 | 是 | 日志分割规则。 | 无 |
VpcConfig语法
"VpcConfig": {
"SecurityGroupId": String,
"VSwitchIds": List,
"VpcId": String,
"ZoneId": String
}
VpcConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
SecurityGroupId | String | 是 | 是 | 安全组ID。 | 无 |
VSwitchIds | List | 是 | 是 | 交换机ID列表。 | 多个交换机ID之间用半角逗号(,)分隔。 |
VpcId | String | 是 | 是 | 专有网络ID。 | 无 |
ZoneId | String | 否 | 是 | 可用区ID。 | 无 |
NasConfig语法
"NasConfig": {
"MountPoints": List,
"UserId": Integer,
"GroupId": Integer
}
NasConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
MountPoints | List | 是 | 是 | 挂载点。 | 更多信息,请参见MountPoints属性。 |
UserId | Integer | 是 | 是 | 用户ID。 | 取值范围:-1~65,534。 |
GroupId | Integer | 是 | 是 | 群组ID。 | 取值范围:-1~65,534。 |
TracingConfig语法
"TracingConfig": {
"Type": String,
"Params": Map
}
TracingConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Type | String | 否 | 是 | 链路追踪系统的类型。 | 无 |
Params | Map | 否 | 是 | 链路追踪的参数。 | 无 |
Tags语法
"Tags": [
{
"Key": String,
"Value": String
}
]
Tags属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Key | String | 是 | 否 | 标签键。 | 长度为1~128个字符,不能以 |
Value | String | 否 | 否 | 标签值。 | 长度为0~128个字符,不能以 |
OssMountConfig语法
"OssMountConfig": {
"MountPoints": List
}
OssMountConfig属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
MountPoints | List | 是 | 是 | OSS挂载点的详细配置信息。 | 更多信息,请参见MountPoints属性。 |
MountPoints语法
"MountPoints": [
{
"ServerAddr": String,
"MountDir": String
}
]
MountPoints属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
ServerAddr | String | 是 | 是 | NAS服务器地址。 | 无 |
MountDir | String | 是 | 是 | 本地挂载目录。 | 无 |
返回值
Fn::GetAtt
ServiceId:系统为每个服务生成的唯一ID。
ServiceName:服务名称。
Tags:标签。
Role:RAM角色。
LogProject:日志项目。
Logstore:日志库。
InternetAccess:函数是否可以访问公网。
VpcId:专有网络ID。
示例
YAML
格式
ROSTemplateFormatVersion: '2015-09-01'
Description: Test FC
Parameters: {}
Resources:
Service:
Type: ALIYUN::FC::Service
Properties:
ServiceName: mytest
Outputs: {}
JSON
格式
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "Test FC",
"Parameters": {
},
"Resources": {
"Service": {
"Type": "ALIYUN::FC::Service",
"Properties": {
"ServiceName": "mytest"
}
}
},
"Outputs": {
}
}