Tous les produits
Search
Centre de documentation

:CreateFunction

Dernière mise à jour :Aug 28, 2026

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

Le tableau ci-dessous décrit les autorisations nécessaires pour appeler cette API. Vous pouvez les définir dans une politique Resource Access Management (RAM). Les colonnes du tableau sont détaillées ci-dessous :

  • Action : les actions peuvent être utilisées dans l'élément Action des instructions de politique de permissions RAM pour accorder les autorisations nécessaires à l'exécution de l'opération.

  • API : l'API que vous pouvez appeler pour exécuter l'action.

  • Niveau d'accès : le niveau d'accès prédéfini accordé pour chaque API. Valeurs valides : create, list, get, update et delete.

  • Type de ressource : le type de ressource qui prend en charge l'autorisation pour exécuter l'action. Il indique si l'action prend en charge les permissions au niveau de la ressource. La ressource spécifiée doit être compatible avec l'action. Sinon, la politique sera inefficace.

    • Pour les API avec permissions au niveau de la ressource, les types de ressource requis sont marqués d'un astérisque (*). Spécifiez l'Alibaba Cloud Resource Name (ARN) correspondant dans l'élément Resource de la politique.

    • Pour les API sans permissions au niveau de la ressource, la valeur All Resources est affichée. Utilisez un astérisque (*) dans l'élément Resource de la politique.

  • Clé de condition : les clés de condition définies par le service. La clé permet un contrôle granulaire, applicable aux actions seules ou aux actions associées à des ressources spécifiques. En plus des clés de condition propres au service, Alibaba Cloud fournit un ensemble de clés de condition communes applicables à tous les services pris en charge par RAM.

  • Action dépendante : les actions dépendantes requises pour exécuter l'action. Pour mener à bien l'opération, l'utilisateur RAM ou le rôle RAM doit disposer des permissions pour toutes les actions dépendantes.

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 :

  • e1 : instance élastique.

  • c1 : instance de performance.

  • fc.gpu.tesla.1 : type d'instance de la série GPU Tesla.

  • fc.gpu.ampere.1 : type d'instance de la série GPU Ampere.

  • fc.gpu.ada.1 : type d'instance de la série GPU Ada.

  • g1 : identique à fc.gpu.tesla.1.

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 : instance élastique.

  • c1 : instance de performance.

  • fc.gpu.tesla.1 : type d'instance de la série GPU Tesla.

  • fc.gpu.ampere.1 : type d'instance de la série GPU Ampere.

  • fc.gpu.ada.1 : type d'instance de la série GPU Ada.

  • g1 : identique à fc.gpu.tesla.1.

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.