Lors de la création d'un runtime personnalisé, Function Compute transmet le contexte et les métadonnées d'exécution à votre runtime via des en-têtes de requête HTTP. Cette page décrit ces en-têtes ainsi que les formats de journaux reçus par votre runtime.
En-têtes de requête
Function Compute génère automatiquement un ensemble d'en-têtes de requête courants et les envoie à votre runtime personnalisé lors de chaque invocation. Les fonctions événementielles et les fonctions HTTP reçoivent toutes deux ces en-têtes.
Pour appeler d'autres services Alibaba Cloud depuis le code de votre fonction, utilisez les identifiants temporaires présents dans les en-têtesx-fc-access-key-id,x-fc-access-key-secretetx-fc-security-token. Si vous migrez une application existante vers Function Compute, vous pouvez ignorer la plupart de ces en-têtes.
| En-tête | Description | Exemple |
|---|---|---|
x-fc-request-id |
ID unique de cette invocation. | a9e64a3c-1234-5678-abcd-ef0123456789 |
x-fc-access-key-id |
AccessKey ID temporaire. Function Compute appelle AssumeRole pour obtenir cette valeur après la configuration d'un rôle pour la fonction. | STS.NaXxxx |
x-fc-access-key-secret |
Secret AccessKey temporaire, obtenu de la même manière que x-fc-access-key-id. |
7jXxxx |
x-fc-security-token |
Jeton de sécurité temporaire, obtenu de la même manière que x-fc-access-key-id. |
CAIS... |
x-fc-function-handler |
Handler de la fonction. Dans un runtime personnalisé ou un runtime Custom Container, cette valeur est ignorée ; définissez-la sur n'importe quelle chaîne. | index.handler |
x-fc-function-memory |
Mémoire maximale allouée à la fonction. | 512 |
x-fc-region |
Région où la fonction s'exécute. | cn-hangzhou |
x-fc-account-id |
ID du compte propriétaire de la fonction. | 123456789012 |
x-fc-qualifier |
Version ou alias du service spécifié lors de l'invocation de la fonction. Pour plus de détails, consultez Utiliser des versions et des alias pour implémenter un déploiement canari. | LATEST ou myAlias |
x-fc-version-id |
Version spécifique du service indiquée lors de l'invocation. | 1 |
x-fc-function-name |
Nom de la fonction. | my-function |
x-fc-service-logproject |
Projet de journaux Simple Log Service (SLS) configuré pour le service auquel appartient la fonction. | my-log-project |
x-fc-service-logstore |
Logstore Simple Log Service configuré pour le service auquel appartient la fonction. | my-logstore |
x-fc-control-path |
Type de requête. Reportez-vous au tableau ci-dessous pour les valeurs valides. | /invoke |
Valeurs de x-fc-control-path
| Valeur | Signification |
|---|---|
/invoke |
Invocation d'une fonction événementielle. |
/http-invoke |
Invocation d'une fonction HTTP. Function Compute ajoute des en-têtes communs contenant le chemin de la requête, le corps et les en-têtes d'origine, transfère la requête à votre runtime, puis renvoie les en-têtes et le corps de la réponse au client. |
/initialize |
Appel du hook Initializer. Function Compute envoie cette requête lors de la première création d'un environnement d'exécution. À l'instar d'un constructeur de classe, le hook Initializer ne s'exécute qu'une seule fois durant le cycle de vie d'un conteneur. |
x-fc-security-token n'est pas pris en charge dans Custom Runtime (Debian 11). Pour obtenir des identifiants temporaires dans cet environnement, lisez plutôt les variables d'environnement ALIBABA_CLOUD_ACCESS_KEY_ID, ALIBABA_CLOUD_ACCESS_KEY_SECRET et ALIBABA_CLOUD_SECURITY_TOKEN. Pour plus de détails, consultez Configurer les variables d'environnement.
Formats des journaux
Journaux d'application (stdout)
Activez la fonctionnalité de journalisation lors de la création d'un service Function Compute. Toute sortie écrite sur stdout dans votre runtime personnalisé est automatiquement collectée dans le Logstore Simple Log Service que vous configurez. Pour les instructions de configuration, consultez Configurer la fonctionnalité de journalisation.
Journaux d'exécution (x-fc-log-result)
Ce type de journal s'applique aux runtimes autres que les runtimes personnalisés et les runtimes Custom Container. Si la requête d'invocation inclut l'en-tête x-fc-log-type: Tail, la réponse contient un en-tête x-fc-log-result avec les journaux d'exécution de la fonction. Chaque entrée de journal est limitée à 4 Ko. Consultez ces journaux dans les résultats d'invocation de la fonction sur la console Function Compute.
L'API permettant de spécifier le niveau de journal varie selon le langage de programmation. Pour des détails spécifiques à chaque langage, consultez Notions de base .
Étapes suivantes
Vue d'ensemble — Concepts et architecture des runtimes personnalisés
Principes — Démarrages à froid et configuration du serveur HTTP dans un runtime personnalisé
Fonctions web — Méthodes d'invocation des fonctions dans un runtime personnalisé
Hooks de cycle de vie pour les instances de fonction — Implémentation des hooks de cycle de vie dans un runtime personnalisé