我用 cdk 代码设置了 api 网关。我为 ServerError 和 Latency 设置了不同的警报。我还想设置一个节流警报。我看到了如何设置https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-apigateway.ThrottleSettings.html,但我找不到如何设置警报。我使用 https://docs.aws.amazon.com/cdk/api/v1/docs/aws-cloudwatch-readme.html 设置的所有其他警报,但 api 网关没有 metricThrottles()
。使用 cdk for api gateway 创建节流警报的正确方法是什么?
回答1
这是一个DIY工作。 API Gateway https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-metrics-and-dimensions.html,但不单独发送 429
错误。要使用 CDK 隔离节流阀,您可以:
- 在 CloudWatch 中https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.StageOptions.html
- 创建一个 https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_logs.MetricFilter.html 来隔离
429
事件 - 在该自定义指标上设置 https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_cloudwatch.Alarm.html
有关 CDK 之外的上下文,请参阅 https://stackoverflow.com/a/68414893/1103511 和 https://stackoverflow.com/questions/40966288/is-there-a-way-to-track-calls-throttled-by-api-gateway SO 问题。