在Web函數中,您想擷取上下文或者查看執行日誌,可以參考Custom Runtime的公用要求標頭以及日誌格式,根據這些資訊打造屬於您的自訂運行環境。
Function Compute公用要求標頭
Custom Runtime從Function Compute中接收到的公用要求標頭如下表所示。如果您需要訪問阿里雲其他服務,您可能需要用到臨時AccessKey的Headers。如果您需要遷移已有的應用,可忽略下文的內容。
事件函數和HTTP函數均包含Common Headers。
公用要求標頭是Function Compute自動產生的,主要包含許可權資訊和函數的基本資料等。
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)的日誌會自動收集到您指定的Log Service中。具體步驟,請參見配置日誌。
Function Compute在其他運行環境,即除Custom Runtime以外的運行環境中調用函數時,如果要求標頭中包含x-fc-log-type" = "Tail"
,那麼返回的回應標頭包含x-fc-log-result
的內容就是函數執行時列印的日誌,日誌上限為4 KB。您可以在Function Compute控制台函數執行結果中查看該日誌。
不同語言下指定記錄層級的介面不同,請您根據實際運行環境設定。更多資訊,請參見基礎資訊。
相關文檔
使用Custom Runtime編寫函數的運行環境,請參見環境說明。
冷啟動Custom Runtime的基本原理及HTTP Server配置要求,請參見基本原理。
Custom Runtime中函數調用的方式、使用限制及程式碼範例,請參見Web函數。
Custom Runtime實現函數執行個體生命週期回調的方法,請參見函數執行個體生命週期回調。