首页 > 解决方案 > 如何通过 API Gateway 在 AWS Lambda 中将“pdf”和“html”文件作为“事件”传递?

问题描述

我正在尝试将“pdf”或“html”文件直接传递给 lambda 函数。但我不明白应该以正确的格式接收它?

例如:通过使用以下代码,我能够理解如何通过 lambda 函数传递“图像”文件:但是如何发送 pdf 或 html 文件?

def write_to_file(save_path, data):
  with open(save_path, "wb") as f:
    f.write(base64.b64decode(data))

def ocr(img):
  ocr_text = pytesseract.image_to_string(img, config = "eng")  
  return ocr_text


def lambda_handler(event, context=None):

    write_to_file("/tmp/photo.jpg", event["body"])
    im = Image.open("/tmp/photo.jpg")
    try:
      ocr_text = ocr(im)
    except Exception as e:
      print(e)

    # Return the result data in json format
    return {
      "statusCode": 200,
      "body": ocr_text

    }

编辑:我试图直接通过 API 网关(二进制)而不是通过 S3 传递“pdf”或“html”。

标签: pythonamazon-web-servicesaws-lambdaevent-handling

解决方案


您可以使用 API 网关内容类型转换。

你可以参考这个文档


推荐阅读