我想上传视频到S3使用AWS lambda功能。此视频在我的本地计算机中不可用。我有“下载URL”。我不想下载到我的本地电脑上传到S3。我正在寻找一个使用lambda函数直接将这个视频文件放入S3的解决方案。如果我使用缓冲区或流,我将消耗大量的内存。对此有更好的高效解决方案吗?
我真的很感谢你的帮助。
我也有同样的问题,并开发了以下快速解决方案,它不依赖于/tmp
磁盘限制。它使用下载流作为一个类似文件的对象。
特点:
>
使用可配置的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)
您当然可以编写一个AWS Lambda函数,该函数将:
/tmp
下载完整的文件将是最容易的,而不是试图以“位”流它。但是,请注意,可用于存储数据的磁盘空间有500MB的限制。如果您的下载大于500MB,您将需要做一些创造性的编程来下载其中的一部分,然后作为多部分上传。
至于如何下载它,可以使用任何您喜欢的库来下载web文件。
想下载S3签名视频文件…但不是下载它将要播放。。。 使用send_dataS3下载 视频文件=”https://s3-eu-west-1.amazonaws.com/tokboxhub.mangoapps.com/46250362/2e1ad9d5-8240-41d2-82bc-38c34bf92e7e/archive.mp4?X-Amz算法=AWS4-HMAC-SHA256
我试图使用API接口将视频上传到S3存储桶,我遵循了预签名的URL过程,下面是我的lambda函数,它返回预签名的URL(它正确地返回了预签名的URL,看起来): 当我尝试上传一个像这样卷曲的mp4视频时,例如: curl-X PUT-F'data=@ch01_00000100055009702.mp4'https://redacted-bucket-instance.s3.amazonaws.c
问题内容: 感谢downloadTaskWithURL,我正在下载视频,并使用以下代码将其保存到我的画廊: 它在我的模拟器上可以正常工作,但是在我的iPad上,即使出现视频也不会保存视频。你知道为什么吗? 我的控制台中也出现了该消息 无法从文件创建数据(空) 问题答案: 请通过代码检查注释: Xcode 8•Swift 3
我在尝试将文件上传到我的S3存储桶时遇到了问题。一切正常,除了我的文件参数似乎不合适。我正在使用Amazon S3 sdk从nodejs上传到s3。 以下是我的路线设置: 这是个项目。upload()函数: 将“Body”参数设置为类似“hello”的字符串可以正常工作。根据doc,Body必须获取(Buffer、类型化数组、Blob、String、ReadableStream)对象数据。但是,上
我正在编写一个应用程序,它从url下载图像,然后使用AWS-SDK将其上传到S3桶中。 以前,我只是下载图像并将它们保存到磁盘上,就像这样。 然后像这样将图像上传到AWS S3 但我想跳过将映像保存到磁盘的部分。有什么方法可以响应从到一个变量,然后上传它吗?
我正在创建一个iOS应用程序,我希望用户能够实时流式传输视频,但是,在实时流启动后加入实时流的用户,从头开始观看流而不是实时(我还将添加功能,允许用户观看,然后能够观看直播)。 我已经研究了许多第三方流媒体选项,如Agora、Twilio、Vimeo等,但我不认为它们满足我的需求,因为我需要加入直播流的用户从一开始就开始观看,而不是直播。 我已经探索了将小视频块连续上传到像Firebase存储这样