簡體   English   中英

調用 lambda 時如何記錄 X-Amzn-Request-id? (aws-sdk)

[英]How to log X-Amzn-Request-id when invoking a lambda? (aws-sdk)

我看到當我們調用 lambda 時,該執行有一個 x-amzn-request-id:

  "resourceType": "lambda",
  "resource": "invoke",
  "output": {
    "ExecutedVersion": "$LATEST",
    "Payload": {
      "recordsReady": false
    },
    "SdkHttpMetadata": {
      "AllHttpHeaders": {
        "X-Amz-Executed-Version": [
          "$LATEST"
        ],
        "x-amzn-Remapped-Content-Length": [
          "0"
        ],
        "Connection": [
          "keep-alive"
        ],
        "x-amzn-RequestId": [ <-------------------
          "0b1198a6-2ed8-485b-b5f6-6c086ff192a1"
        ],

我們如何使用 aws-sdk 從 lambda 注銷該請求 ID? 有可能嗎?

context object 有幾個有用的屬性。 其中一個 mis 'aws_request_id'(對於 python,但其他 sdk 也有): https://docs.aws.amazon.com/lambda/latest/dg/python-context.html這應該給你請求 id對於調用請求。 我會檢查並注銷它。 例如:

def lambda_handler(event, context):
    print(context.aws_request_id)

您可以通過以下方式在 JS 中執行此操作

  • 使用context object,這是最常見的方式。 context作為處理程序 function 中的第二個參數傳遞:
    exports.handler = (event, context, callback) => {
        console.log(`X-Amzn-Request-Id: ${context.awsRequestId}`);
        ...
    }
  • 使用process.env
exports.handler = (event, context, callback) => {
    console.log("X-Amzn-Request-Id: " + process.env.AWS_REQUEST_ID);
    // rest of your code
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM