gpt4 book ai didi

python - 使用 AWS lambda 通过下载 URL 将视频上传到 S3

转载 作者:行者123 更新时间:2023-12-03 15:20:01 27 4
gpt4 key购买 nike

我想使用 AWS lambda 函数将视频上传到 S3。该视频在我的本地计算机中不可用。我有“下载网址”。我不想将它下载到我的本地计算机并将其上传到 S3。我正在寻找一种使用 lambda 函数直接将此视频文件放入 S3 的解决方案。如果我使用缓冲区或流式传输,我会消耗大量内存。有没有更有效的解决方案?

我真的很感谢你的帮助。

最佳答案

我有同样的问题,并开发了以下不依赖于 /tmp 的快速解决方案磁盘限制。它使用下载流作为类似文件的对象。

特征:

  • 没有外部 python 模块,使用 AWS Lambda Python 3.6 内置 boto3 和 urllib3
  • 内置分 block 阅读,适合下载大文件
  • 通过 urllib3 池管理实现高效的连接和内存使用
  • 使用可配置的 upload_fileobj 内置多部分和线程上传
    import boto3
    import botocore.vendored.requests.packages.urllib3 as urllib3

    def lambda_handler(event, context):

    url='http://yourdownloadurl/file.tgz' # put your url here
    bucket = 'aws-s3-bucket' #your s3 bucket
    key = 'folder/filename' #your desired s3 path or filename

    s3=boto3.client('s3')
    http=urllib3.PoolManager()
    s3.upload_fileobj(http.request('GET', url,preload_content=False), bucket, key)
  • 关于python - 使用 AWS lambda 通过下载 URL 将视频上传到 S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44233777/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com