如何在不向源站发送请求的情况下响应观众?

How to respond to viewers without sending the request to the origin?

我正在尝试在 python 中实现一个接收文件的 lambda 边缘,用内容的长度对其进行评估,如果它大于允许的长度,则在不向查看者发送请求的情况下响应查看器源,否则它将被发送到 S3。我已经实现了要发送到 S3 的部分,但我正在努力响应查看器。

您可以生成对请求事件触发器的自定义响应

样本:

import json

def lambda_handler(event, context):
    if True: # Case where you want to return the response
        response = {
            'body': "SAMPLE RESPONSE", # For image set this to base64 encoded string
            'bodyEncoding': 'text',
            'status': '200',
            'statusDescription': 'OK',
            'headers': {
            'content-type':
                [
                    {
                    'key': 'Content-Type',
                    'value': 'text'
                    }
                ]
            }
        }

        return response
    else: # Case where you want the request to be forwarded to the origin server
        return event['Records'][0]['cf']['request']

注意:请求事件返回响应时,响应大小会有一些限制。它们可以在 Amazon developer guide

上找到