Ошибка: невозможно развернуть объект webhooks / ActionsOnGoogleFulfillment.

Я хотел создать помощника Google с настраиваемыми действиями с помощью actions-sdk. Поскольку я новичок в этом, я выполнил действия, описанные в руководстве Build Actions for Google Assistant использует Actions SDK (уровень 1) как есть, чтобы создать пример помощника. Я следил за учебником как есть. Однако на шаге 5 (Выполнить выполнение) при попытке проверить выполнение, запустив команду

gactions deploy preview

Я получаю следующий вывод в терминале с ошибкой

Sending configuration files...
Sending resources...
Waiting for server to respond. It could take up to 1 minute if your cloud function needs to be redeployed.
[ERROR] Server did not return HTTP 200.
{
  "error": {
    "code": 400,
    "message": "Asset 'webhooks/ActionsOnGoogleFulfillment' cannot be deployed. [An operation on function cf-_CcGD8lKs_F_LHmFYfJZsQ-name in region us-central1 in project <my-project-id> is already in progress. Please try again later.]"
  }
}

И когда я проверил Google Cloud Platform - ›Консоль облачных функций для этого проекта, я увидел следующее.

Изображение 1 (снимок экрана) Консоль облачных функций облачной платформы

Неудачное развертывание облачной функции с восклицательным знаком. И если я удалю эти функции, сразу же автоматически развернется новая функция. Но вместо восклицательного знака присутствует знак прялки (загрузка / развертывание). Я не могу удалить эту облачную функцию, если она все еще загружается / развертывается. Затем через 10-15 минут вращающийся символ меняется на восклицательный знак. А то если я его удалю, то снова автоматически появится новый. И это продолжается вот так

Изображение 2 (снимок экрана) Консоль облачных функций облачной платформы

Эта проблема возникает только при реализации веб-перехватчика / выполнения (шаг 5). Для ответа static Actions он успешно развертывается для тестирования при вводе команды gactions deploy preview. (Шаг 1 - Шаг 4 успешно реализованы).

Я следил за руководством как есть, поэтому структура кода и каталогов такая же, как и в учебнике (будут отличаться только имя проекта-id или название проекта консоли действий).

репозиторий Github для кода

Поскольку это только для учебника, в настоящее время я не использую учетную запись для выставления счетов, вместо этого внес следующие изменения в package.json (изменена версия узла с 10 на 8.).

"engines": {
    "node": "8"
},

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

 "An operation on function cf-_CcGD8lKs_F_LHmFYfJZsQ-name in region us-central1 in project <my-project-id> is already in progress. Please try again later". 

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

(Примечание: это первый раз, когда я размещаю вопрос о переполнении стека, поэтому, пожалуйста, дайте мне знать, есть ли какие-либо ошибки или соглашения о переполнении стека, которые я, возможно, не соблюдал. Я улучшу его.)


person anonymous_D    schedule 12.10.2020    source источник
comment
Вы связали платежную учетную запись на этапе настройки?   -  person DazWilkin    schedule 12.10.2020
comment
Нет, в настоящее время я не использую учетную запись для выставления счетов, я изменил версию узла на «8» в package.json, что позволяет использовать облачные функции без выставления счетов на данный момент. Изменив узел на 8, до того, как я смог использовать облачные функции для простых веб-перехватчиков.   -  person anonymous_D    schedule 13.10.2020
comment
Проблема связана с платежным аккаунтом? Потому что раньше, в другом примере, который я пытался, он отлично работал без биллинговой учетной записи. Единственная разница заключалась в том, что тогда веб-перехватчик был написан на машинописном тексте (index.ts), который работал, а теперь он написан на javascript (index.js), который не работает.   -  person anonymous_D    schedule 13.10.2020
comment
Привет, @anonymous_D, да, проблема может быть в биллинговой учетной записи, поскольку в учебнике действительно упоминается. Хотя на самом деле Node.js 10 требует выставления счетов, в этом руководстве не упоминается о необходимости Node.js версии 10, но да, о биллинговой учетной записи. Не могли бы вы связать один и проверить, работает ли он? Хотя это сработало для ваших простых веб-перехватчиков, в конце руководства это не простые веб-перехватчики.   -  person gso_gabriel    schedule 13.10.2020
comment
IIRC, невозможно развернуть облачные функции (веб-перехватчики) без биллинговой учетной записи. Кроме того, когда я создавал проекты с помощью консоли действий, мне также приходилось вручную включать службу Cloud Build, прежде чем развертывание будет успешным.   -  person DazWilkin    schedule 13.10.2020
comment
Я проверил с помощью платежного аккаунта. Это сработало. Спасибо.   -  person anonymous_D    schedule 13.10.2020


Ответы (1)


Публикуем это как вики сообщества, поскольку это основано на комментариях.

Как выяснилось, проблема, по-видимому, связана с учетной записью выставления счетов, поскольку в руководстве упоминается, что необходимо иметь один набор для правильного развертывания облачных функций. Кроме того, невозможно развернуть облачные функции (веб-перехватчики) без учетной записи для выставления счетов, поэтому да, даже если вы не используете Node.js 10, вам потребуется настроить учетную запись для выставления счетов для вашего проекта.

Таким образом, учетная запись для выставления счетов потребуется, чтобы избежать возможного сбоя развертывания, даже если вы не используете Node.js 10, как описано в следующем руководство.

person Community    schedule 19.10.2020