Todos os produtos
Search
Central de documentação

Function Compute:Contexto

Última atualização: Jun 29, 2026

Este tópico descreve o objeto de contexto disponível ao escrever código no ambiente de execução PHP do Function Compute.

Ao executar sua função, o Function Compute passa um parâmetro $context para o handler. Esse array contém metadados sobre a invocação atual, a configuração da função e credenciais temporárias para chamar outros serviços da Alibaba Cloud.

Estrutura do objeto de contexto

O exemplo a seguir mostra a estrutura do array $context no runtime 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': []
  }
]

Campos do contexto

Campos de nível superior

Campo

Tipo

Descrição

requestId

String

ID exclusivo da invocação atual. Registre este ID para rastrear problemas em caso de erros.

credentials

Array

Par de AccessKey temporário que o Function Compute obtém ao assumir a função vinculada ao serviço. Válido por 36 horas. Use essas credenciais para chamar outros serviços da Alibaba Cloud, como o Object Storage Service (OSS), sem codificar o par de AccessKey no código da função. Para mais detalhes, consulte Conceder permissões ao Function Compute para acessar outros serviços da Alibaba Cloud.

function

Array

Configuração da função invocada.

service

Array

Informações sobre o serviço ao qual a função pertence.

region

String

ID da região onde a função é executada. Por exemplo, cn-shanghai para a região China (Shanghai). Para obter todos os IDs de região, consulte Endpoints de serviço.

accountId

String

ID da conta Alibaba Cloud proprietária da função.

tracing

Object

Contexto de rastreamento distribuído baseado no padrão OpenTracing, preenchido quando o rastreamento está ativado.

Campos de credentials

Campo

Tipo

Descrição

accessKeyId

String

AccessKey ID da credencial temporária.

accessKeySecret

String

AccessKey Secret da credencial temporária.

securityToken

String

Token de segurança associado à credencial temporária.

Campos de function

Campo

Tipo

Descrição

name

String

Nome da função.

handler

String

Handler da função, no formato <file>.<method>.

memory

Integer

Tamanho de memória configurado para a função, em MB.

timeout

Integer

Tempo máximo de execução configurado para a função, em segundos.

initializer

String

Inicializador da função, no formato <file>.<method>.

initializationTimeout

Integer

Tempo máximo de inicialização configurado para a função, em segundos.

Campos de service

Campo

Tipo

Descrição

logProject

String

Log Project no Simple Log Service associado a este serviço.

logStore

String

Logstore no Simple Log Service associado a este serviço.

qualifier

String

Versão ou alias especificado durante a invocação da função.

versionId

String

Versão do serviço efetivamente invocada.

Campos de tracing

Campo

Tipo

Descrição

openTracingSpanContext

String

Contexto de span do OpenTracing para a invocação atual, usado na propagação de rastreamento distribuído.

jaegerEndpoint

String

Endpoint do coletor Jaeger para envio de dados de rastreamento.

openTracingSpanBaggages

Array

Itens de baggage do OpenTracing anexados ao span atual.

Acessar campos de contexto na função

O exemplo a seguir demonstra como acessar campos comuns do contexto em um handler 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";
}
Nota

As credenciais no contexto são temporárias e expiram após 36 horas. Não as armazene em cache além da invocação da função.