Cria uma função.
Experimente agora
Testar
Autorização RAM
|
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:
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 |
| 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.