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