Modelo da função
Esta seção descreve os campos retornados do modelo de função FunctionGraph.
Modelo de função
O modelo de função do FunctionGraph é o seguinte:
{
"functions": [
{
"func_urn": "urn:fss:xxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test",
"func_name": "test",
"domain_id": "cff01_hk",
"namespace": "7aad83af3e8d42e99ac194e8419e2c9b",
"project_name": "xxxxxxxxxx",
"package": "default",
"runtime": "Node.js6.10",
"timeout": 3,
"handler": "test.handler",
"memory_size": 128,
"cpu": 300,
"code_type": "inline",
"code_url": "",
"code_filename": "index.js",
"code_size": 272,
"user_data": "",
"digest": "decbce6939297b0b5ec6d1a23bf9c725870f5e69fc338a89a6a4029264688dc26338f56d08b6535de47f15ad538e22ca66613b9a46f807d50b687bb53fded1c6",
"version": "latest",
"image_name": "latest-5qe8e",
"xrole": "cff",
"app_xrole": null,
"description": "111",
"version_description": "",
"last_modified": "2018-03-28T11:30:32+08:00",
"func_code": {
"file": "",
"link": ""
},
"func_vpc":null,
"mount_config":null,
"depend_list": null,
"strategy_config": {
"concurrency": -1
},
"extend_config": "",
"dependencies": null,
"initializer_handler": "index.initializer",
"initializer_timeout": 3
}
],
"next_marker": 45
} Descrição
Tabela 1 descreve os parâmetros no modelo de função.
Parâmetro | Descrição |
|---|---|
func_urn | o URN da função. |
func_name | Nome da função. |
domain_id | Nome do locatário. |
namespace | ID do projeto do inquilino. |
project_name | Nome do projeto do inquilino. |
package | Grupo ao qual a função pertence. Este campo é definido para agrupar funções. |
runtime | Ambiente para execução da função. O FunctionGraph é compatível com Node.js 6.10, Node.js 8.10, Node.js 10.16, Node.js 12.13, Python 2.7, Python 3.6, Java 8, Go 1.8, Go 1.x, C# (.NET Core 2.0), C# (.NET Core 2.1), C# (.NET Core 3.1), e PHP 7.3. |
timeout | Duração máxima que a função pode ser executada. Faixa de valor: 3s–900s. |
handler | Manipulador da função no formato "xx.xx". Deve conter um ponto (.). Por exemplo, para a função myfunction.handler do Node.js, o nome do arquivo é myfunction.js, e a função de ponto de entrada é handler. |
memory_size | Memória (MB) consumida pela função. Opções: 128, 256, 512, 768, 1024, 1280, 1536, 1792, 2048, 2560, 3072, 3584, e 4096. |
cpu | Número de millicores de CPU utilizados pela função (1 núcleo =1000 millicores). O valor deste campo é proporcional ao de MemorySize. Por padrão, são necessários 100 millicores de CPU para 128 MB de memória. O valor é calculado da seguinte forma: Memória/128 x 100 + 200 (millicores básicos da CPU). |
code_type | Tipo de código da função. Opções:
|
code_url |
|
code_filename | Nome do arquivo da função.
|
code_size | Tamanho do código em bytes. |
user_data | Informações de nome/valor definidas para a função. Por exemplo, se uma função precisa acessar um host, defina Host={host_ip}. Você pode definir um máximo de 20 desses parâmetros, e seu comprimento total não pode exceder 4 KB. |
digest | Valor de hash SHA512 do código da função, que é usado para determinar se a função é alterada. |
version | Versão da função, que é gerada automaticamente pelo sistema. O nome da versão está no formato "vAAAAMMDD-HHMMSS" (v+ano/mês/dia-hora/minuto/segundo). |
image_name | Identificador interno de uma versão de função. |
xrole | Agência utilizada pela função. Você precisa criar uma agência no console do Identity and Access Management (IAM). Este campo é obrigatório quando uma função precisa acessar outros serviços. |
app_xrole | Agência usada pelo aplicativo da função. Você precisa criar uma agência no console do IAM. Este campo é obrigatório quando uma função precisa acessar outros serviços. |
description | Descrição da função. |
version_description | Descrição da versão da função. |
last_modified | Hora em que a função foi atualizada pela última vez. |
func_code | Código de função. Consulte Tabela 2. |
depend_list | Lista de dependências. |
strategy_config | Configuração da política de função. Consulte Tabela 3. |
extend_config | Configuração da extensão da função. |
dependencies | Lista de dependências. Consulte Tabela 5. |
initializer_handler | Inicializador da função no formato "xx.xx". Deve conter um ponto (.). Por exemplo, para a função myfunction.initializer do Node.js, o nome do arquivo é myfunction.js, e a função de inicialização é initializer. |
initializer_timeout | Duração máxima que a função pode ser inicializada. Faixa de valor: 1s–300s. |
func_vpc | Configuração da Virtual Private Cloud (VPC). Consulte Tabela 4. |
mount_config | Configuração do sistema de arquivos. Consulte Tabela 6. |
Parâmetro | Descrição |
|---|---|
file | Código de função. Nada será devolvido. |
link | Link do código da função. Nada será devolvido. |
Parâmetro | Descrição |
|---|---|
concurrency |
|
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
vpc_name | String | - | Nome da VPC. |
vpc_id | String | Sim quando func_vpc não estiver vazio. | ID de VPC |
subnet_name | String | - | Nome da sub-rede. |
subnet_id | String | Sim quando func_vpc não estiver vazio. | ID da sub-rede. |
cidr | String | - | Máscara de sub-rede. |
gateway | String | - | Gateway. |
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
owner | String | - | ID do domínio do proprietário da dependência. |
link | String | - | URL do pacote de dependência no OBS. |
runtime | String | - | Idioma do pacote de dependências (usado apenas para fins de classificação). |
etag | String | - | Valor MD5 do pacote de dependência. |
size | Int | - | Tamanho do pacote de dependência. |
name | String | - | Nome do pacote de dependência. |
description | String | - | Descrição do pacote de dependência. |
file_name | String | - | Nome do arquivo do pacote de dependência (ZIP). |
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
mount_user | - | Configuração do usuário do sistema de arquivos. | |
func_mounts | - | Lista do sistema de arquivos. |
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
user_id | Int | Sim quando mount_user não estiver vazio. | ID do usuário, que é um número inteiro de –1 a 65 534 excluindo 0, 1000 e 1002. |
user_group_id | Int | Sim quando mount_user não estiver vazio. | ID do grupo de usuários, que é um número inteiro de –1 a 65 534 excluindo 0, 1000 e 1002. |
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
mount_type | String | Sim quando func_mounts não estiver vazio. | Tipo de montagem. Opções: sfs, sfsTurbo, e ecs. |
mount_resource | String | Sim quando func_mounts não estiver vazio. | ID do recurso montado (serviço de nuvem correspondente). |
mount_share_path | String | Sim quando mount_type é definido como ecs. | Caminho de montagem remoto. Exemplo: 192.168.0.12:/data. |
local_mount_path | String | Sim quando func_mounts não estiver vazio. | Caminho de acesso à função. |
Formato da função URN
urn:fss:<region_id>:<project_id>:function:<package>:<function_name>[:<version>|:!<alias>]

