API 网关映射模板:$context.xrayTraceId 始终为空
API Gateway mapping template: $context.xrayTraceId is always empty
我的舞台启用了 Xray 跟踪,我可以看到 X-Amzn-Trace-Id 从 API 网关返回,而且,我能够从 API 看到整个跟踪G 到 Dynamo 数据库。我想将此跟踪 ID 保存到 table,以便我们可以更有效地调试它,但是当我映射像
这样的集成时
"TableName" : "${aws_dynamodb_table.openApi_staging.id}",
"Item": {
"RequestId": {
"S": "$context.requestId"
},
"Request": {
"S": "$input.path('$')"
},
"RequestedAt": {
"S": "$context.requestTime"
},
"Status":{
"S": "New"
},
"Xray": {
"S": "_$context.xrayTraceId"
}
}
Xray 总是空的!我怎样才能获得这个ID?
好的,aws 文档中的解决方案似乎不起作用,但是 headers 中存在 Xray id,所以我们可以这样做
"Xray": {
"S": "$method.request.header.X-Amzn-Trace-Id"
}
行得通!
我的舞台启用了 Xray 跟踪,我可以看到 X-Amzn-Trace-Id 从 API 网关返回,而且,我能够从 API 看到整个跟踪G 到 Dynamo 数据库。我想将此跟踪 ID 保存到 table,以便我们可以更有效地调试它,但是当我映射像
这样的集成时 "TableName" : "${aws_dynamodb_table.openApi_staging.id}",
"Item": {
"RequestId": {
"S": "$context.requestId"
},
"Request": {
"S": "$input.path('$')"
},
"RequestedAt": {
"S": "$context.requestTime"
},
"Status":{
"S": "New"
},
"Xray": {
"S": "_$context.xrayTraceId"
}
}
Xray 总是空的!我怎样才能获得这个ID?
好的,aws 文档中的解决方案似乎不起作用,但是 headers 中存在 Xray id,所以我们可以这样做
"Xray": {
"S": "$method.request.header.X-Amzn-Trace-Id"
}
行得通!