AWS API网关:访问日志中的日志查询字符串

时间:2018-06-19 06:18:59

标签: amazon-web-services aws-api-gateway

我已在AWS API Gateway中为我的API启用了对CloudWatch的访问日志记录,并且工作正常。 但是,它只会记录URL的路径部分,而不是我的查询字符串参数。

我的日志格式如下:

$user = new User();
$user->company_id = Auth::user()->company_id;
$user->user_label = 2;
$user->unique_id = $value->userid;
$user->user_first_name = $value->name == '' ? '' : $value->name
$user->card_id = $value->cardnumber;
$user->save();

让我们说,我这样称呼我的API:

[$context.requestTime] ($context.status) "$context.httpMethod $context.path $context.requestId

相应的访问日志行如下所示:

GET http://my.server.com/details?id=123

我也需要id = 123,但我无法弄清楚如何访问它。文档建议使用[19/Jun/2018:06:09:27 +0000] (200) "GET /details 5229a43c-7387-11e8-xxxx-xxxxxxxx ,但这将始终返回$input.params('id')

1 个答案:

答案 0 :(得分:1)

仅支持$ context变量,不支持$ input等。 AWS参考:您见过https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html吗?