Todos os produtos
Search
Central de documentação

:CreateFunction

Última atualização: Aug 28, 2026

Cria uma função.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

fc:CreateFunction

create

*Todos os recursos.

*

Nenhuma Nenhuma

Sintaxe da solicitação

POST /2021-04-06/services/{serviceName}/functions HTTP/1.1

Parâmetros de caminho

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

serviceName

string

Sim

O nome do serviço.

serviceName

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

X-Fc-Account-Id

string

Não

O ID da sua conta Alibaba Cloud.

188077086902****

function

object

Não

A definição da função.

code Code

Não

O pacote ZIP do código da função. Você deve especificar code ou customContainerConfig.

customContainerConfig CustomContainerConfig

Não

As configurações do runtime de contêiner personalizado. Após as configurações serem definidas, a função pode usar uma imagem de contêiner personalizado para executar a função. Você deve especificar code ou customContainerConfig.

layers

array

Não

A lista de camadas.

Nota

Várias camadas são mescladas em ordem decrescente de índice de array. O conteúdo de uma camada com um índice menor substitui arquivos com o mesmo nome em uma camada com um índice maior.

string

Não

O nome do recurso da camada. Formato: acs:fc:{region}:{accountID}:layers/{layerName}/versions/{layerVersion}.

layerName

description

string

Não

A descrição da função.

function-description

functionName

string

Sim

O nome da função. O nome pode conter apenas letras, dígitos, sublinhados (_) e hifens (-). O nome não pode começar com um dígito ou hífen (-). O nome deve ter de 1 a 64 caracteres.

functionName

handler

string

Sim

O ponto de entrada da função. O formato varia conforme a linguagem. Para mais informações, consulte Ponto de entrada da função.

index.handler

initializationTimeout

integer

Não

O período de tempo limite para a função inicializadora. Valor padrão: 3. Unidade: segundos. Valor mínimo: 1. Valor máximo: 300 (5 minutos). A função é encerrada se exceder esse período de tempo limite.

60

initializer

string

Não

O ponto de entrada da função inicializadora. Para mais informações, consulte Função inicializadora.

index.initializer

memorySize

integer

Não

O tamanho da memória da função. Unidade: MB. O valor deve ser um múltiplo de 64 MB. As especificações de memória variam com base no tipo de instância da função. Para mais informações, consulte Especificações da instância.

512

runtime

string

Sim

O ambiente de runtime da função. Valores válidos: nodejs20, nodejs18, nodejs16, nodejs14, nodejs12, nodejs10, nodejs8, nodejs6, nodejs4.4, python3.10, python3.9, python3, python2.7, java11, java8, go1, php7.2, dotnetcore3.1, dotnetcore2.1, custom.debian10, custom e custom-container. Para mais informações, consulte Ambientes de runtime de função suportados.

python3.9

timeout

integer

Não

O período de tempo limite para a função. Unidade: segundos. Valor mínimo: 1. Valor padrão: 3. A função é encerrada se exceder esse período de tempo limite.

60

caPort

integer

Não

A porta de escuta do servidor HTTP para runtime personalizado ou runtime de contêiner personalizado.

9000

environmentVariables

object

Não

As variáveis de ambiente da função. Você pode acessar as variáveis de ambiente dentro da função. Para mais informações, consulte Variáveis de ambiente.

string

Não

A configuração da variável de ambiente.

{"key":"value"}

instanceConcurrency

integer

Não

A concorrência máxima de uma instância.

10

instanceSoftConcurrency

integer

Não

A concorrência suave de uma instância, usada para scale-out gracioso. Quando a concorrência em uma instância excede a concorrência suave, o scale-out da instância é acionado. Por exemplo, se sua instância demorar muito para iniciar, você pode definir uma concorrência suave apropriada para iniciar instâncias antecipadamente.

O valor deve ser menor ou igual a instanceConcurrency.

5

instanceType

string

Não

O tipo de instância da função. Valores válidos:

  • e1: instância elástica.

  • c1: instância de desempenho.

  • fc.gpu.tesla.1: tipo de instância da série GPU Tesla.

  • fc.gpu.ampere.1: tipo de instância da série GPU Ampere.

  • fc.gpu.ada.1: tipo de instância da série GPU Ada.

  • g1: igual a fc.gpu.tesla.1.

