O recurso ALIYUN::FC::Service cria um serviço do Function Compute.
Todas as funções de um serviço compartilham configurações, como autorização e logs, além de recursos como Logstores e funções do RAM. O serviço é a unidade básica de operação e manutenção e representa uma aplicação. As funções que compõem a mesma aplicação pertencem a um único serviço. Os serviços são independentes e não compartilham recursos entre si.
Sintaxe
{
"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
}
}
Propriedades
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Description |
String |
Não |
Sim |
Descrição do serviço. |
Nenhuma. |
|
VpcConfig |
Map |
Não |
Sim |
Configurações de VPC que permitem às funções acessar a VPC especificada. |
Para excluir as configurações de VPC durante uma atualização de stack:
Nota
O Function Compute requer permissões de gerenciamento de ENI para acesso à VPC. Conceda a permissão ecs:CreateNetworkInterface ao Function Compute. |
|
ServiceName |
String |
Sim |
Não |
Nome do serviço. |
O nome deve ter de 1 a 128 caracteres e pode conter letras, dígitos, sublinhados (_) e hifens (-). Deve começar com uma letra ou um sublinhado (_). |
|
Role |
String |
Não |
Sim |
ARN da função do RAM que concede permissões ao Function Compute. |
A função do RAM é utilizada nos seguintes cenários:
|
|
NasConfig |
Map |
Não |
Sim |
Configurações de NAS que permitem às funções acessar os recursos NAS especificados. |
Para excluir as configurações de NAS durante uma atualização de stack:
|
|
LogConfig |
Map |
Não |
Sim |
Configurações de log. Os logs das funções são gravados no Logstore especificado. |
|
|
TracingConfig |
Map |
Não |
Sim |
Configurações do Managed Service for OpenTelemetry. |
Permite registrar a duração de requisições, rastrear cold starts e monitorar o tempo de execução das funções. |
|
InternetAccess |
Boolean |
Não |
Sim |
Define se as funções podem acessar a Internet. |
Valores válidos:
|
|
DeletionForce |
Boolean |
Não |
Sim |
Define se o serviço deve ser excluído forçadamente. |
Esta propriedade entra em vigor quando VpcConfig é especificado. Valores válidos:
Caso o serviço utilize um vSwitch ou grupo de segurança criado na stack atual, não é necessário especificar DeletionForce. Após a exclusão, garanta que as funções do serviço não sejam invocadas dentro de 1 hora para que as ENIs e a stack sejam excluídas conforme esperado. |
|
Tags |
List |
Não |
Sim |
Tags. |
É possível adicionar até 20 tags. |
|
VpcBindings |
List |
Não |
Sim |
IDs das VPCs a serem vinculadas ao Function Compute. |
Por padrão, as funções podem ser invocadas por meio de endpoints públicos e privados. Para invocar funções através de VPCs específicas, vincule essas VPCs ao Function Compute. Especifique até 20 VPCs. |
|
OssMountConfig |
Map |
Não |
Sim |
Configurações de montagem do OSS. |
Sintaxe de LogConfig
"LogConfig": {
"Project": String,
"Logstore": String,
"EnableRequestMetrics": Boolean,
"LogBeginRule": String
}
Propriedades de LogConfig
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Project |
String |
Não |
Sim |
Nome do projeto LogHub. |
Nenhuma. |
|
Logstore |
String |
Não |
Sim |
Nome do Logstore do LogHub. |
Nenhuma. |
|
EnableRequestMetrics |
Boolean |
Não |
Sim |
Define se o monitoramento de requisições deve ser ativado. |
Valores válidos:
|
|
LogBeginRule |
String |
Não |
Sim |
Regra de segmentação de logs. |
Nenhuma. |
Sintaxe de VpcConfig
"VpcConfig": {
"SecurityGroupId": String,
"VSwitchIds": List,
"VpcId": String,
"ZoneId": String
}
Propriedades de VpcConfig
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
SecurityGroupId |
String |
Sim |
Sim |
ID do grupo de segurança. |
Nenhuma. |
|
VSwitchIds |
List |
Sim |
Sim |
IDs dos vSwitches. |
Nenhuma. |
|
VpcId |
String |
Sim |
Sim |
ID da VPC. |
Nenhuma. |
|
ZoneId |
String |
Não |
Sim |
ID da zona. |
Nenhuma. |
Sintaxe de NasConfig
"NasConfig": {
"MountPoints": List,
"UserId": Integer,
"GroupId": Integer
}
Propriedades de NasConfig
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
MountPoints |
List |
Sim |
Sim |
Destinos de montagem. |
|
|
UserId |
Integer |
Sim |
Sim |
ID do usuário. |
Valores válidos: -1 a 65534. |
|
GroupId |
Integer |
Sim |
Sim |
ID do grupo. |
Valores válidos: -1 a 65534. |
Sintaxe de TracingConfig
"TracingConfig": {
"Type": String,
"Params": Map
}
Propriedades de TracingConfig
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Type |
String |
Não |
Sim |
Tipo do sistema de rastreamento. |
Nenhuma. |
|
Params |
Map |
Não |
Sim |
Parâmetros do Managed Service for OpenTelemetry. |
Nenhuma. |
Sintaxe de Tags
"Tags": [
{
"Key": String,
"Value": String
}
]
Propriedades de Tags
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
Key |
String |
Sim |
Não |
Chave da tag. |
A chave deve ter de 1 a 128 caracteres e não pode conter |
|
Value |
String |
Não |
Não |
Valor da tag. |
O valor pode ter até 128 caracteres e não pode conter |
Sintaxe de OssMountConfig
"OssMountConfig": {
"MountPoints": List
}
Propriedade OssMountConfig
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
MountPoints |
List |
Sim |
Sim |
Configurações do destino de montagem do OSS. |
Sintaxe de MountPoints
"MountPoints": [
{
"ServerAddr": String,
"MountDir": String
}
]
Propriedades de MountPoints
|
Propriedade |
Tipo |
Obrigatória |
Editável |
Descrição |
Restrição |
|
ServerAddr |
String |
Sim |
Sim |
Endereço do servidor NAS. |
Nenhuma. |
|
MountDir |
String |
Sim |
Sim |
Diretório de montagem local. |
Nenhuma. |
Valores de retorno
Fn::GetAtt
ServiceId: ID exclusivo do serviço.
ServiceName: nome do serviço.
Tags: tags.
Role: função do RAM.
LogProject: projeto de log.
Logstore: Logstore.
InternetAccess: indica se as funções podem acessar a Internet.
VpcId: ID da VPC.
Exemplos
Formato YAML
ROSTemplateFormatVersion: '2015-09-01'
Description: Test FC
Parameters: {}
Resources:
Service:
Type: ALIYUN::FC::Service
Properties:
ServiceName: mytest
Outputs: {}
Formato JSON
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "Test FC",
"Parameters": {
},
"Resources": {
"Service": {
"Type": "ALIYUN::FC::Service",
"Properties": {
"ServiceName": "mytest"
}
}
},
"Outputs": {
}
}