Tous les produits
Search
Centre de documentation

Function Compute:Contexte

Dernière mise à jour :Aug 21, 2026

Cette rubrique décrit l'objet de contexte disponible lorsque vous écrivez du code dans l'environnement d'exécution PHP de Function Compute.

Lorsque Function Compute exécute votre fonction, l'environnement d'exécution transmet un paramètre $context à votre gestionnaire. Ce tableau contient des métadonnées relatives à l'appel en cours, à la configuration de votre fonction ainsi que des identifiants temporaires vous permettant d'appeler d'autres services Alibaba Cloud.

Structure de l'objet de contexte

L'exemple suivant illustre la structure du tableau $context dans l'environnement d'exécution PHP :

[
  'requestId' => 'b1c5100f-819d-c421-3a5e-7782a27d8a33',
  'credentials' => [
    'accessKeyId' => 'STS.access_key_id',
    'accessKeySecret' => 'access_key_secret',
    'securityToken' => 'security_token',
  ],
  'function' => [
    'name' => 'my-func',
    'handler' => 'index.handler',
    'memory' => 128,
    'timeout' => 10,
    'initializer' => 'index.initializer',
    'initializationTimeout' => 10,
  ],
  'service' =>[
     'logProject' => 'my-log-project',
     'logStore' => 'my-log-store',
     'qualifier' => 'qualifier',
     'versionId' => '1'
  ],
  'region' => 'cn-shanghai',
  'accountId' => '123456',
  'tracing': {
    'openTracingSpanContext': 'xxxxxxxxxxxx',
    'jaegerEndpoint': 'xxxxxxxx',
    'openTracingSpanBaggages': []
  }
]

Champs du contexte

Champs de premier niveau

Champ Type Description
requestId String Identifiant unique de l'appel actuel. Enregistrez cet ID pour tracer les problèmes en cas d'erreur.
credentials Array Paire AccessKey temporaire obtenue par Function Compute via l'assomption de votre rôle lié au service. Valide pendant 36 heures. Utilisez ces identifiants pour appeler d'autres services Alibaba Cloud, tels qu'Object Storage Service (OSS), sans intégrer en dur votre paire AccessKey dans le code de la fonction. Pour plus de détails, consultez la page Grant Function Compute permissions to access other Alibaba Cloud services.
function Array Configuration de la fonction appelée.
service Array Informations sur le service auquel appartient la fonction.
region String ID de la région dans laquelle s'exécute la fonction. Par exemple, cn-shanghai pour la région Chine (Shanghai). Pour obtenir la liste complète des ID de région, consultez la page Service endpoints.
accountId String ID du compte Alibaba Cloud propriétaire de la fonction.
tracing Object Contexte de traçage distribué basé sur la norme OpenTracing, renseigné lorsque le traçage est activé.

Champs credentials

Champ Type Description
accessKeyId String ID AccessKey de l'identifiant temporaire.
accessKeySecret String Clé secrète AccessKey de l'identifiant temporaire.
securityToken String Jeton de sécurité associé à l'identifiant temporaire.

Champs function

Champ Type Description
name String Nom de la fonction.
handler String Gestionnaire de la fonction, au format <file>.<method>.
memory Integer Taille de la mémoire configurée pour la fonction, en Mo.
timeout Integer Durée maximale d'exécution configurée pour la fonction, en secondes.
initializer String Initialiseur de la fonction, au format <file>.<method>.
initializationTimeout Integer Durée maximale d'initialisation configurée pour la fonction, en secondes.

Champs service

Champ Type Description
logProject String Projet Log dans Simple Log Service associé à ce service.
logStore String Logstore dans Simple Log Service associé à ce service.
qualifier String Version ou alias spécifié lors de l'appel de la fonction.
versionId String Version du service qui a été effectivement appelée.

Champs tracing

Champ Type Description
openTracingSpanContext String Contexte de span OpenTracing pour l'appel actuel, utilisé pour la propagation du traçage distribué.
jaegerEndpoint String Endpoint du collecteur Jaeger pour l'envoi des données de traçage.
openTracingSpanBaggages Array Éléments de bagage OpenTracing attachés à la span actuelle.

Accéder aux champs du contexte dans votre fonction

L'exemple suivant montre comment accéder aux champs de contexte courants dans un gestionnaire PHP :

<?php

function handler($event, $context) {
    // Use requestId to correlate logs with a specific invocation
    $requestId = $context['requestId'];
    error_log("Request ID: " . $requestId);

    // Use temporary credentials to call other Alibaba Cloud services
    $accessKeyId     = $context['credentials']['accessKeyId'];
    $accessKeySecret = $context['credentials']['accessKeySecret'];
    $securityToken   = $context['credentials']['securityToken'];

    // Read function configuration
    $functionName = $context['function']['name'];
    $memoryLimit  = $context['function']['memory'];   // in MB
    $timeoutLimit = $context['function']['timeout'];  // in seconds

    // Identify which version or alias was invoked
    $qualifier = $context['service']['qualifier'];
    $versionId = $context['service']['versionId'];

    return "OK";
}
Remarque

Les identifiants (credentials) du contexte sont temporaires et expirent après 36 heures. Ne les mettez pas en cache au-delà de l'invocation de la fonction.