Crée une fonction.
Testez maintenant
Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.
Test
Autorisation RAM
|
fc:CreateFunction |
create |
*Toutes les ressources.
|
Aucune | Aucune |
Syntaxe de la requête
POST /2021-04-06/services/{serviceName}/functions HTTP/1.1
Paramètres de chemin
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| serviceName |
string |
Oui |
Le nom du service. |
serviceName |
Paramètres de requête
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| X-Fc-Account-Id |
string |
Non |
L'identifiant de votre compte Alibaba Cloud. |
188077086902**** |
| function |
object |
Non |
La définition de la fonction. |
|
| code | Code |
Non |
Le package ZIP du code de la fonction. Vous devez spécifier code ou customContainerConfig. |
|
| customContainerConfig | CustomContainerConfig |
Non |
Les configurations de l'environnement d'exécution Custom Container. Une fois les configurations définies, la fonction peut utiliser une image de conteneur personnalisée pour exécuter la fonction. Vous devez spécifier code ou customContainerConfig. |
|
| layers |
array |
Non |
La liste des couches.\n> Plusieurs couches sont fusionnées par ordre décroissant d'index de tableau. Le contenu d'une couche avec un index plus petit écrase les fichiers portant le même nom dans une couche avec un index plus grand. |
|
|
string |
Non |
Le nom de la ressource de couche. Format : acs:fc:{region}:{accountID}:layers/{layerName}/versions/{layerVersion}. |
layerName |
|
| description |
string |
Non |
La description de la fonction. |
function-description |
| functionName |
string |
Oui |
Le nom de la fonction. Le nom ne peut contenir que des lettres, des chiffres, des traits de soulignement (_) et des traits d'union (-). Le nom ne peut pas commencer par un chiffre ou un trait d'union (-). Le nom doit comporter entre 1 et 64 caractères. |
functionName |
| handler |
string |
Oui |
Le point d'entrée de la fonction. Le format varie selon le langage. Pour plus d'informations, consultez Point d'entrée de la fonction. |
index.handler |
| initializationTimeout |
integer |
Non |
Le délai d'expiration de la fonction d'initialisation. Valeur par défaut : 3. Unité : secondes. Valeur minimale : 1. Valeur maximale : 300 (5 minutes). La fonction est arrêtée si elle dépasse ce délai d'expiration. |
60 |
| initializer |
string |
Non |
Le point d'entrée de la fonction d'initialisation. Pour plus d'informations, consultez Fonction d'initialisation. |
index.initializer |
| memorySize |
integer |
Non |
La taille de la mémoire de la fonction. Unité : Mo. La valeur doit être un multiple de 64 Mo. Les spécifications de mémoire varient en fonction du type d'instance de la fonction. Pour plus d'informations, consultez Spécifications des instances. |
512 |
| runtime |
string |
Oui |
L'environnement d'exécution de la fonction. Valeurs valides : 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 et custom-container. Pour plus d'informations, consultez Environnements d'exécution de fonction pris en charge. |
python3.9 |
| timeout |
integer |
Non |
Le délai d'expiration de la fonction. Unité : secondes. Valeur minimale : 1. Valeur par défaut : 3. La fonction est arrêtée si elle dépasse ce délai d'expiration. |
60 |
| caPort |
integer |
Non |
Le port d'écoute du serveur HTTP pour l'environnement d'exécution personnalisé ou l'environnement d'exécution de conteneur personnalisé. |
9000 |
| environmentVariables |
object |
Non |
Les variables d'environnement de la fonction. Vous pouvez accéder aux variables d'environnement au sein de la fonction. Pour plus d'informations, consultez Variables d'environnement. |
|
|
string |
Non |
La configuration des variables d'environnement. |
{"clé":"valeur"} |
|
| instanceConcurrency |
integer |
Non |
La concurrence maximale d'une instance. |
10 |
| instanceSoftConcurrency |
integer |
Non |
La concurrence souple d'une instance, utilisée pour une mise à l'échelle horizontale progressive. Lorsque la concurrence sur une instance dépasse la concurrence souple, la mise à l'échelle de l'instance est déclenchée. Par exemple, si votre instance prend beaucoup de temps à démarrer, vous pouvez définir une concurrence souple appropriée pour démarrer les instances à l'avance.\n\nLa valeur doit être inférieure ou égale à instanceConcurrency. |
5 |
| instanceType |
string |
Non |
Le type d'instance de la fonction. Valeurs valides :
Valeur par défaut : e1 |
e1 |
| customRuntimeConfig | CustomRuntimeConfig |
Non |
La configuration détaillée de la fonction Custom Runtime. |
|
| instanceLifecycleConfig | InstanceLifecycleConfig |
Non |
La configuration du cycle de vie de l'instance. |
|
| customDNS | CustomDNS |
Non |
La configuration DNS personnalisée de la fonction. |
|
| customHealthCheckConfig | CustomHealthCheckConfig |
Non |
La configuration de vérification de l'état de santé personnalisée de la fonction. Ce paramètre s'applique uniquement à Custom Runtime et Custom Container. |
|
| cpu |
number |
Non |
La spécification du processeur de la fonction. Unité : vCPU. La valeur doit être un multiple de 0,05 vCPU. |
1.5 |
| diskSize |
integer |
Non |
La spécification du disque de la fonction. Unité : Mo. Valeurs valides : 512 Mo ou 10240 Mo. |
512 |
| gpuMemorySize |
integer |
Non |
La spécification de la mémoire GPU de la fonction. Unité : Mo. La valeur doit être un multiple de 1024 Mo. |
2048 |
| X-Fc-Code-Checksum |
string |
Non |
La valeur CRC-64 du package de code de la fonction. |
1506052139770049xxxx |
| X-Fc-Date |
string |
Non |
La date de début de l'invocation de la fonction. Format : EEE,d MMM yyyy HH:mm:ss GMT. |
Wed, 11 May 2022 09:00:00 GMT |
| X-Fc-Trace-Id |
string |
Non |
L'identifiant d'invocation de la fonction. Cette valeur correspond au requestId dans les paramètres de réponse. |
test-trace-id |
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
|
object |
La réponse pour la création d'une fonction. |
||
| codeChecksum |
string |
La valeur CRC64 du package de code de la fonction. |
5434025278388143772 |
| codeSize |
integer |
La taille du package de code de la fonction renvoyée par le système, en octets. |
1024 |
| createdTime |
string |
L'heure à laquelle la fonction a été créée. |
2016-08-15T15:00:00.000+0000 |
| customContainerConfig | CustomContainerConfig |
La configuration de l'environnement d'exécution Custom Container. Une fois ce paramètre configuré, la fonction peut utiliser une image de conteneur personnalisée pour exécuter la fonction. |
|
| layers |
array |
La liste des couches.\n> Plusieurs couches sont fusionnées par ordre décroissant d'index de tableau. Le contenu d'une couche avec un index plus petit écrase les fichiers portant le même nom dans une couche avec un index plus grand. |
|
|
string |
Le nom de la ressource de couche. |
md5#layername#version |
|
| description |
string |
La description de la fonction. |
Ceci est une fonction de démonstration hello world |
| functionId |
string |
L'identifiant unique généré par le système pour chaque fonction. |
2d28e0e9-9ba5-4eed-8b1a-d3d9cd24 |
| functionName |
string |
Le nom de la fonction. |
demo-function |
| handler |
string |
Le point d'entrée d'exécution de la fonction. |
index.handler |
| lastModifiedTime |
string |
L'heure de la dernière modification de la fonction. |
2016-08-15T17:00:00.000+0000 |
| memorySize |
integer |
La taille de la mémoire configurée pour la fonction, en Mo. |
512 |
| runtime |
string |
L'environnement d'exécution de la fonction. Valeurs valides : 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 et custom-container. Pour plus d'informations, consultez Environnements d'exécution de fonction pris en charge. |
python3.9 |
| timeout |
integer |
Le délai d'expiration pour l'exécution de la fonction, en secondes. Valeur par défaut : 60. Valeur minimale : 1. Valeur maximale : 600 (10 minutes). Si la fonction s'exécute plus longtemps que le délai d'expiration spécifié, l'exécution est interrompue. |
10 |
| initializationTimeout |
integer |
Le délai d'expiration pour l'exécution de la fonction d'initialisation, en secondes. Valeur minimale : 1. Valeur par défaut : 3. Si la fonction d'initialisation dépasse ce délai, l'exécution est interrompue. |
60 |
| initializer |
string |
Le point d'entrée pour l'exécution de la fonction d'initialisation. Le format spécifique dépend du langage de programmation. |
index.handler |
| caPort |
integer |
Le port d'écoute du serveur HTTP pour l'environnement d'exécution Custom Runtime ou Custom Container. |
9000 |
| environmentVariables |
object |
Les variables d'environnement configurées pour la fonction. Vous pouvez récupérer les valeurs des variables d'environnement au sein de la fonction. Pour plus d'informations, consultez Variables d'environnement. |
|
|
string |
La configuration des variables d'environnement. |
{"clé":"valeur"} |
|
| instanceConcurrency |
integer |
La concurrence maximale autorisée pour une instance de fonction unique. |
10 |
| instanceSoftConcurrency |
integer |
La concurrence souple d'une instance, utilisée pour une mise à l'échelle horizontale progressive. Lorsque la concurrence sur une instance dépasse la concurrence souple, la mise à l'échelle de l'instance est déclenchée. Par exemple, si votre instance prend beaucoup de temps à démarrer, vous pouvez définir une concurrence souple appropriée pour démarrer les instances à l'avance.\n\nLa valeur doit être inférieure ou égale à instanceConcurrency. |
5 |
| instanceType |
string |
Le type d'instance de la fonction. Valeurs valides :
|
e1 |
| instanceLifecycleConfig | InstanceLifecycleConfig |
La configuration du cycle de vie de l'instance. |
|
| customDNS | CustomDNS |
La configuration DNS personnalisée de la fonction. |
|
| customRuntimeConfig | CustomRuntimeConfig |
La configuration détaillée de la fonction Custom Runtime. |
|
| customHealthCheckConfig | CustomHealthCheckConfig |
La configuration de vérification de l'état de santé personnalisée de la fonction. Ce paramètre s'applique uniquement à Custom Runtime et Custom Container. |
|
| cpu |
number |
La spécification du processeur de la fonction. Unité : vCPU. La valeur doit être un multiple de 0,05 vCPU. |
1.5 |
| diskSize |
integer |
La spécification du disque de la fonction. Unité : Mo. Valeurs valides : 512 Mo ou 10240 Mo. |
512 |
| gpuMemorySize |
integer |
La spécification de la mémoire GPU de la fonction. Unité : Mo. La valeur doit être un multiple de 1024 Mo. |
2048 |
| layersArnV2 |
array |
La liste des ARN de couche. |
|
|
string |
Le localisateur de ressources de couche. |
acs:fc:cn-hangzhou:official:layers/Python310/versions/2 |
Exemples
JSON format
{
"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": "Ceci est une fonction de démonstration hello world",
"functionId": "2d28e0e9-9ba5-4eed-8b1a-d3d9cd24",
"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"
]
}
Codes d'erreur
Consultez Codes d'erreur pour la liste complète.
Notes de version
Consultez Notes de version pour la liste complète.