Облачные функции Google: ошибка развертывания, main.py не существует - PullRequest
0 голосов
/ 09 января 2019

При развертывании облачных функций Google из локальной системы возникает следующая ошибка:

ERROR: (gcloud.functions.deploy) OperationError: code=3, message=Function load error: File main.py that is expected to define function doesn't exist

Я использовал консольный интерфейс для проверки содержимого пакета, который был загружен при неудачном развертывании, и файл присутствует . Пакет был создан с использованием gcloud CLI:

gcloud functions deploy <redacted> \
    --trigger-http \
    --runtime=python37 \
    --region=europe-west1 \
    --project=<redacted> \
    --entry-point=<redacted>

Для контекста, один и тот же проект был успешно развернут несколько раз несколькими людьми, но начал терпеть неудачу для каждого новичка, который проверил его после определенной даты.

Ответы [ 2 ]

0 голосов
/ 11 апреля 2019

Я решил эту проблему в своем приложении в Node.js, в основном я обнаружил, что файл .gcloudignore вызывает файл .gitignore проекта, поэтому, если ваша функция находится в пропущенной папке, она просто не находит, а затем просто удалите строку #! Include : .gitignore файл .gcloudignore

0 голосов
/ 09 января 2019

В нашем случае это произошло из-за неверных учетных данных, то есть файл JSON, переданный в ServiceAccountCredentials.from_json_keyfile_name, отсутствовал. Заблуждение, что ошибка не упоминает ничего о безопасности, учетных данных или об этом отсутствующем файле.

Секреты не контролируются версиями, и общее хранилище имело устаревший файл, который не соответствовал пути, указанному в скрипте python. Это было исправлено после исправления учетных данных.

Нам удалось изолировать проблему от аутентифицированного вызова, успешно развернув «немые» функции (вернуть строку), а затем постепенно добавляя обратно функциональность, пока она не прервалась.

...