У меня была похожая (возможно, такая же?) Проблема.Что случилось со мной, так это то, что все мои файлы были в формате:
- [имя zip-файла] /main.py
- [имя zip-файла / [и т. Д.]
и ошибка продолжала говорить, что она не может найти main.Я догадывался, что это потому, что у него была родительская папка.Немного посмотрев на архивирование с родителем, я определил, что проблема не в этом.
Я скачал zip of и посмотрел на автоматически сгенерированный код функции облачного потока диалога и заметил, что у них есть файл "package.json".У меня вместо этого был только файл "needs.txt".Я скопировал файл package.json в свой исходный код, отредактировал его для правильного содержимого, заархивировал, и облачная функция скомпилирована правильно.
package.json выглядит следующим образом:
{
"name": "test",
"description": "testingThings",
"version": "0.0.1",
"private": true,
"license": "Apache Version 2.0",
"author": "ABCDEFG",
"engines": {
"node": "8"
},
"scripts": {
"start": "firebase serve --only functions:test",
"deploy": "firebase deploy --only functions:test"
},
"dependencies": {
"google-cloud-storage": "",
"google-cloud-firestore": "",
}
}
Я полагаю, они используют это для развертывания облачных функций Google, поэтому без него они ломаются.