我正在尝试编写一个 lambda 函数(最终)将 的输出youtube-dl直接写入 S3。我必须对此进行原型设计的方法是将输出转储stdout到 S3 中,然后将其重定向到 S3 中的文件,但这似乎是一个巨大的黑客攻击。
import youtube_dl, sys
from smart_open import open
from contextlib import redirect_stdout
ydl_opts = { 'outtmpl': '-', 'cachedir': False, 'logtostderr': True }
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
with open('s3://<test-bucket>/test.mp4','wb') as f:
with redirect_stdout(f):
ydl.download(['https://www.youtube.com/watch?v=zzEYsi_P0RU'])
Run Code Online (Sandbox Code Playgroud)
还有其他人有什么神奇的想法吗?