我试图弄清楚如何正确地将Google App Engine实例连接到Firebase存储触发器。 在我的用例中,我希望每次将视频上传到Firebase存储时进行转码,然后再读取到同一数据库中。
我不知道,但是如何将Firebase Storage正确连接到Google App Engine(并成功链接)。
我在Google App Engine中的计划,在重新上传后触发了简单的转码功能,并阅读了该计划
def transcode():
client = storage.Client(PROJECT_ID)
bucket = client.bucket(PROJECT_ID)
blob = bucket.blob('sample.mp4')
with open('/tmp/sample2.mp4', 'w') as f:
blob.download_to_file(f)
os.system('rm /tmp/output.webm')
ret = os.system('/usr/bin/avconv -i /tmp/sample2.mp4 -c:v libvpx -crf 10 -b:v 1M -c:a libvorbis /tmp/output.webm')
if ret:
sys.stderr.write("FAILED")
return "Failed"
blob = bucket.blob('output.webm')
blob.upload_from_file(open('/tmp/output.webm'))
sys.stderr.write("SUCCESS")
return "SUCCESS"
我上一次需要弄清楚的是将新上传的内容添加到Firebase存储后如何执行此操作。 是否有将Google App Engine实例连接到Firebase Cloud Store的正确方法(每次上传仅触发一个实例)
通常使用Cloud Pub / Sub在Google Cloud Platform中的组件之间交流工作项。
在Cloud Function中,您将使用Cloud Pub / Sub SDK for node将消息发送到在GAE中运行的应用程序。 然后,在GAE中,您将收听并响应消息 。
如何使用配置和代码实际执行此操作在很大程度上取决于您需要系统工作的方式。