Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2022-11-08 GMT+08:00

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.

Tabela 1 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:

  • inline: código em linha.
  • zip: Arquivo ZIP
  • jar: Arquivo JAR (principalmente para funções Java)
  • obs: código de função armazenado em um intervalo do Object Storage Service (OBS)

code_url

  • Quando code_type é definido como obs, este parâmetro indica o endereço de um pacote de código de função no OBS.
  • Quando code_type é definido como inline, zip, ou jar, esse parâmetro é deixado em branco.

code_filename

Nome do arquivo da função.

  • Quando code_type é definido como zip ou jar, este parâmetro é necessário.
  • Quando code_type é definido como obs ou inline, este parâmetro não é obrigatório.

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.

Tabela 2 func_code parameters

Parâmetro

Descrição

file

Código de função. Nada será devolvido.

link

Link do código da função. Nada será devolvido.

Tabela 3 strategy_config parameters

Parâmetro

Descrição

concurrency

  • 0: A função está desativada.
  • -1: A função está ativada.
Tabela 4 func_vpc parameters

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.

Tabela 5 dependency parameters

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).

Tabela 6 mount_config parameters

Parâmetro

Tipo

Obrigatório

Descrição

mount_user

mount_user

-

Configuração do usuário do sistema de arquivos.

func_mounts

func_mounts

-

Lista do sistema de arquivos.

Tabela 7 mount_user parameters

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.

Tabela 8 func_mounts parameters

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"

}