Tüm Ürünler
Search
Belge Merkezi

Function Compute:Bağlam

Son Güncelleme:Oct 08, 2026

Bu konu, Function Compute PHP çalışma zamanı ortamında kod yazarken kullanabileceğiniz bağlam nesnesini açıklar.

Function Compute işlevinizi çalıştırdığında, çalışma zamanı işleyicinize bir $context parametresi iletir. Bu dizi; geçerli çağrı, işlev yapılandırmanız ve diğer Alibaba Cloud hizmetlerini çağırmak için kullanabileceğiniz geçici kimlik bilgileri hakkında meta veriler içerir.

Bağlam nesnesi yapısı

Aşağıdaki örnek, PHP çalışma zamanındaki $context dizisinin yapısını gösterir:

[
  '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': []
  }
]

Bağlam alanları

Üst düzey alanlar

Alan Tür Açıklama
requestId Dize Geçerli çağrının benzersiz kimliği. Hata oluştuğunda sorunları izlemek için bu kimliği kaydedin.
credentials Dizi Function Compute'ın hizmet bağlantılı rolünüzü üstlenerek edindiği geçici AccessKey çifti. 36 saat boyunca geçerlidir. AccessKey çiftinizi işlev koduna sabit olarak eklemek yerine, Object Storage Service (OSS) gibi diğer Alibaba Cloud hizmetlerini çağırmak için bu kimlik bilgilerini kullanın. Ayrıntılar için bkz. Function Compute'a diğer Alibaba Cloud hizmetlerine erişim izni verme.
function Dizi Çağrılan işlevin yapılandırması.
service Dizi İşlevin ait olduğu hizmetle ilgili bilgiler.
region Dize İşlevin çalıştığı bölgenin kimliği. Örneğin, Çin (Şanghay) bölgesi için cn-shanghai. Tüm bölge kimlikleri için bkz. Hizmet uç noktaları.
accountId Dize İşleve sahip olan Alibaba Cloud hesabının kimliği.
tracing Nesne İzleme etkinleştirildiğinde doldurulan, OpenTracing standardına dayalı dağıtılmış izleme bağlamı.

credentials alanları

Alan Tür Açıklama
accessKeyId Dize Geçici kimlik bilgisinin AccessKey ID'si.
accessKeySecret Dize Geçici kimlik bilgisinin AccessKey gizli anahtarı.
securityToken Dize Geçici kimlik bilgisiyle ilişkili güvenlik belirteci.

function alanları

Alan Tür Açıklama
name Dize İşlevin adı.
handler Dize İşlevin işleyicisi; biçimi <file>.<method> şeklindedir.
memory Tamsayı İşlev için yapılandırılan bellek boyutu (MB cinsinden).
timeout Tamsayı İşlev için yapılandırılan maksimum yürütme süresi (saniye cinsinden).
initializer Dize İşlevin başlatıcısı; biçimi <file>.<method> şeklindedir.
initializationTimeout Tamsayı İşlev için yapılandırılan maksimum başlatma süresi (saniye cinsinden).

service alanları

Alan Tür Açıklama
logProject Dize Bu hizmetle ilişkili Simple Log Service'deki Log Projesi.
logStore Dize Bu hizmetle ilişkili Simple Log Service'deki Logstore.
qualifier Dize İşlev çağrılırken belirtilen sürüm veya takma ad.
versionId Dize Gerçekten çağrılan hizmetin sürümü.

tracing alanları

Alan Tür Açıklama
openTracingSpanContext Dize Dağıtılmış iz yayılımı için kullanılan, geçerli çağrının OpenTracing span bağlamı.
jaegerEndpoint Dize İz verilerini göndermek için Jaeger toplayıcı uç noktası.
openTracingSpanBaggages Dizi Geçerli span'a eklenen OpenTracing bagaj öğeleri.

İşlevinizde bağlam alanlarına erişme

Aşağıdaki örnek, bir PHP işleyicisinde yaygın bağlam alanlarına nasıl erişileceğini gösterir:

<?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";
}
Not

Bağlamdaki kimlik bilgileri geçicidir ve 36 saat sonra sona erer. Bunları işlev çağrısı ötesinde önbelleğe almayın.