使用 Lambda 函数 URL 调用支持响应流式处理的函数 - AWS Lambda

使用 Lambda 函数 URL 调用支持响应流式处理的函数

注意

您必须使用函数 URL 调用函数才能流式处理响应。

您可以通过更改函数 URL 的调用模式来调用支持响应流式处理的函数。调用模式决定 Lambda 使用哪个 API 操作来调用函数。可用的调用模式有:

  • BUFFERED – 这是默认选项。Lambda 通过 Invoke API 操作调用函数。负载完成后,调用结果可用。最大负载大小为 6MB。

  • RESPONSE_STREAM – 使函数能够在负载结果可用时对其进行流式处理。Lambda 通过 InvokeWithResponseStream API 操作调用函数。最大响应负载大小为 20MB。但是,您可以请求提高限额

通过直接调用 Invoke API 操作,您仍然可以在不进行响应流式处理的情况下调用函数。但是,Lambda 会流式处理通过函数 URL 发出的调用的所有响应负载,直到您将调用模式更改为 BUFFERED

Console
设置函数 URL 的调用模式(控制台)
  1. 打开 Lamba 控制台的函数页面

  2. 选择您要为其设置调用模式的函数的名称。

  3. 选择 Configuration(配置)选项卡,然后选择 Function URL(函数 URL)。

  4. 选择编辑,然后选择其他设置

  5. 调用模式下,选择所需的调用模式。

  6. 选择保存

AWS CLI

设置函数 URL 的调用模式(AWS CLI)

aws lambda update-function-url-config \ --function-name my-function \ --invoke-mode RESPONSE_STREAM
AWS CloudFormation

设置函数 URL 的调用模式(AWS CloudFormation)

MyFunctionUrl: Type: AWS::Lambda::Url Properties: AuthType: AWS_IAM InvokeMode: RESPONSE_STREAM

有关配置函数 URL 的更多信息,请参阅 Lambda 函数 URL