有没有办法访问向 AWS API 网关发出的每个请求的执行时间?
我需要单个值,而不是聚合指标(= CloudWatch 指标控制面板中可见的指标)。
如果您启用 Cloudwatch 日志,您将能够看到每个请求,包括每个请求的计时数据:
https://aws.amazon.com/premiumsupport/knowledge-center/api-gateway-cloudwatch-logs/
我认为你不能。如果您显式启用 API 网关的 cloudwatch 监视日志,则只会获得基于 api 资源或 api 方法的聚合值,默认情况下它将处于关闭状态。您甚至可以使用 API 访问此数据https://boto3.readthedocs.io/en/latest/reference/services/cloudwatch.html#id51
只是一个想法:现在的问题是为什么您需要单独监视每个请求。通常,您只需要平均查看事情的执行情况。这是由指标来照顾的。API 网关只是连接到其他服务的接口。例如,如果您正在连接到 Lambda,则可以详细登录,甚至可以在响应中返回执行时间。所以基本上登录到一些系统,如日志或弹性搜索和通过API调用访问。或者只需在 apigateway 响应中计算并返回所需的维度/参数。