在 AWS lambda Web 控制台上测试 Apollo graphql 查询

Posted

技术标签:

【中文标题】在 AWS lambda Web 控制台上测试 Apollo graphql 查询【英文标题】:Testing Apollo graphql query on AWS lambda web console 【发布时间】:2019-07-22 23:29:31 【问题描述】:

我可以使用 URL 中的 GraphqlClient 成功部署和运行我的 lambda:

https://4er563if.execute-api.us-east-1.amazonaws.com/dev/zipcodes

据我了解,它通过触发 lambda 的 AWS API 网关,网关获取 POST 数据并将其传递给 lambda。

但现在我想直接在 Lambda 浏览器控制台上尝试代码。有“配置测试事件”选项,我可以在其中定义 JSON 字符串并将其发送到 lambda,但我不知道“事件”和“上下文”应该包含哪些信息。

我试过了:

 
   "headers": "origin":true,
    "context": " \"functionName\": \"getZipdata\",
                  \"method\": \"POST\",
                  \"query\": getZipdata(zip: \"04340\") id, name"
  

但我得到了:

  "body": "Apollo Server supports only GET/POST requests."

【问题讨论】:

【参考方案1】:

我找到了路!


    "headers": 
      "Accept": "application/json"
    ,
    "path": "/zipcodes",
    "resource": "/zipcodes",
    "httpMethod": "POST",
    "body": "\"query\":\"query \\n  getZipdata(cp: \\\"78446\\\") idmunicipio,municipio, asentamiento\\n    \",\"variables\":,\"operationName\":null"
  

【讨论】:

注意:路径和资源设置为处理程序所在的文件。如果 lambda 的入口点是 index.handler 那么它应该是 /index (但是这对我有帮助!)

以上是关于在 AWS lambda Web 控制台上测试 Apollo graphql 查询的主要内容,如果未能解决你的问题,请参考以下文章

警告 - 在 Google Play 控制台上公开的 AWS 凭证

在python中自动测试aws lambda函数

Amazon Echo Lambda 函数。控制台打印在哪里?

为啥从我的 Windows EC2 实例发送的 CloudWatch Logs 没有显示在 AWS 控制台上?

在 AWS Amplify 控制台上部署为 SPA 后,Nuxtjs 动态路由在页面重新加载时不起作用

[AWS Lambda] Scheduling Events with AWS Lambda (a.k.a. Lambda cron jobs)