AWS API 网关支持将二进制 MIME 类型的数据传递到 Lambda 函数。为了将二进制数据正确地传递到 Lambda 函数,我们需要使用映射模板来指定传递二进制数据的格式。
以下是用于将二进制数据传递到 Lambda 函数的映射模板示例:
#set($base64EncodedBinaryData = $input.body)
{
"data": "$util.base64Encode($base64EncodedBinaryData)"
}
在上面的映射模板中,$input.body 变量包含二进制数据。使用 $util.base64Encode() 函数将二进制数据编码为 Base64 字符串,并将其存储在 "data" 属性中。
使用此映射模板时,API 网关将 Base64 编码的二进制数据作为 JSON 对象传递到 Lambda 函数。Lambda 函数可以解码 Base64 字符串,读取并处理二进制数据。
例如,在 Lambda 函数中,您可以将 Base64 字符串解码为字节数组:
def lambda_handler(event, context):
binary_data = base64.b64decode(event['data'])
# 处理二进制数据
return 'Success'
使用上面的两个示例代码段,您可以成功将二进制数据传递到 Lambda 函数,并在该函数中处理数据。