以下是一个使用AWS应用负载均衡器(ALB)将请求传递给基于Lambda的函数,并对请求体进行Base64编码的解决方案。
首先,创建一个Lambda函数,用于处理ALB传递过来的请求。可以使用以下示例代码:
import base64
def lambda_handler(event, context):
# 获取ALB传递的请求体
request_body = event['body']
# 解码请求体中的Base64编码
decoded_body = base64.b64decode(request_body)
# 在这里执行其他操作,比如处理解码后的请求体数据
return {
'statusCode': 200,
'body': 'Request processed successfully'
}
在AWS控制台中创建一个应用负载均衡器(ALB),并配置适当的监听规则和目标组。确保将目标组的目标类型设置为lambda,并选择上一步创建的Lambda函数作为目标。
在ALB的监听规则中,配置适当的请求转发规则。可以根据需要设置路径模式、查询字符串等规则。
通过发送请求到ALB的DNS名称或IP地址,可以测试请求是否正确传递给Lambda函数并进行Base64解码。
注意:在实际部署中,可能还需要为Lambda函数配置适当的IAM角色、安全组和VPC等。要确保Lambda函数具有足够的权限来执行所需的操作,并且与ALB位于同一个VPC中,以便进行通信。