Задания Cron с помощью firebase - ошибка ввода-вывода Google Cloud - PullRequest
0 голосов
/ 25 июня 2018

Я только недавно установил функции Firebase.После создания простой функции helloWorld я захотел настроить работу cron, следуя этому учебнику по блогам Google .Я всегда получаю сообщение об ошибке на этом шаге:

gcloud app deploy app.yaml \ cron.yaml

Я получаю следующее сообщение об ошибке:

C:\Users\vreee\Firebase\functions-cron\appengine>gcloud app deploy app.yaml \ 
cron.yaml
WARNING: Automatic app detection is deprecated and will soon be removed. As 
an alternative, create an app.yaml file yourself using the directions at 
https://cloud.google.com/appengine/docs/flexible/python/configuring-your-app-with-app-yaml (App Engine Flexible Environment) or 
https://cloud.google.com/appengine/docs/standard/python/config/appref (App 
Engine Standard Environment) under the tab for your language.
Deployment to Google App Engine requires an app.yaml file. This
command will run `gcloud beta app gen-config` to generate an app.yaml
file for you in the current directory (if the current directory does
not contain an App Engine service, please answer "no").

Do you want to continue (Y/n)?  y

This looks like a Python app.  If so, please enter the command to run
the app in production (enter nothing if it's not a python app): :
Writing [app.yaml] to [C:\].
ERROR: gcloud crashed (IOError): [Errno 13] Permission denied: 
u'C:\\app.yaml'

If you would like to report this issue, please run the following command:
gcloud feedback

To check gcloud for common problems, please run the following command:
gcloud info --run-diagnostics

Кто-нибудь знает, как решить эту проблему?Я искал и установил себя с моим адресом электронной почты (не учетной записью службы) в качестве владельца, поэтому разрешение должно быть там.Я просто заметил, что он попытался создать файл app.yaml непосредственно в папке C:\\ вместо папки functions-cron, содержащей app.yaml и файл cron.yaml.

Был бы очень признателен за помощь !!Для дополнительной информации я использую windows ..

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Кажется, действительно, Cloud SDK пытается создать файл app.yaml, что означает, что в вашей папке не было файла app.yaml C:\Users\vreee\Firebase\functions-cron\appengine. В соответствии с указанным учебником файлы app.yaml и cron.yaml должны находиться в этом каталоге при запуске команды развертывания.

Итак, ваши варианты:

  • Если вы уже развернули приложение и ваш файл app.yaml не изменился (т. Е. Уже объявляет конечную точку для вашего задания cron), вы можете запустить следующую команду из папки \functions-cron\appengine, чтобы загрузить cron. только файл yaml: gcloud app deploy cron.yaml.
  • В противном случае вам необходимо поместить оба файла в одну и ту же папку и выполнить команду gcloud app deploy app.yaml cron.yaml.
0 голосов
/ 25 июня 2018

Чтобы любое развертывание Google App Engine работало, необходим файл конфигурации с именем «App.yaml». В официальной документации есть статья о возможных параметрах и конфигурациях.

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

...