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屬性。 更新資源棧時,若要刪除網路設定,取值為:
說明 因為Function Compute服務需要能夠建立和管理ENI來實現出VPC的能力,建議賦予ecs:CreateNetworkInterface許可權。 |
ServiceName | String | 是 | 否 | 服務的名稱。 | 長度為1~128個字元,以英文字母或底線(_)開頭,可包含英文字母、數字、底線(_)和短劃線(-)。 |
Role | String | 否 | 是 | 授予Function Compute要求的權限的RAM角色ARN。 | 使用情境包含:
|
NasConfig | Map | 否 | 是 | NAS配置,配置後函數可以訪問指定NAS資源。 | 更多資訊,請參見NasConfig屬性。 更新資源棧時,若要刪除NAS配置,取值為:
|
LogConfig | Map | 否 | 是 | 日誌配置,函數產生的日誌會寫入此處配置的日誌庫中。 | 更多資訊,請參見LogConfig屬性。 |
TracingConfig | Map | 否 | 是 | 鏈路追蹤配置。 | 當Function Compute與鏈路追蹤整合後,您可以記錄請求在Function Compute的耗時時間、查看函數的冷啟動時間、記錄函數內部時間的消耗等。 更多資訊,請參見TracingConfig屬性。 |
InternetAccess | Boolean | 否 | 是 | 函數是否可以訪問公網。 | 取值:
|
DeletionForce | Boolean | 否 | 是 | 是否強制移除。 | 當您指定VpcConfig時該參數生效。取值:
如果在當前資源棧中建立了交換器或安全性群組,並基於它們建立了此服務,在刪除時無需指定DeletionForce,並要求在一小時內不要觸發此服務的函數調用,這樣其ENI才能被正常刪除,進而正常刪除整個資源棧。 |
Tags | List | 否 | 是 | 標籤。 | 最多支援20個標籤。 更多資訊,請參見Tags屬性。 |
VpcBindings | List | 否 | 是 | Function Compute中綁定的VPC ID列表。 | 預設情況下,可以在建立函數後使用Internet端點和內部端點來調用函數。如果希望使用指定的VPC調用函數,則必須將指定的VPC綁定到Function Compute。 最多支援指定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列表。 | 無 |
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": {
}
}