我在使用 firebase 函式時遇到錯誤。當我使用模擬器在本地運行這些功能時,它們作業正常。但是當我firebase deploy隨后執行某個函式時,我收到一個錯誤,表明我部署到的服務器上安裝的 ffmpeg 版本已過期
如何ffmpeg在服務器上更新(或任何軟體)?也許我 SSH 進入它并更新軟體?也許我應該提供一些配置來定義我的代碼在部署之前依賴什么軟體?請告知如何進行更新,謝謝
可選讀物:
我的 Node.js 代碼使用execSync(myFfmpegCommand)這就是依賴項存在的原因
uj5u.com熱心網友回復:
這是我的發現。
您無法將自定義軟體安裝到 Node.js運行時環境中,因為該磁盤是只讀的。如果您想要的軟體不在運行時環境中,那么您就被塞滿了。
我進一步發現函式并不適用于重量級作業,而僅適用于輕量級操作。如果一個函式需要做一些繁重的作業,那么它可以要求 Google App Engine 為它做。該函式通過 HTTP 或 PubSub 與 App Engine 通信。
我聽到你問什么是 App Engine!它基本上允許您將服務器代碼部署到云中。例如,想想您通常用于后端的 express.js 服務器。這就是 App Engine。然后你只需部署它!
可以通過 yaml 檔案配置 App Engine 以確定記憶體和可選的 Dockerfile 來確定要使用的作業系統和要安裝的軟體。yaml 看起來像這樣:
runtime: custom # uses Dockerfile
env: flex
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
將 App Engine 視為舉足輕重的工具。當 Firebase 函式想要做一些艱苦的作業時,它只是要求 App Engine 為它做!通過這種方式,firebase 函式成為觸發其他作業的簡單事件處理程式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/333927.html
