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

Importação de uma função

Função

Esta API é usada para importar uma função.

URI

POST /v2/{project_id}/fgs/functions/import

Tabela 1 Parâmetros de caminho

Parâmetro

Obrigatório

Tipo

Descrição

project_id

Sim

String

ID do projeto.

Mínimo: 0

Máximo: 0

Mínimo: 0

Máximo: 0

Parâmetros de solicitação

Tabela 2 Parâmetros do corpo da solicitação

Parâmetro

Obrigatório

Tipo

Descrição

func_name

Sim

String

Nome da função.

file_name

Sim

String

Nome de arquivo.

file_type

Sim

String

Tipo de arquivo.

file_code

Sim

String

Código de função. O código deve ser codificado usando Base64.

package

Não

String

Nome do aplicativo. O valor padrão é padrão.

Parâmetros de resposta

Código de estado: 200

Tabela 3 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

func_urn

String

o URN da função.

func_name

String

Nome da função.

domain_id

String

ID do domínio.

namespace

String

ID do projeto.

project_name

String

Nome do projeto.

package

String

Grupo ao qual a função pertence. Este campo é definido para agrupar funções.

runtime

String

Ambiente para execução de uma função. Opções:

  • Python2.7
  • Python3.6
  • Python3.9
  • Go1.8
  • Go1.x
  • Java8
  • Java11
  • Node.js6.10
  • Node.js8.10
  • Node.js10.16
  • Node.js12.13
  • Node.js14.18
  • C#(.NET Core 2.0)
  • C#(.NET Core 2.1)
  • C#(.NET Core 3.1)
  • Custom
  • PHP7.3

Valores de enumeração:

  • Java8
  • Java11
  • Node.js6.10
  • Node.js8.10
  • Node.js10.16
  • Node.js12.13
  • Node.js14.18
  • Python2.7
  • Python3.6
  • Go1.8
  • Go1.x
  • C#(.NET Core 2.0)
  • C#(.NET Core 2.1)
  • C#(.NET Core 3.1)
  • PHP7.3
  • Python3.9

timeout

Integer

Duração máxima que a função pode ser executada. Faixa de valor: 3s–900s. O valor pode ser de até 12 horas para usuários na lista de permissões. Para obter detalhes, entre em contato com o pessoal do FunctionGraph.

handler

String

Manipulador de uma 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 do manipulador é handler.

memory_size

Integer

Memória consumida por uma função.

Unidade: MB.

O valor pode ser 128, 256, 512, 768, 1024, 1280, 1536, 1792, 2048, 2560, 3072, 3584 ou 4096.

O valor varia de 128 a 4096.

cpu

Integer

Recursos de CPU de uma função.

Unidade: millicore (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

String

Tipo de código da função. Opções:

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

Valores de enumeração:

  • inline
  • zip
  • obs
  • jar

code_url

String

Se CodeType estiver definido como obs, insira a URL OBS do pacote de código de função. Se CodeType não estiver definido como obs, deixe este parâmetro em branco.

code_filename

String

Nome de um arquivo de função. Este parâmetro é obrigatório somente quando CodeType é definido como jar ou zip.

code_size

Long

Tamanho do código em bytes.

user_data

String

Informações de nome/valor definidas para a função.

Estes são parâmetros usados em uma 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

String

O valor de hash SHA512 do código da função, que é usado para determinar se a função foi alterada.

version

String

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

String

Identificador interno de uma versão de função.

xrole

String

Agência utilizada pela 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.

app_xrole

String

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

String

Descrição da função.

version_description

String

Descrição da versão.

last_modified

String

Hora em que a função foi atualizada pela última vez.

func_vpc

FuncVpc object

Configuração da VPC.

depend_list

Array of strings

Os ID da dependência.

strategy_config

StrategyConfig object

Configuração da política de função.

extend_config

String

Configuração estendida.

initializer_handler

String

Inicializador da função. Está no formato "xx.xx" e 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 é inicializador.

initializer_timeout

Integer

Duração máxima que a função pode ser inicializada. Faixa de valor: 1s–300s.

enterprise_project_id

String

ID do projeto empresarial. Este parâmetro é obrigatório se você criar uma função como um usuário enterprise.

Tabela 4 FuncVpc

Parâmetro

Tipo

Descrição

vpc_name

String

Nome da VPC.

vpc_id

String

ID de VPC

subnet_name

String

Nome da sub-rede.

subnet_id

String

ID da sub-rede.

cidr

String

Máscara de sub-rede.

gateway

String

Gateway.

Tabela 5 StrategyConfig

Parâmetro

Tipo

Descrição

concurrency

Integer

Número máximo de instâncias para uma única função. Para v1, o valor pode ser 0 ou –1; para v2, varia de –1 a 1000.

concurrent_num

Integer

Número máximo de solicitações simultâneas para uma única instância. Este parâmetro é suportado apenas pela v2. O valor varia de –1 a 200.000.

Código de estado: 409

Tabela 6 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

Mínimo: 0

Máximo: 0

Mínimo: 0

Máximo: 0

error_msg

String

Mensagem de erro.

Mínimo: 0

Máximo: 0

Mínimo: 0

Máximo: 0

Código de estado: 500

Tabela 7 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

Mínimo: 0

Máximo: 0

Mínimo: 0

Máximo: 0

error_msg

String

Mensagem de erro.

Mínimo: 0

Máximo: 0

Mínimo: 0

Máximo: 0

Exemplos de solicitações

Importar uma função.

POST https://{Endpoint}/v2/{project_id}/fgs/functions/import { "func_name" : "test", "file_name" : "test.zip", "file_type" : "zip", "file_code" : "xxxxxxxxxxxxxxxxxxxxx" }

Exemplo de respostas

Código de estado: 200

ok

{ "func_urn" : "urn:fss:{region}:46b6f338fc3445b8846c71dfb1fbd9e8:function:default:test_v1_2", "func_name" : "test_v1_2", "domain_id" : "14ee2e35****a7998b******aa24cabf", "namespace" : "46b6f338fc3445b8846c71dfb1fbd9e8", "project_name" : "{region}", "package" : "default", "runtime" : "Node.js6.10", "timeout" : 3, "handler" : "index.handler", "memory_size" : 128, "cpu" : 300, "code_type" : "zip", "code_filename" : "index.zip", "code_size" : 6709, "digest" : "faa825575c45437cddd4e369bea69893bcbe195d478178462ad90984fe72993f3f59d15f41c5373f807f3e05fb9af322c55dabeb16565c386e402413458e6068", "version" : "latest", "image_name" : "latest-191025153727@zehht", "last_modified" : "2019-10-25T15:37:27+08:00", "strategy_config" : { "concurrency" : -1 }, "enterprise_project_id" : "46b6f338fc3445b8846c71dfb1fbxxxx" }

Código de estado: 409

Conflito

{ "error_code" : "FSS.1061", "error_msg" : "The function has existed" }

Códigos de status

Código de status

Descrição

200

ok

409

Conflito

500

Erro de servidor interno.

Códigos de erro

Consulte Códigos de erro.