Valor padrão: e1

e1

customRuntimeConfig CustomRuntimeConfig

Não

A configuração detalhada da função de Custom Runtime.

instanceLifecycleConfig InstanceLifecycleConfig

Não

A configuração do ciclo de vida da instância.

customDNS CustomDNS

Não

A configuração de DNS personalizado da função.

customHealthCheckConfig CustomHealthCheckConfig

Não

A configuração de verificação de integridade personalizada da função. Este parâmetro é aplicável apenas a Custom Runtime e Custom Container.

cpu

number

Não

A especificação de CPU da função. Unidade: vCPU. O valor deve ser um múltiplo de 0,05 vCPU.

1.5

diskSize

integer

Não

A especificação de disco da função. Unidade: MB. Valores válidos: 512 MB ou 10240 MB.

512

gpuMemorySize

integer

Não

A especificação de memória GPU da função. Unidade: MB. O valor deve ser um múltiplo de 1024 MB.

2048

X-Fc-Code-Checksum

string

Não

O valor CRC-64 do pacote de código da função.

1506052139770049xxxx

X-Fc-Date

string

Não

A data de início da invocação da função. Formato: EEE,d MMM yyyy HH:mm:ss GMT.

Wed, 11 May 2022 09:00:00 GMT

X-Fc-Trace-Id

string

Não

O ID de invocação da função. Este valor corresponde ao requestId nos parâmetros de resposta.

test-trace-id

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

A resposta para a criação de uma função.

codeChecksum

string

O valor CRC64 do pacote de código da função.

5434025278388143772

codeSize

integer

O tamanho do pacote de código da função retornado pelo sistema, em bytes.

1024

createdTime

string

A hora em que a função foi criada.

2016-08-15T15:00:00.000+0000

customContainerConfig CustomContainerConfig

A configuração do runtime de contêiner personalizado. Após a configuração deste parâmetro, a função pode usar uma imagem de contêiner personalizado para executar a função.

layers

array

A lista de camadas.

Nota

Várias camadas são mescladas em ordem decrescente de índice de array. O conteúdo de uma camada com um índice menor substitui arquivos com o mesmo nome em uma camada com um índice maior.

string

O nome do recurso de camada.

md5#layername#version

description

string

A descrição da função.

Esta é uma função de demonstração hello world

functionId

string

O ID exclusivo gerado pelo sistema para cada função.

2d28e0e9-9ba5-4eed-8b1a-d3d9cd24 ****

functionName

string

O nome da função.

demo-function

handler

string

O ponto de entrada de execução da função.

index.handler

lastModifiedTime

string

A última hora de modificação da função.

2016-08-15T17:00:00.000+0000

memorySize

integer

O tamanho de memória configurado para a função, em MB.

512

runtime

string

O ambiente de runtime da função. Valores válidos: nodejs20, nodejs18, nodejs16, nodejs14, nodejs12, nodejs10, nodejs8, nodejs6, nodejs4.4, python3.10, python3.9, python3, python2.7, java11, java8, go1, php7.2, dotnetcore3.1, dotnetcore2.1, custom.debian10, custom e custom-container. Para mais informações, consulte Ambientes de runtime de função suportados.

python3.9

timeout

integer

O período de tempo limite para a execução da função, em segundos. Valor padrão: 60. Valor mínimo: 1. Valor máximo: 600 (10 minutos). Se a função for executada por mais tempo do que o período de tempo limite especificado, a execução será encerrada.

10

initializationTimeout

integer

O período de tempo limite para a execução da função inicializadora, em segundos. Valor mínimo: 1. Valor padrão: 3. Se a função inicializadora exceder esse tempo, a execução será encerrada.

60

initializer

string

O ponto de entrada para a execução da função inicializadora. O formato específico depende da linguagem de programação.

index.handler

caPort

integer

A porta de escuta do servidor HTTP para runtime personalizado ou runtime de contêiner personalizado.

9000

environmentVariables

object

As variáveis de ambiente configuradas para a função. Você pode recuperar os valores das variáveis de ambiente dentro da função. Para obter mais informações, consulte Variáveis de ambiente.

string

A configuração da variável de ambiente.

{"key":"value"}

instanceConcurrency

integer

A concorrência máxima permitida para uma única instância de função.

10

instanceSoftConcurrency

