Как добавить разрешение на запись в версию облачного приложения Google?

Нужно ли пытаться настроить проект матомо в Google App Engine?

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

gcloud app deploy

После того, как я запускаю приложение, оно показывает ошибку разрешения в файле matomo.

Как я могу изменить права доступа к файлу в каталоге рабочей области, чтобы разрешить запись в него?

У меня есть прикрепленный скриншот ошибки ниже.

скриншот ошибки Matomo


comment
Вы используете стандартный App Engine или Flex? попробовать 'Chmod 777 /workspace/temp/' дать права на эту папку?   -  person Shawn Di Wu    schedule 24.08.2020
comment
Я использую стандартный App Engine. Я не нашел «/workspace/temp/» в облачной оболочке. Не могли бы вы дать мне шаги или что-нибудь о том, как найти этот каталог?   -  person Abhijit    schedule 24.08.2020
comment
Я запускаю команду «chmod», но ниже приводится ошибка. chmod: невозможно получить доступ к '/workspace/temp/': нет такого файла или каталога   -  person Abhijit    schedule 24.08.2020
comment
Я просматриваю ТРЕБОВАНИЯ MATOMO. Для базы данных требуется роль SUPER для пользователей, что означает, что Cloud SQL не будет соответствовать требованиям, для базы данных я рекомендую вам создать экземпляр GCE и установить базу данных MySQL. Также для ЦП и ОЗУ вы можете продолжать использовать App Engine, но смонтировать корзину Google Cloud Storage в качестве диска или использовать экземпляр GCE и установить Ngnix, но по-прежнему монтировать корзину GCS. Это может быть рекомендуемая инфраструктура GCP для MATOMO.   -  person Shawn Di Wu    schedule 25.08.2020


Ответы (1)


Вы не можете! Это бессерверно, и ваш код запускается в песочнице. Только каталог /tmp доступен для записи, и это каталог в памяти. Это означает 2 вещи:

  • Если вы храните слишком много вещей, ваш экземпляр падает
  • Когда ваш экземпляр выходит из строя (масштабирование до 0, обслуживание и т. д.), все данные теряются.

Чтобы быстро устранить проблему, используйте каталог /tmp. И оценить влияние не на сохранение этих данных, а на место, занимаемое в памяти.

person guillaume blaquiere    schedule 24.08.2020
comment
Нет, это не работает. Я изменяю каталог отслеживания кеша на каталог \tmp, но он возвращает ту же ошибку, поскольку у вас нет разрешения на запись в этот каталог. - person Abhijit; 26.08.2020
comment
Почему вы используете обратную косую черту? косая черта должна использоваться /tmp. Подробнее о доступном для записи каталоге в движке приложения - person guillaume blaquiere; 26.08.2020
comment
Спасибо за ваш ответ, сэр, этот /tmp использует временную папку версии приложения, но мне нужна временная папка моего проекта matomo, доступная для записи. - person Abhijit; 26.08.2020
comment
/tmp доступен для чтения и записи. Но данные не являются постоянными и не используются всеми экземплярами App Engine (если их много). В бессерверных продуктах (также Cloud Run и Cloud Function) невозможно иметь другую папку с возможностью записи. Измените свою конфу матомо, чтобы написать в ней (если возможно, я не знаю этого продукта) - person guillaume blaquiere; 26.08.2020
comment
Спасибо за ваш ответ, сэр, я меняю matomo conf для записи в каталог, но все равно возвращаю ту же проблему, что и недоступную для записи. ">скриншот ошибки - person Abhijit; 27.08.2020
comment
Это нормально, корневой каталог должен быть /tmp. Здесь это /workspace и другие каталоги, которые /tmp недоступны для записи. - person guillaume blaquiere; 27.08.2020