Обновление dispatch.yaml возвращает 500

У меня есть файл dispatch.yaml следующим образом:

dispatch:
  - url: "website.com/*"
    module: service1
  - url: "subdomain1.website.com/*"
    module: service2
  - url: "subdomain2.website.com/*"
    module: service3

Я должен обновить service3 с другим поддоменом, изменив его с помощью dispatch.yaml и используя команду gcloud app deploy dispatch.yaml Я получил код ошибки 500 с сервера

ERROR: (gcloud.app.deploy) Server responded with code [500]:
  Internal Server Error.
  b'<h3>Server Error</h3><p>A server error has occurred.</p>'

В настоящее время я использую Google Cloud SDK 319.0.0 (у меня есть стандартная среда PHP5 в движке приложения), подробность возвращает это

gcloud app deploy dispatch.yaml --verbosity=debug
DEBUG: Running [gcloud.app.deploy] with arguments: [--verbosity: "debug", DEPLOYABLES:1: "['dispatch.yaml']"]
DEBUG: Making request: POST https://oauth2.googleapis.com/token
DEBUG: Loading runtimes experiment config from [gs://runtime-builders/experiments.yaml]
INFO: Reading [<googlecloudsdk.api_lib.storage.storage_util.ObjectReference object at 0x7f571e15ffa0>]
DEBUG: API endpoint: [https://appengine.googleapis.com/], API version: [v1]
DEBUG: Making request: POST https://oauth2.googleapis.com/token
Configurations to update:

descriptor:      [/mnt/c/Users/user/project/dispatch.yaml]
type:            [routing rules]
target project:  [project]

Updating config [dispatch]...DEBUG: Host: appengine.google.com
DEBUG: _Authenticate configuring auth; needs_auth=False
DEBUG: Sending request to https://appengine.google.com/api/dispatch/update?app_id=website-live headers = {'X-appcfg-api-version': '1', 'content-length': '227', 'Content-Type': 'application/octet-stream'} body=dispatch:


Updating config [dispatch]...⠛DEBUG: Got http error 500.
DEBUG: Retrying. This is attempt 1 of 3.
DEBUG: _Authenticate configuring auth; needs_auth=False
DEBUG: Sending request to https://appengine.google.com/api/dispatch/update?app_id=website-live headers = {'X-appcfg-api-version': '1', 'content-length': '227', 'Content-Type': 'application/octet-stream'} body=dispatch:

Вывод один и тот же при каждой повторной попытке (всего 3 раза)

Я что-то пропустил?

Обновлено: Даже замена «модуля» на «сервис» всегда получала 500

dispatch:
  - url: "website.com/*"
    service: service1
  - url: "*.website.com/*"
    service: service1

Я тоже пытался обновить SDK, получил это

ERROR: (gcloud.app.deploy) Apps instance [project] is the subject of a conflict: Cannot operate on apps/project because an operation is already in progress for apps/project by a01scd73-7h7ef-411-adac-289bfle0f5.

Можете ли вы проверить версию gcloud. Если вы не используете последнюю версию, попробуйте обновить ее до последней версии, а текущая версия gcloud — 425.0.0 (2023-04-04) . Также не могли бы вы попробовать развернуть свой файл еще раз, но с установленным флагом --verbosity для отладки и проверить вывод. Может быть полезно найти причину ошибки.

Sandeep Vokkareni 11.04.2023 12:32

добавлена ​​информация в основной пост

tidpe 11.04.2023 13:42
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
186
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
  1. module устарела. Теперь это называется «сервис». Итак, замените каждый экземпляр «модуля» на «сервис» в вашем файле dispatch.yaml. Вам также придется внести те же изменения в файл app.yaml.

    См. документацию, в которой говорится

    service: указывает имя службы, которая будет обрабатывать запросы, соответствующие шаблону URL. Обратите внимание, что службы ранее назывались модулями.

  2. Даже после того, как ваш файл dispatch.yaml будет успешно развернут, он не будет работать так, как вы ожидаете. Ваше первое правило гласит, что любой URL-адрес, оканчивающийся на website.com/*, должен перенаправляться на service1.

    И subdomain1.website.com/*, и subdomain2.website.com/* соответствуют вышеуказанным критериям. Это означает, что трафик с двух вышеперечисленных также будет направляться на service1. Чтобы удовлетворить ваши требования, запись для website.com/* должна быть последней записью (а не первой).

    Тогда логика такова: сначала проверьте, заканчивается ли поддомен в поддомене1 и маршрутизируйте к сервису2, иначе проверьте, заканчивается ли он в поддомене2 и маршрутизируйте к сервису3, иначе маршрутизируйте к сервису1

  3. Вы также должны отметить, что PHP 5 устарел, и GAE больше активно не поддерживает его.

Вопрос отредактировал, поменял модуль на сервис, все равно 500

tidpe 17.04.2023 11:29

Решено путем изменения маршрута всех других служб на service1, таким образом, я смог удалить службы, которые мне больше не нужны.

tidpe 17.04.2023 15:30

Другие вопросы по теме