integer

A concorrência suave de uma instância, usada para scale-out gracioso. Quando a concorrência em uma instância excede a concorrência suave, o scale-out da instância é acionado. Por exemplo, se sua instância demorar muito para iniciar, você pode definir uma concorrência suave apropriada para iniciar instâncias antecipadamente.

O valor deve ser menor ou igual a instanceConcurrency.

5

instanceType

string

O tipo de instância da função. Valores válidos:

  • e1: instância elástica.

  • c1: instância de desempenho.

  • fc.gpu.tesla.1: tipo de instância da série GPU Tesla.

  • fc.gpu.ampere.1: tipo de instância da série GPU Ampere.

  • fc.gpu.ada.1: tipo de instância da série GPU Ada.

  • g1: igual a fc.gpu.tesla.1.

e1

instanceLifecycleConfig InstanceLifecycleConfig

A configuração do ciclo de vida da instância.

customDNS CustomDNS

A configuração de DNS personalizado da função.

customRuntimeConfig CustomRuntimeConfig

A configuração detalhada da função de Custom Runtime.

customHealthCheckConfig CustomHealthCheckConfig

A configuração de verificação de integridade personalizada da função. Este parâmetro é aplicável apenas a Custom Runtime e Custom Container.

cpu

number

A especificação de CPU da função. Unidade: vCPU. O valor deve ser um múltiplo de 0,05 vCPU.

1.5

diskSize

integer

A especificação de disco da função. Unidade: MB. Valores válidos: 512 MB ou 10240 MB.

512

gpuMemorySize

integer

A especificação de memória GPU da função. Unidade: MB. O valor deve ser um múltiplo de 1024 MB.

2048

layersArnV2

array

A lista de ARNs de camadas.

string

O localizador de recursos de camada.

acs:fc:cn-hangzhou:official:layers/Python310/versions/2

Exemplos

Resposta de sucesso

JSON formato

{
  "codeChecksum": "5434025278388143772",
  "codeSize": 1024,
  "createdTime": "2016-08-15T15:00:00.000+0000",
  "customContainerConfig": {
    "args": "[\"-arg1\", \"value1\"]",
    "command": "[\"/code/myserver\"]",
    "image": "registry-vpc.cn-hangzhou.aliyuncs.com/fc-demo/helloworld:v1beta1",
    "accelerationType": "Default",
    "instanceID": "cri-xxxxxxxxxx",
    "webServerMode": true
  },
  "layers": [
    "md5#layername#version"
  ],
  "description": "This is a demo hello world function",
  "functionId": "2d28e0e9-9ba5-4eed-8b1a-d3d9cd24\n****",
  "functionName": "demo-function",
  "handler": "index.handler",
  "lastModifiedTime": "2016-08-15T17:00:00.000+0000",
  "memorySize": 512,
  "runtime": "python3.9",
  "timeout": 10,
  "initializationTimeout": 60,
  "initializer": "index.handler",
  "caPort": 9000,
  "environmentVariables": {
    "key": "{\"key\":\"value\"}"
  },
  "instanceConcurrency": 10,
  "instanceSoftConcurrency": 5,
  "instanceType": "e1",
  "instanceLifecycleConfig": {
    "preFreeze": {
      "handler": "index.preStop",
      "timeout": 10
    },
    "preStop": {
      "handler": "index.preStop",
      "timeout": 10
    }
  },
  "customDNS": {
    "nameServers": [
      "8.8.x.x"
    ],
    "searches": [
      "ns1.svc.cluster-domain.example"
    ],
    "dnsOptions": [
      {
        "name": "ndots",
        "value": "2"
      }
    ]
  },
  "customRuntimeConfig": {
    "command": [
      "/code/myBootstrap"
    ],
    "args": [
      "args1"
    ]
  },
  "customHealthCheckConfig": {
    "httpGetUrl": "/ready",
    "initialDelaySeconds": 1,
    "periodSeconds": 1,
    "timeoutSeconds": 2,
    "failureThreshold": 1,
    "successThreshold": 2
  },
  "cpu": 1.5,
  "diskSize": 512,
  "gpuMemorySize": 2048,
  "layersArnV2": [
    "acs:fc:cn-hangzhou:official:layers/Python310/versions/2"
  ]
}

Códigos de erro

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.