Aws-lambda-dotnet: 来自 APIGatewayProxyRequest 对象的 Lambda 负载(在节点中工作)

创建于 2017-05-18  ·  3评论  ·  资料来源: aws/aws-lambda-dotnet

我有一个关于什么应该是非常简单的问题。

我们需要在 .Net Core (C#) 中编写我们的 Lambda,它使用 API Gateway 资源,并试图从自定义授权器或直接从附加到 API Gateway 资源的主体映射模板中获取自定义变量(在集成请求)。

我们遇到的问题是,您可以通过节点访问包含整个 json 有效负载的“事件”参数,这意味着您可以像这样获取新的自定义变量:
event.requestContext.authorizer.customKeyevent.requestContext.context.customKey

问题是无法使用 [ APIGatewayProxyRequest ] 请求对象从 C# 代码中获取这些变量。 我与来自 AWS 的一些工程师聊天(我们有一个商业计划),他们已经确认(在 3 或 4 人参与之后)没有明显或可能的方法可以通过 C# 从请求对象中获取整个有效负载进行询问.

这是我们的特定案例的问题,因为我们可以不访问任何自定义变量,这意味着我们需要更改计划。

我发现它如何在节点中实现但在 C# 中却不满足,这真的很奇怪?

可以在此处找到一个 Stack Overflow 问题对示例有什么帮助:
http://stackoverflow.com/questions/43990385/aws-lambda-c-sharp-accessing-custom-context

这可以确认吗?

@normj

feature-request

最有用的评论

是的,我们确实需要扩展 APIGatewayProxyRequest 以访问自定义授权方。

在此之前的解决方法是让您的 Lambda 函数接收 System.IO.Stream 而不是 APIGatewayProxyRequest。 然后您可以访问可以自己解析的原始 JSON。 您可以从该 JSON 中获取您需要的信息,然后将 JSON 反序列化为 APIGatewayProxyRequest。

所有3条评论

是的,我们确实需要扩展 APIGatewayProxyRequest 以访问自定义授权方。

在此之前的解决方法是让您的 Lambda 函数接收 System.IO.Stream 而不是 APIGatewayProxyRequest。 然后您可以访问可以自己解析的原始 JSON。 您可以从该 JSON 中获取您需要的信息,然后将 JSON 反序列化为 APIGatewayProxyRequest。

是否添加了此功能? 如果是的话,我可以得到一个链接到它周围的一些文档吗?

此页面是否有帮助?
0 / 5 - 0 等级