Развертывание Google Cloud Functions ResponseError: поле updateMask содержит event_trigger, но его нет в ресурсе CloudFunction

Я только начал получать сообщение об ошибке при попытке развернуть функцию HTTP в облаке Google, используя:

gcloud functions deploy http_function --trigger-http

И теперь я получаю такую ​​ошибку:

ERROR: (gcloud.functions.deploy) ResponseError: status=[400], code=[Bad Request], message=[The request has errors
Problems:
The updateMask field contains event_trigger but it is not present in CloudFunction resource.
]

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

Моя облачная функция выглядит так:

exports.http_function = (req, res) => {
    if (req.method === 'POST') {
        // some code and then
        res.json(jsonVariable);
    } else {
        const error = new Error('Only POST requests are accepted');
        error.code = 405;
        console.error(error);
        res.status(error.code || 500).send(error);
        throw error;
    }
}

Если у кого-то есть представление о том, что может вызвать эту ошибку, я был бы очень признателен, потому что я изо всех сил пытаюсь найти информацию об этом?

Обновлено: Это только иногда случается, поэтому теперь я определенно считаю, что с gcloud что-то не так.

Это продолжает происходить? Ошибка должна возникнуть только в том случае, если вы случайно попытаетесь обновить существующую функцию, запускаемую HTTP, с помощью команды для другого типа функции. Это маловероятно, если вы повторяете ту же команду, которую показываете. Правильно ли я предполагаю, что вы разрабатываете локально, а затем выполняете эту команду? Когда это не удается, вы пытаетесь снова, и тогда это удается? Я вынужден подтвердить, что вы используете последнюю версию gcloud? Вы можете попробовать добавить --log-http к команде для захвата базовых HTTP-запросов (и, возможно, ошибок).

DazWilkin 11.09.2018 01:47

Это происходит часто, в настоящее время я не могу заставить его работать ни разу. Да, я разрабатываю локально и использую последнюю версию gcloud. Я думаю, вы правы, удаление функции из облачной консоли и последующее повторное развертывание выполняет свою работу, но даже тогда, после первого успешного развертывания, следующее развертывание (точно такая же функция) дает ту же ошибку.

Marthinus Bosman 11.09.2018 10:32

Та же ошибка с одной из моих облачных функций, которую я раньше успешно развертывал из локального кода. Две другие функции (тот же код, отличающиеся только по имени функции) в одном проекте GCP успешно развертываются с использованием одной и той же команды gcloud. Версия gcloud - 215.0.0, а --log-http только показывают, что запрос PATCH не удался с "code": 400, "status": "INVALID_ARGUMENT","details": [{"@type":"type.googleapis.com/google.rpc.BadRequest", "fieldViolations": [{"field": "updateMask", "description": "The updateMask field contains event_trigger but it is not present in CloudFunction resource."}]}]

rd3n 11.09.2018 14:17

Для справки: выпуск открыт в общедоступном трекере проблем.

rd3n 11.09.2018 14:30

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

DazWilkin 11.09.2018 16:02

OK. Это ошибка. Это было вызвано недавним обновлением. Сейчас выполняется откат, который должен решить эту проблему.

DazWilkin 11.09.2018 17:38

И TIL: повторный запуск gcloud functions deploy...без с указанием --source выполняет повторное развертывание кода нет. Вы должны указать источник для отмены развертывания локально измененных файлов: «Если исходное местоположение не задано явно, новые функции будут развертываться из текущего каталога. Существующие функции сохранят свой старый источник».

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

Ответы 2

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

Ответ принят как подходящий

Ошибка исправлена, см .: https://status.cloud.google.com/incident/cloud-functions/18002

"Проблема с Google Cloud Functions, из-за которой возникают ошибки при обновлении функций через gcloud, была решена для всех затронутых пользователей по состоянию на вторник, 11 сентября 2018 г., 09:10 США / Тихоокеанский регион. Мы проведем внутреннее расследование этой проблемы и внесем соответствующие улучшения. в наши системы, чтобы помочь предотвратить или свести к минимуму повторение в будущем ".

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