全部產品
Search
文件中心

:ALIYUN::FC::Service

更新時間:Sep 19, 2024

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屬性

更新資源棧時,若要刪除網路設定,取值為:

{
 "VpcId": "",
 "VSwitchIds": [],
 "SecurityGroupId": ""
}

ServiceName

String

服務的名稱。

長度為1~128個字元,以英文字母或底線(_)開頭,可包含英文字母、數字、底線(_)和短劃線(-)。

Role

String

授予Function Compute要求的權限的RAM角色ARN。

使用情境包含:

  • 將函數產生的日誌發送到使用者的日誌庫中。

  • 為函數在執行中訪問其它雲資源產生Token。

NasConfig

Map

NAS配置,配置後函數可以訪問指定NAS資源。

更多資訊,請參見NasConfig屬性

更新資源棧時,若要刪除NAS配置,取值為:

{
 "MountPoints": [],
 "UserId": -1,
 "GroupId": -1
}

LogConfig

Map

日誌配置,函數產生的日誌會寫入此處配置的日誌庫中。

更多資訊,請參見LogConfig屬性

TracingConfig

Map

鏈路追蹤配置。

當Function Compute與鏈路追蹤整合後,您可以記錄請求在Function Compute的耗時時間、查看函數的冷啟動時間、記錄函數內部時間的消耗等。

更多資訊,請參見TracingConfig屬性

InternetAccess

Boolean

函數是否可以訪問公網。

取值:

  • true:可以訪問公網。

  • false:不可以訪問公網。

DeletionForce

Boolean

是否強制移除。

當您指定VpcConfig時該參數生效。取值:

  • true:直接刪除服務,而不等待由Function Compute為服務所建立的ENI被函數清理掉。

    說明

    如果建立服務用到的交換器或安全性群組為參數傳入,則在刪除時可指定DeletionForce為true,以跳過等待,從而減少刪除時間。

  • false(預設值):等待由Function Compute為服務所建立的所有ENI被Function Compute清理掉,然後再刪除服務。

如果在當前資源棧中建立了交換器或安全性群組,並基於它們建立了此服務,在刪除時無需指定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

是否啟用請求監控。

取值:

  • true:啟用。

  • false:禁用。

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個字元,不能以aliyunacs:開頭,不能包含http://https://

Value

String

標籤值。

長度為0~128個字元,不能以aliyunacs:開頭,不能包含http://https://

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": {
  }
}