【问题标题】:Firebase Storage Triggers in Google App EngineGoogle App Engine 中的 Firebase 存储触发器
【发布时间】:2018-08-21 03:25:05
【问题描述】:

我正在尝试弄清楚如何将 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 存储时如何做到这一点。是否有正确的方法将谷歌应用引擎实例连接到 Firebase Cloud Store(每次上传只触发一个实例)

【问题讨论】:

    标签: firebase google-app-engine firebase-storage


    【解决方案1】:

    通常使用Cloud Pub/Sub 在 Google Cloud Platform 中的组件之间传递工作项。

    在 Cloud Function 中,您可以使用 Cloud Pub/Sub SDK for node 向在 GAE 中运行的应用程序发送消息。然后,在 GAE 中,您将 listen and respond to messages

    您如何使用配置和代码实际执行此操作在很大程度上取决于您需要系统工作的方式。

    【讨论】:

    • 好吧好吧。明白了。我唯一担心的是 Google App Engine 会以某种方式意外响应同一事件两次
    • 为什么会这样?
    猜你喜欢
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    • 1970-01-01
    • 2020-07-03
    相关资源
    最近更新 更多