我已使用集成类型为“ VPC Link”且启用了代理集成的AWS API Gateway设置了我的API终端之一。我的VPC链接是一个网络负载平衡器,可将请求转发到VPC内托管的私有应用。
即使我已启用代理集成,但api网关请求上下文仍未转发到网络负载平衡器(至少没有到达我的应用程序)。如果不使用VPC链接,而只是使用Lambda函数作为API的后端,那么我可以看到api网关请求上下文通过。
我在VPC中运行的应用程序是用Java编写的Spring + Jersey Web应用程序。以lambda作为后端,我可以如下获取api网关请求上下文...
MyMethod1
但是,当我使用VPC链接作为API的后端时,ContainerRequestContext中唯一可用的属性是
async
但是,使用lambda时,具有以下所有可用属性
@GET
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@Path("/{id}")
public Response getAsset(@PathParam("id") final Integer assetId,
@HeaderParam(HttpHeaders.AUTHORIZATION) final String authorizationHeader,
@Context final ContainerRequestContext request) {
...
...
...
Object apiGatewayContext = request.getProperty("com.amazonaws.apigateway.request.context")
}
我想念什么吗?