本文介绍在函数计算中使用PHP运行时开发代码时,所涉及的Context(上下文)的相关概念。
什么是上下文
当函数计算运行您的函数时,会将上下文对象传递到执行方法中。该对象包含有关调用、服务、函数、链路追踪和执行环境等信息。
事件请求处理程序(Event Handler)和HTTP请求处理程序(HTTP Handler)都支持上下文对象作为传入参数,且格式和内容相同。在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' =>[
'name' => 'my-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类型,包含以下字段:
| 函数计算服务通过扮演服务角色而获取的一组临时密钥,其有效时间是36小时。您可以在代码中使用 |
function | Array类型,包含以下字段:
| 当前调用的函数的一些基本信息,例如函数名、函数入口、函数内存和超时时间。 |
service | Array类型,包含以下字段:
| 当前调用的函数所在的服务信息,包含服务名称、接入的日志服务SLS的Project和Logstore信息,以及服务的版本和别名信息。其中 |
region | String | 当前调用的函数所在地域ID,例如在华东2(上海)地域调用,则地域ID为cn-shanghai。详细信息,请参见服务接入地址。 |
accountId | String | 函数所属的阿里云账号ID(主账号ID)。 |
tracing | Array类型,包含以下字段:
| 链路追踪相关参数。具体信息,请参考链路追踪简介。 |