gpt4 book ai didi

amazon-web-services - 通过 ALB 和 Lambda 集成提供二进制响应

转载 作者:行者123 更新时间:2023-12-01 13:17:14 26 4
gpt4 key购买 nike

AWS 刚刚宣布了一项新功能使用应用程序负载均衡器调用 Lambda 函数。这是个好消息,因为我们不必为 API 网关配置所有这些映射,只是为了从我的 lambda 函数获得简单的响应。

我们有一个通过 API 网关在 lambda 上运行的图像大小调整服务。我想知道我们是否可以用 ALB 替换 API 网关。它的工作方式现在我们必须将 base64 编码的图像发送到 api 网关,后者将其转换为二进制文件并发送回我们的客户。

如果我们用 ALB 替换 API 网关,我们将如何提供图像/二进制响应?我们必须对现有基础架构进行哪些必要的更改。

最佳答案

从负载均衡器接收事件是用例:

现在,应用程序负载均衡器支持通过 HTTP 和 HTTPS 对请求调用 Lambda。如果内容类型是以下类型之一,负载均衡器将正文按原样发送到 Lambda 函数并将 isBase64Encoded 设置为 false:text/*、application/json、application/javascript 和 application/xml。对于所有其他类型,负载均衡器对主体进行 Base64 编码并将 isBase64Encoded 设置为 true

以下是一个示例事件。

{
"requestContext": {
"elb": {
"targetGroupArn":
"arn:awscn:elasticloadbalancing:region:123456789012:targetgroup/my-target- group/6d0ecf831eec9f09" // ALB reference
}
},
"httpMethod": "GET",
"path": "/",
"queryStringParameters": {parameters},
"headers": {
"accept": "text/html,application/xhtml+xml",
"accept-language": "en-US,en;q=0.8",
"content-type": "text/plain",
"cookie": "cookies",
"host": "lambda-846800462-us-east-2.elb.amazonaws.com", //this is where Lambda CNAME is declared
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6)",
"x-amzn-trace-id": "Root=1-5bdb40ca-556d8b0c50dc66f0511bf520",
"x-forwarded-for": "72.21.198.66",
"x-forwarded-port": "443",
"x-forwarded-proto": "https"
},
"isBase64Encoded": false,
"body": "request_body"
}

following Official AWS Guide which will describe your use case

关于amazon-web-services - 通过 ALB 和 Lambda 集成提供二进制响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53664907/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com