【问题标题】:How to keep track of appsync validation errors on cloudwatch?如何在 cloudwatch 上跟踪 appsync 验证错误?
【发布时间】:2022-01-20 11:05:45
【问题描述】:

我在 appsync 上有自定义解析器,由 lambda 函数处理,我可以通过使用 cloudwatch 并根据这些日志创建警报来跟踪 lambda 函数创建的错误日志。但是,当客户端应用程序尝试请求 graphql 架构中不存在的字段时(见下图),lambda 运行良好,因此没有创建任何错误日志,我如何使用 cloudwatch 跟踪这些类型的错误?

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-cloudwatch aws-appsync


    【解决方案1】:

    好消息是您可以打开AppSync request logging 以在 CloudWatch 中获取请求级日志。使用 Cloudformation/CDK LogConfig 或直接在 AppSync 控制台中配置日志记录。

    坏消息是记录的事件似乎并没有表明验证失败。看起来,格式正确和格式错误的请求都以类似的方式记录下来。日志级别 INFOERROR 似乎没有帮助。

    可能有一种方法可以查找日志模式(格式错误的请求不会调用解析器)来区分好请求和坏请求,但这似乎并不简单。也许你的运气会比我好!

    一个请求的日志条目示例:

    Begin Request
    GraphQL Query: query Labels { labelStats(topic: "cars") { name objects __typename } } , Operation: Labels,...
    {"duration":201275210,"logType":"ExecutionSummary","requestId":"4f49d425-18ab-4be7-a40e-0229c17453dc","startTime":"2021-12-17T16:36:30.925216Z","e...
    {"logType":"RequestSummary","requestId":"4f49d425-18ab-4be7-a40e-0229c17453dc","graphQLAPIId":"xxxxxxxxxx","statusCode":200,"lat...
    Request Headers: {content-length=[148], cloudfront-viewer-country=[US], x-forwarded-proto=[https], x-amzn-r...
    Response Headers: {Content-Type=application/json; charset=UTF-8}
    End Request
    

    【讨论】:

      猜你喜欢
      • 2011-11-02
      • 2021-08-16
      • 1970-01-01
      • 2011-07-03
      • 2019-12-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      • 1970-01-01
      相关资源
      最近更新 更多