在Web函数中,您想获取上下文或者查看执行日志,可以参考Custom Runtime的公共请求头以及日志格式,根据这些信息打造属于您的自定义运行环境。
函数计算公共请求头
Custom Runtime从函数计算中接收到的公共请求头如下表所示。如果您需要访问阿里云其他服务,您可能需要用到临时AccessKey的Headers。如果您需要迁移已有的应用,可忽略下文的内容。
事件函数和HTTP函数均包含Common Headers。
公共请求头是函数计算自动生成的,主要包含权限信息和函数的基本信息等。
Header | 描述 |
x-fc-request-id | Request ID。 |
x-fc-access-key-id | 临时AccessKey ID。 |
x-fc-access-key-secret | 临时AccessKey Secret。 |
x-fc-security-token | 临时Security Token。 |
x-fc-function-handler | 函数的Handler,如果Runtime本身就是函数(例如Custom Runtime或者Custom Container函数),则该值无意义,设置为一个随机字符串即可。 |
x-fc-function-memory | 函数最大能使用的内存。 |
x-fc-region | 函数所在的地域。 |
x-fc-account-id | 函数所有者的UID。 |
x-fc-qualifier | 函数调用时指定的服务版本或别名。更多信息,请参见使用版本和别名实现灰度发布。 |
x-fc-version-id | 函数调用时指定的服务版本。 |
x-fc-function-name | 函数名称。 |
x-fc-service-logproject | 函数所在服务配置的日志项目。 |
x-fc-service-logstore | 函数所在服务配置的日志库。 |
x-fc-control-path | 函数的请求类型。 对于Custom Runtime或Custom Container,您可以根据Headers中的参数来判断函数调用是HTTP函数调用还是事件函数调用。参数信息如下:
|
出于安全考虑,Custom Runtime(Debian11)中已不再支持x-fc-security-token
,如您仍需要临时权限信息,可通过配置环境变量中的ALIBABA_CLOUD_ACCESS_KEY_ID
、ALIBABA_CLOUD_ACCESS_KEY_SECRET
、ALIBABA_CLOUD_SECURITY_TOKEN
获取。
函数日志格式
建议您在创建服务时启用日志功能,Custom Runtime中所有打印到标准输出(Stdout)的日志会自动收集到您指定的日志服务中。具体步骤,请参见配置日志。
函数计算在其他运行环境,即除Custom Runtime以外的运行环境中调用函数时,如果请求头中包含x-fc-log-type" = "Tail"
,那么返回的响应头包含x-fc-log-result
的内容就是函数执行时打印的日志,日志上限为4 KB。您可以在函数计算控制台函数执行结果中查看该日志。
不同语言下指定日志级别的接口不同,请您根据实际运行环境设置。更多信息,请参见基础信息。
相关文档
使用Custom Runtime编写函数的运行环境,请参见环境说明。
冷启动Custom Runtime的基本原理及HTTP Server配置要求,请参见基本原理。
Custom Runtime中函数调用的方式、使用限制及代码示例,请参见Web函数。
Custom Runtime实现函数实例生命周期回调的方法,请参见函数实例生命周期回调。