【问题标题】:How to make event to be same between api gateway and lambda console test如何使 api 网关和 lambda 控制台测试之间的事件相同
【发布时间】:2019-05-18 08:55:55
【问题描述】:

当我使用 lambda 控制台测试来测试 lambda 时,我发现我在控制台中指定的事件与从 API 网关发送的事件不同。来自 API 网关的事件是完整的 http 请求对象结构。下面是一个例子。

{ resource: '/screenshot',
path: '/screenshot',
httpMethod: 'POST',
headers: null,
multiValueHeaders: null,
queryStringParameters: null,
multiValueQueryStringParameters: null,
pathParameters: null,
stageVariables: null,
requestContext: 
{ path: '/screenshot',
accountId: '286334053171',
resourceId: 'slne19',
stage: 'test-invoke-stage',
domainPrefix: 'testPrefix',
requestId: 'd091e8bf-7948-11e9-951d-3b38e4cc6ad6',

但是在 lambda 控制台中定义的事件只是一个 JSON 对象。如何在控制台中创建相同的测试事件来模拟 API 网关事件?

【问题讨论】:

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


    【解决方案1】:

    当您在 Lambda 控制台中配置测试事件时,您可以从一组事件模板中进行选择。这包括 API Gateway 代理事件:

    如果您使用此方法,则必须为您的特定调用配置密钥。

    或者,您可以将console.log(或等效语言)、event(第一个参数)参数传递给 lambda 处理程序。这将为您提供您在 API Gateway 测试中使用的精确 JSON 对象,而无需您编辑模板事件。

    【讨论】:

      猜你喜欢
      • 2023-01-24
      • 2020-07-07
      • 1970-01-01
      • 1970-01-01
      • 2016-09-01
      • 1970-01-01
      • 2017-04-17
      • 2011-10-19
      • 2015-11-27
      相关资源
      最近更新 更多