Tous les produits
Search
Centre de documentation

Function Compute:Fondamentaux de Function Compute

Dernière mise à jour :Aug 12, 2026

Les handlers traitent les requêtes, les hooks de cycle de vie gèrent les changements d'état des instances et les journaux s'intègrent à Simple Log Service.

Handlers

Chaque fonction nécessite un handler. Le runtime Function Compute charge et invoque votre handler pour traiter les requêtes.

Runtimes intégrés

Les handlers des runtimes intégrés suivent un format standard et traitent les événements provenant de déclencheurs tels que Object Storage Service (OSS), Simple Log Service, ApsaraMQ for RocketMQ et EventBridge. Les déclencheurs HTTP fournissent un endpoint URI pour une invocation directe.

Runtimes Custom et Custom Container

Le fonctionnement des handlers diffère pour les runtimes Custom et Custom Container. Fonctions Web.

Configurer le handler

Définissez le paramètre Handler dans la console Function Compute. Créer une fonction.

Hooks de cycle de vie d'instance

Function Compute crée des instances à la demande pour traiter les requêtes. Les instances inactives sont gelées, puis détruites après un délai d'expiration.

Les hooks de cycle de vie exécutent une logique personnalisée lors du changement d'état d'une instance. Tous les runtimes prennent en charge les hooks Initializer et PreStop. Configurer les cycles de vie des instances.

Hook Initializer hook

Le hook Initializer s'exécute après le démarrage d'une instance, mais avant le handler. Il ne s'exécute qu'une seule fois par instance et doit réussir. Le comportement en cas d'échec dépend du type d'invocation :

  • Invocations synchrones : le système renvoie l'erreur.

  • Invocations asynchrones : le système réessaie selon la politique de nouvelle tentative configurée.

Utilisez le hook Initializer pour les initialisations coûteuses qui doivent s'exécuter une seule fois plutôt qu'à chaque invocation :

  • Création de pools de connexions

  • Chargement des dépendances de la fonction

  • Tâches de configuration liées aux bases de données

Hook PreStop hook

Le hook PreStop s'exécute avant la destruction d'une instance de fonction. Utilisez-le pour des tâches de nettoyage telles que :

  • Fermeture des connexions à la base de données

  • Signalement et mise à jour de l'état de l'instance

Journalisation

Function Compute stocke les journaux d'invocation de fonction et les journaux générés par le code dans Simple Log Service.

Remarque
  • Un Logstore au niveau du service stocke les journaux de fonction. Configurer la fonctionnalité de journalisation.

  • Lorsque la journalisation est activée durant la création de la fonction, la console crée automatiquement un Logstore par défaut.

Instructions de journalisation

Chaque langage propose une instruction de journalisation native ainsi qu'une instruction spécifique à Function Compute. Les instructions Function Compute ajoutent un ID de requête à chaque entrée pour faciliter le filtrage.

Langage

Instruction native

Instruction Function Compute

Référence

Node.js

console.log()

context.logger.info()

Afficher les journaux

Python

print()

logging.getLogger().info()

Afficher les journaux

Java

System.out.println()

context.getLogger().info()

Afficher les journaux

PHP

echo "" . PHP_EOL

$GLOBALS['fcLogger']->info()

Afficher les journaux

C#

Console.WriteLine("")

context.Logger.LogInformation()

Afficher les journaux

Golang

log.Println()

fctx, _ := fccontext.FromContext(ctx) fctx.GetLogger().Info()

Afficher les journaux

Ces deux types d'instructions envoient les journaux vers le Logstore. Les instructions Function Compute ajoutent un ID de requête à chaque entrée :

# Built-in statement: print('hello world')
message:  hello world

# Function Compute statement: logger.info('hello world')
message:  2020-03-13T04:06:49.099Z f84a9f4f-2dfb-41b0-9d6c-1682a2f3a650 [INFO] hello world

Structure des journaux

Un journal d'exécution de fonction contient le nom du service, le nom de la fonction, la version actuelle, l'alias et les journaux du code :

__source__:
__tag__:__receive_time__:  1584072413
__topic__:  FCLogs:myFunction
functionName:  myFunction
message:  2020-03-13T04:06:49.099Z f84a9f4f-2dfb-41b0-9d6c-1682a2f3a650 [INFO] hello world
qualifier:  LATEST
serviceName:  myService
versionId:

Le runtime affiche des marqueurs de début et de fin pour chaque invocation :

  • Début : FC Invoke Start RequestId: f84a9f4f-2dfb-41b0-9d6c-1682a2f3a650

  • Fin : FC Invoke End RequestId: f84a9f4f-2dfb-41b0-9d6c-1682a2f3a650

Systèmes d'exploitation

Les runtimes intégrés s'exécutent sur Debian 9 LTS, Debian 10 LTS, Debian 11 LTS ou Debian 12 LTS. Seule l'architecture x86_64 est prise en charge.

Personnalisez le système d'exploitation via des couches ou des variables d'environnement. Par exemple, Function Compute utilise UTC par défaut. Définissez TZ sur Asia/Shanghai pour utiliser UTC+8. Configurer les couches et Configurer les variables d'environnement.