Aws lambda 获得;“内部服务器错误”;将二进制数据传递给使用无服务器框架和apigw二进制插件部署的AWS Lambda函数 我在尝试什么

Aws lambda 获得;“内部服务器错误”;将二进制数据传递给使用无服务器框架和apigw二进制插件部署的AWS Lambda函数 我在尝试什么,aws-lambda,binary,aws-api-gateway,serverless-framework,Aws Lambda,Binary,Aws Api Gateway,Serverless Framework,通过API网关中的Lambda集成传递二进制数据。Lambda返回文本 问题 当从控制台配置API网关时,该函数返回所需的输出。为了使用无服务器框架实现它,我安装了无服务器apigw二进制插件。所需的二进制类型显示在API网关>设置>二进制媒体类型中。然而,在调用API时,我得到了“内部服务器错误”。该函数在应用程序/json类型输入上正常工作。启用禁用lambda代理集成并通过控制台添加映射后,我得到了正确的输出 serverless.yml文件 编辑 我比较了招摇过市的定义,发现这一点 1.

通过API网关中的Lambda集成传递二进制数据。Lambda返回文本

问题 当从控制台配置API网关时,该函数返回所需的输出。为了使用无服务器框架实现它,我安装了无服务器apigw二进制插件。所需的二进制类型显示在API网关>设置>二进制媒体类型中。然而,在调用API时,我得到了“内部服务器错误”。该函数在应用程序/json类型输入上正常工作。启用禁用lambda代理集成并通过控制台添加映射后,我得到了正确的输出

serverless.yml文件 编辑 我比较了招摇过市的定义,发现这一点
1.从控制台生成的API(工作)

  • 从无服务器框架生成的API
  • 生成:-“application/json”缺失。如何将其添加到无服务器中

    org: ------
    app: ---------
    service: ---------
    frameworkVersion: ">=1.34.0 <2.0.0"
    
    plugins:
      - serverless-python-requirements
      - serverless-offline
      - serverless-apigw-binary
    provider:
      name: aws
      runtime: python3.7 #fixed with pipenv
      region: us-east-1
      memorySize: 128
      timeout: 60
      profile: ----
    
    custom:
      pythonRequirements:
        usePipenv: true
        useDownloadCache: true
        useStaticCache: true
      apigwBinary:
        types:           #list of mime-types
          - 'application/octet-stream'
          - 'application/zip'
    
    
    functions:
      main:
        handler: handler.main
        events:
          - http:
              path: ocr
              method: post
              integration: lambda
              request:
                passThrough: WHEN_NO_TEMPLATES
                template:
                  application/zip: '
                  {
                      "type": "zip",
                      "zip": "$input.body",
                      "lang": "$input.params(''lang'')",
                      "config": "$input.params(''config'')",
                      "output_type": "$input.params(''output_type'')"
                  }'
                  application/json: '
                  {
                      "type": "json",
                      "image": $input.json(''$.image''),
                      "lang": "$input.params(''lang'')",
                      "config": "$input.params(''config'')",
                      "output_type": "$input.params(''output_type'')"
                  }'
                  application/octet-stream: '
                  {
                      "type": "img_file",
                      "image": "$input.body",
                      "lang": "$input.params(''lang'')",
                      "config": "$input.params(''config'')",
                      "output_type": "$input.params(''output_type'')"
                  }'
    
    paths:
      /ocr:
        post:
          consumes:
          - "application/octet-stream"
          produces:
          - "application/json"
          responses:
    
    paths:
      /ocr:
        post:
          consumes:
          - "application/x-www-form-urlencoded"
          - "application/zip"
          - "application/octet-stream"
          - "application/json"
          responses: