Publicação de uma versão de função
Função
Esta API é usada para publicar uma versão de função.
URI
POST /v2/{project_id}/fgs/functions/{function_urn}/versions
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 |
function_urn |
Sim |
String |
o URN da função. Para obter detalhes, consulte as descrições do modelo de função. Mínimo: 0 Máximo: 0 Mínimo: 0 Máximo: 0 |
Parâmetros de solicitação
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
X-Auth-Token |
Sim |
String |
Token do usuário. Ele pode ser obtido chamando a API do IAM usada para obter um token de usuário. O valor de X-Subject-Token no cabeçalho da resposta é um token. Mínimo: 0 Máximo: 0 Mínimo: 0 Máximo: 0 |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
digest |
Não |
String |
Chave MD5. |
version |
Não |
String |
Versão da função. |
description |
Não |
String |
Descrição da versão. |
Parâmetros de resposta
Código de estado: 200
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:
Valores de enumeração:
|
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:
Valores de enumeração:
|
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. |
encrypted_user_data |
String |
Nome/valor definido pelo usuário a ser criptografado. |
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. |
mount_config |
MountConfig object |
Configuração de montagem. |
strategy_config |
StrategyConfig object |
Configuração da política de função. |
dependencies |
Array of Dependency objects |
Pacotes de dependência. |
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. |
long_time |
Boolean |
Se permitir um tempo limite longo. |
log_group_id |
String |
ID do grupo de log. |
log_stream_id |
String |
ID do fluxo de log. |
type |
String |
v2 indica a versão OBT e v1 indica a versão original. Valores de enumeração:
|
enable_dynamic_memory |
Boolean |
Se deve ativar a alocação dinâmica de memória. |
function_async_config |
FunctionAsyncConfig object |
Retorna a estrutura das configurações de notificação de execução assíncrona. |
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. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
mount_user |
MountUser object |
Informações do usuário. |
func_mounts |
Array of FuncMount objects |
Recursos montados. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
user_id |
String |
ID do usuário, um número inteiro não-0 de –1 a 65534. |
user_group_id |
String |
ID do grupo de usuários, um número inteiro não-0 de –1 a 65534. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
mount_type |
String |
Tipo de montagem. O valor pode ser sfs, sfsTurbo ou ecs. Este parâmetro é obrigatório quando func_mounts não está vazio. |
mount_resource |
String |
ID do recurso montado (ID do serviço de nuvem). Este parâmetro é obrigatório quando func_mounts não está vazio. |
mount_share_path |
String |
Caminho de montagem remoto. Por exemplo, 192.168.0.12:/data. Este parâmetro é obrigatório se mount_type estiver definido como ecs. |
local_mount_path |
String |
Caminho de acesso à função. Este parâmetro é obrigatório quando func_mounts não está vazio. |
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. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
owner |
String |
ID do domínio do proprietário da dependência. |
link |
String |
URL da dependência no OBS. |
runtime |
String |
Ambiente para execução de uma função. Opções:
Valores de enumeração:
|
etag |
String |
Valor MD5 de uma dependência. |
size |
Long |
Tamanho da dependência. |
name |
String |
Nome da dependência. |
description |
String |
Descrição da dependência. |
file_name |
String |
Nome do arquivo de um pacote de dependências (ZIP). |
Parâmetro |
Tipo |
Descrição |
---|---|---|
max_async_event_age_in_seconds |
Integer |
Período máximo de validade de uma mensagem. Faixa de valor: 60–86.400. Unidade: segundo. |
max_async_retry_attempts |
Integer |
Número máximo de tentativas a serem feitas se a invocação assíncrona falhar. Valor padrão: 3. Faixa de valor: 0–8. |
destination_config |
FuncAsyncDestinationConfig object |
Destino de invocação assíncrona. |
created_time |
String |
Hora em que a notificação de execução assíncrona foi configurada. |
last_modified |
String |
Hora em que as configurações de notificação de execução assíncrona foram modificadas pela última vez. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
on_success |
FuncDestinationConfig object |
Destino a ser chamado quando uma função é executada com sucesso. |
on_failure |
FuncDestinationConfig object |
Alvo a ser invocado quando uma função falha ao ser executada devido a um erro do sistema ou um erro interno. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
destination |
String |
Tipo de objeto.
Valores de enumeração:
|
param |
String |
Parâmetros (em formato JSON) correspondentes ao serviço de destino.
|
Código de estado: 400
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: 401
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: 403
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: 404
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
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
Publicar uma versão de função.
POST https://{Endpoint}/v2/{project_id}/fgs/functions/{function_urn}/versions { "version" : "v1", "description" : "v1" }
Exemplo de respostas
Código de estado: 200
OK
{ "func_urn" : "urn:fss:xxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test", "func_name" : "test", "domain_id" : "14ee2e3501124efcbca7998baa24xxxx", "namespace" : "46b6f338fc3445b8846c71dfb1fbxxxx", "project_name" : "xxxxx", "package" : "default", "runtime" : "Node.js6.10", "timeout" : 3, "handler" : "test.handler", "memory_size" : 128, "cpu" : 300, "code_type" : "inline", "code_filename" : "inline.js", "code_size" : 272, "digest" : "faa825575c45437cddd4e369bea69893bcbe195d478178462ad90984fe72993f3f59d15f41c5373f807f3e05fb9af322c55dabeb16565c386e402413458e6068", "version" : "latest", "image_name" : "latest-191025153727@zehht", "last_modified_utc" : 1571989047, "last_modified" : "2019-10-25T15:37:27+08:00", "func_code" : { }, "strategy_config" : { "concurrency" : 0 } }
Código de estado: 404
Não encontrado.
{ "error_code" : "FSS.1051", "error_msg" : "Not found the function" }
Códigos de status
Código de status |
Descrição |
---|---|
200 |
OK |
400 |
Solicitação inválida. |
401 |
Não autorizado. |
403 |
Proibido. |
404 |
Não encontrado. |
500 |
Erro de servidor interno. |
Códigos de erro
Consulte Códigos de erro.