Uma função URN é dividida em oito campos por dois pontos. O valor de region_id é incluído na configuração do sistema. Você pode definir este parâmetro para o mesmo que no backend. O conteúdo entre colchetes ([]) é uma versão de função ou alias. Se você digitar um alias, adicione um ponto de exclamação (!) na frente dele para facilitar a identificação.
Quando uma função URN é usada como um parâmetro de API, você pode fornecê-la em um formato simplificado da seguinte forma:
- 1 campo: <function_name>. project_id é obtido a partir de um token, package é default, e version é latest.
- 2 campos: <package>:<function_name>. project_id é obtido de um token, e version é latest.
- 3 campos: <project_id>:<package>:<function_name>. version é latest.
- 4 campos: <project_id>:<package>:<function_name>:<Version or Alias>.
- 7 campos: urn:fss:<region_id>:<project_id>:function:<package>:<function_name>. Version é latest.
- 8 campos: urn:fss:<region_id>:<project_id>:function:<package>:<function_name>:<Version or Alias>.
Dados da instância da função
{
"func_urn":"urn:fss:xxxxxxxxx:73d69ae0cfcf460190522d060f05ad:function:default:auto_testfunc93749",
"func_name":"auto_testfunc93749",
"domain_id":"b8aca445e0d04d81a34bb59de5280c72",
"namespace":"73d69ae0cfcf460190522d060f05ad",
"project_name":"xxxxxxxxx",
"package":"default",
"runtime":"Python2.7",
"timeout":5,
"handler":"index.handler",
"memory_size":128,
"cpu":300,
"code_type":"inline",
"code_filename":"index.py",
"code_size":1992,
"version":"latest",
"image_name": "latest-200731100126@obffv",
"description": "Runs in response to API requests, and demonstrates how to display different types of content, such as HTML pages and JSON structures.",
"last_modified": "2020-07-31T10:01:26+08:00",
"func_code": {},
"FuncCode": {},
"concurrency": -1,
"strategy_config": {
"concurrency": -1
},
"enterprise_project_id": "0"
}

