全部產品
Search
文件中心

Function Compute:上下文

更新時間:Jul 06, 2024

本文介紹在Function Compute中使用PHP運行時開發代碼時,所涉及的Context(上下文)的相關概念。

什麼是上下文

Function Compute運行您的函數時,會將內容物件傳遞到執行方法中。該對象包含有關調用、服務、函數和執行環境等資訊。

在PHP運行時中,$context參數的資料類型是數組Array類型,定義如下所示。

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

$context中包含了以下資訊。

欄位

類型

說明

requestId

String

本次調用請求的唯一ID。您可以記錄該ID,當函數調用出現問題時方便查詢。

credentials

Array類型,包含以下欄位:

  • accessKeyId

  • accessKeySecret

  • securityToken

Function Compute服務通過扮演服務角色而擷取的一組臨時密鑰,其有效時間是36小時。您可以在代碼中使用Credentials去訪問相應的服務例如OSS,這就避免了您把自己的AccessKey資訊編碼在函數代碼裡。詳細資料,請參見授予Function Compute訪問其他雲端服務的許可權

function

Array類型,包含以下欄位:

  • name

  • handler

  • memory

  • timeout

  • initializer

  • initializationTimeout

當前調用的函數的一些基本資料,例如函數名、函數入口、函數記憶體和逾時時間。

service

Array類型,包含以下欄位:

  • logProject

  • logStore

  • qualifier

  • versionId

當前調用的函數所在的服務資訊,包含接入的Log ServiceSLS的Project和Logstore資訊,以及版本和別名資訊。其中qualifier表示調用函數時指定的服務版本或別名,versionId表示實際調用的服務版本。

region

String

當前調用的函數所在地區ID,例如在華東2(上海)地區調用,則地區ID為cn-shanghai。詳細資料,請參見服務接入地址

accountId

String

函數所屬的阿里雲帳號ID(主帳號ID)。