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.