Как управлять проектами с помощью Google Chat, Vertex AI и Firestore

В этом руководстве рассказывается, как создать приложение Google Chat, которое команда может использовать для управления проектами в реальном времени. Приложение Chat использует Vertex AI, чтобы помочь командам писать пользовательские истории (которые представляют собой функции программной системы с точки зрения пользователя, которые команда должна разработать) и сохраняет эти истории в базе данных Firestore.

  • Если вы упомянете приложение для управления проектами, оно предложит вам помощь.
    Рисунок 1. Чарли обсуждает разработку функции в чат-группе Chat со своей командой. Если упомянуть приложение для управления проектами в Chat, оно предложит помощь.
  • Создание истории с помощью слеш-команды /createUserStory.
    Рисунок 2. С помощью слеш-команды /createUserStory Чарли создает историю.
  • Приложение Chat для управления проектами использует Vertex AI для создания описания истории.
    Рисунок 3. Приложение для управления проектами в Chat использует Vertex AI, чтобы написать описание задачи, а затем делится задачей в чат-группе.
  • Евгений завершает работу над деталями сюжета.
    Рисунок 4. Чтобы завершить настройку, Чарли нажимает Изменить. ИИ-описание точное, но Чарли хочет добавить больше деталей, поэтому он нажимает Развернуть, чтобы Vertex AI добавил требования к описанию истории. Чарли назначает задачу себе, устанавливает статус "Начато", выбирает подходящий приоритет и размер, а затем нажимает Сохранить.
  • Управление всеми пользовательскими историями команды.
    Рисунок 5. В любой момент Чарли может посмотреть все пользовательские истории команды и управлять ими с помощью слеш-команды /manageUserStories.

Требования

Цели

  • Создайте приложение Chat для управления проектами по разработке ПО с использованием гибких методологий.
  • Помогите пользователям писать пользовательские истории с помощью инструментов для написания пользовательских историй на базе генеративного ИИ, созданных на базе Vertex AI:
    • Создавать и изменять описания историй.
    • Расширять описания историй, добавляя в них недостающие требования.
    • Исправлять грамматические ошибки, чтобы устранять опечатки.
  • Поддерживайте актуальность данных, записывая их в базу данных Firestore и считывая из нее.
  • Организуйте совместную работу в чат-группе Chat, разрешив пользователям создавать, редактировать, назначать и запускать истории прямо из чата.

Какие продукты использовались

Приложение для управления проектами использует следующие продукты Google Workspace и Google Cloud:

  • Chat API – API для разработки приложений Google Chat, которые получают и обрабатывают события взаимодействия с Chat, например сообщения. Приложение Google Chat для управления проектами использует Chat API, чтобы получать и обрабатывать события взаимодействия, отправленные Chat, а также настраивать атрибуты, определяющие внешний вид приложения в Chat, например имя и изображение аватара.
  • Vertex AI API – платформа генеративного ИИ. Приложение Google Chat для управления проектами использует Vertex AI API для создания заголовков и описаний пользовательских историй.
  • Firestore – бессерверная база данных документов. Приложение Google Chat для управления проектами использует Firebase для хранения данных о пользовательских историях.
  • Cloud Functions – это легкий бессерверный вычислительный сервис, который позволяет создавать одноцелевые автономные функции, реагирующие на события взаимодействия с Chat без необходимости управлять сервером или средой выполнения. Приложение Google Chat для управления проектами использует Cloud Functions для размещения конечной точки HTTP, в которую Chat отправляет события взаимодействия, а также в качестве вычислительной платформы для выполнения логики, которая обрабатывает эти события и отвечает на них.

    Для создания, обработки событий взаимодействия и размещения вычислительных ресурсов Cloud Functions использует следующие продукты Google Cloud:

    • Cloud Build – полностью управляемая платформа непрерывной интеграции, доставки и развертывания, которая выполняет автоматизированные сборки.
    • Pub/Sub – асинхронный масштабируемый сервис обмена сообщениями, который разделяет сервисы, создающие сообщения, и сервисы, обрабатывающие их.
    • Cloud Run Admin API – полностью управляемая среда для запуска контейнерных приложений.

Архитектура

Архитектура приложения Google Chat для управления проектами получает и обрабатывает события взаимодействия с Chat в конечной точке HTTP, использует Vertex AI для написания пользовательских историй и хранит сведения о них в базе данных Firestore. На следующей диаграмме показана архитектура используемых ресурсов Google Workspace и Google Cloud.

Схема архитектуры приложения Google Chat для управления проектами

Приложение для управления проектами в Google Chat работает следующим образом:

  1. Пользователь отправляет сообщение в Chat и вызывает приложение для управления проектами, отправив ему прямое сообщение, упомянув его в чат-группе или введя слеш-команду.

  2. Чат отправляет синхронный HTTP-запрос в конечную точку HTTP функции Cloud Functions.

  3. Приложение Google Chat для управления проектами обрабатывает HTTP-запрос:

    1. Vertex AI помогает писать или обновлять пользовательские истории.

    2. База данных Firestore хранит, извлекает, обновляет или удаляет данные пользовательских историй.

  4. Cloud Functions возвращает ответ HTTP в Chat, который отображает его пользователю в виде сообщения или диалогового окна.

Подготовка среды

В этом разделе рассказывается, как создать и настроить проект Google Cloud для приложения Chat.

Как создать проект Google Cloud

Google API Console

  1. В Google API Console нажмите на значок меню > IAM & Admin (IAM и администрирование) > Create a Project (Создать проект).

    Создайте проект

  2. В поле Project Name (Имя проекта) введите информативное название проекта.

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

  3. В поле Местоположение нажмите Обзор, чтобы посмотреть возможные местоположения для проекта. Затем нажмите Выбрать.
  4. Нажмите Создать. Google API Console перейдет на страницу "Панель управления", и ваш проект будет создан в течение нескольких минут.

gcloud CLI

В одной из следующих сред разработки получите доступ к Google Cloud CLI (gcloud):

  • Cloud Shell: Чтобы использовать онлайн-терминал с уже настроенным gcloud CLI, активируйте Cloud Shell.
    Активировать Cloud Shell
  • Локальная оболочка. Чтобы использовать локальную среду разработки, установите и инициализируйте gcloud CLI.
    Чтобы создать облачный проект, используйте команду gcloud projects create:
    gcloud projects create PROJECT_ID
    Замените PROJECT_ID, указав идентификатор проекта, который хотите создать.

Включите оплату для облачного проекта

Google API Console

  1. В Google API Console выберите Оплата. Нажмите Меню > Оплата > Мои проекты.

    Перейти к оплате проектов

  2. В разделе Выберите организацию выберите организацию, связанную с вашим облачным проектом Google Cloud.
  3. В строке проекта откройте меню Действия (), нажмите Изменить платежные данные и выберите платежный аккаунт Cloud.
  4. Нажмите Выбрать аккаунт.

gcloud CLI

  1. Чтобы получить список доступных платежных аккаунтов, выполните следующую команду:
    gcloud billing accounts list
  2. Чтобы связать платежный аккаунт с проектом Google Cloud:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    Замените следующее:

    • PROJECT_ID – это идентификатор проекта для облачного проекта, для которого вы хотите включить оплату.
    • BILLING_ACCOUNT_ID – это идентификатор платежного аккаунта, который нужно связать с проектом Google Cloud.

Включение API

Google API Console

  1. В Google API Console включите Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API и Cloud Run Admin API.

    Как включить API

  2. Убедитесь, что вы включаете API в нужном облачном проекте, и нажмите Далее.

  3. Убедитесь, что вы включаете нужные API, и нажмите Включить.

gcloud CLI

  1. При необходимости задайте текущий облачный проект, созданный с помощью команды gcloud config set project:

    gcloud config set project PROJECT_ID

    Замените PROJECT_ID на идентификатор проекта облачного проекта, который вы создали.

  2. Включите Google Chat API, Vertex AI API, Cloud Functions API, Firestore API, Cloud Build API, Pub/Sub API и Cloud Run Admin API с помощью команды gcloud services enable:

    gcloud services enable chat.googleapis.com \
    aiplatform.googleapis.com \
    cloudfunctions.googleapis.com \
    firestore.googleapis.com \
    cloudbuild.googleapis.com \
    pubsub.googleapis.com \
    run.googleapis.com

    Cloud Build, Pub/Sub и Cloud Run Admin API являются обязательными для Cloud Functions.

Аутентификация и авторизация

Для выполнения инструкций из этого руководства не требуется настраивать аутентификацию и авторизацию.

Для вызова API Firestore и Vertex AI в этом руководстве используются Application Default Credentials с сервисным аккаунтом по умолчанию, прикрепленным к функции Cloud Functions. Настраивать его не нужно. В рабочей среде обычно создают и прикрепляют сервисный аккаунт к функции Cloud Functions.

Как создать и развернуть приложение Google Chat

Теперь, когда проект Google Cloud создан и настроен, вы можете создать и развернуть приложение Google Chat. В этом разделе вы выполните следующие действия:

  1. Создайте базу данных Firestore, в которой будут храниться пользовательские истории.
  2. При необходимости проверьте образец кода.
  3. Создайте функцию Cloud Functions, чтобы разместить и запустить код приложения Chat в ответ на события, полученные от Chat в виде HTTP-запросов.
  4. Создайте и разверните приложение Google Chat на странице конфигурации Google Chat API.

Как создать базу данных Firestore

В этом разделе вы создадите базу данных Firestore, чтобы хранить и извлекать пользовательские истории, но не будете определять модель данных. Модель данных задается неявно в образце кода с помощью файлов model/user-story.js и model/user.js.

В базе данных приложения Chat для управления проектами используется модель данных NoSQL на основе документов, организованных в коллекции. Подробнее о модели данных Firestore…

На следующей диаграмме представлена общая информация о модели данных приложения Google Chat для управления проектами:

Модель данных базы данных Firestore.

Корневая коллекция – spaces, где каждый документ представляет собой чат-группу, в которой приложение Chat создало истории. Каждая пользовательская история представлена документом в подколлекции userStories, а каждый пользователь – документом в подколлекции users.

Как посмотреть определения коллекций, документов и полей

spaces

Чат-группы, в которых приложение Chat создало истории.

Поля
Document IDString
Уникальный идентификатор определенного пространства, в котором создаются истории. Соответствует названию ресурса чат-группы в Chat API.
userStoriesSubcollection of Documents (userStories)
Истории, созданные в приложении Chat и его пользователями. Соответствует Document ID объекта userStories в Firebase.
usersSubcollection of Documents (user)
Пользователи, которые создали или которым назначены истории.
displayNameString
Отображаемое название чат-группы в Chat API. Не задано для прямых переписок с пользователями.

userStories

Истории, созданные в приложении Chat и его пользователями.

Поля
Document IDString
Уникальный идентификатор определенной пользовательской истории, созданной приложением Chat и его пользователями.
assigneeDocument (user)
Название ресурса пользователя, назначенного для выполнения истории. Соответствует Document ID документа users и названию ресурса пользователя в Chat API.
descriptionString
Описание функции ПО с точки зрения пользователя.
priorityEnum
Срочность выполнения работы. Допустимые значения: Low, Medium и High.
sizeEnum
Объем работы. Допустимые значения: Small, Medium и Large.
statusEnum
Этап работы. Допустимые значения: OPEN, STARTED и COMPLETED.
titleString
Заголовок рассказа или краткое описание.

users

Пользователи, которые создали или которым назначены истории.

Поля
Document IDString
Уникальный идентификатор определенного пользователя. Соответствует assignee объекта userStories в Firebase и имени ресурса пользователя в Chat API.
avatarUrlString
URL, на котором размещено изображение аватара пользователя Chat.
displayNameString
Отображаемое имя пользователя в Chat.

Вот как создать базу данных Firestore:

Google API Console

  1. В Google API Console перейдите в Firestore. Нажмите Меню > Firestore.

    Перейти в Firestore

  2. Нажмите Создать базу данных.

  3. В разделе Выберите режим Firestore нажмите Нативный режим.

  4. Нажмите Продолжить.

  5. Настройте базу данных:

    1. В разделе Название базы данных оставьте идентификатор базы данных (default).

    2. В поле Тип местоположения укажите регион для базы данных, например us-central1. Чтобы обеспечить наилучшее качество связи, выберите тот же или ближайший регион, что и у функции Cloud Functions приложения Chat.

  6. Нажмите Создать базу данных.

gcloud CLI

  • Создайте базу данных Firestore в собственном режиме с помощью команды gcloud firestore databases create:

    gcloud firestore databases create \
    --location=LOCATION \
    --type=firestore-native

    Замените LOCATION названием региона Firestore, например us-central1.

Проверьте образец кода

При желании перед созданием функции Cloud Functions ознакомьтесь с образцом кода, размещенным на GitHub.

Посмотреть на GitHub

Ниже приведена информация о каждом файле.

env.js
Переменные конфигурации среды для развертывания приложения Chat в указанном проекте и регионе Google Cloud. Вам нужно обновить переменные конфигурации в этом файле.
package.json и package-lock.json
Настройки проекта и зависимости Node.js.
index.js
Точка входа для функции Cloud Functions приложения Chat. Он считывает событие чата из HTTP-запроса, вызывает обработчик приложения и отправляет HTTP-ответ в виде объекта JSON.
controllers/app.js
Основная логика приложения. Обрабатывает события взаимодействия, обрабатывая упоминания приложения Chat и слеш-команды. Чтобы реагировать на нажатия на карточках, он вызывает функцию app-action-handler.js.
controllers/app-action-handler.js
Логика приложения для обработки клика по карточке события взаимодействия с Chat.
services/space-service.js, services/user-service.js и services/user-story-service.js.
Эти файлы содержат части логики приложения, относящиеся к работе с чат-группами, пользователями и пользовательскими историями. Функции в этих файлах вызываются с помощью app.js или app-action-handler.js. Чтобы выполнять операции с базами данных, функции в этих файлах вызывают функции в firestore-service.js.
services/firestore-service.js
Выполняет операции с базами данных. Функции в этом файле вызываются с помощью services/space-service.js, services/user-service.js и services/user-story-service.js.
services/aip-service.js
Вызывает Vertex AI API для генеративного искусственного интеллекта, чтобы получить прогноз текста.
model/*.js
Эти файлы содержат определения классов и перечислений, которые используются сервисами приложений для хранения и передачи данных между функциями. Они задают модель данных для базы данных Firestore.
views/*.js
Каждый файл в этом каталоге создает объект карточки, который приложение Chat отправляет обратно в Chat в виде сообщения с карточкой или ответа на действие диалогового окна.
views/widgets/*.js
Каждый файл создает объект типа widget, который приложение использует для создания карточек в каталоге views/.
test/**/*.test.js
Каждый файл в этом каталоге и его подкаталогах содержит модульные тесты для соответствующей функции, контроллера, сервиса, представления или виджета. Чтобы выполнить все модульные тесты, запустите команду npm run test в корневом каталоге проекта.

Как создать и развернуть функцию Cloud Functions

В этом разделе вы создадите и развернете функцию Cloud Functions, которая будет содержать логику приложения для управления проектами в Chat.

Функция Cloud Functions выполняется в ответ на HTTP-запрос от Chat, содержащий событие взаимодействия Chat. При запуске код функции Cloud Functions обрабатывает событие и возвращает ответ в Chat, который Chat отображает в виде сообщения, диалогового окна или другого типа взаимодействия с пользователем. При необходимости функция Cloud Function также считывает данные из базы данных Firestore или записывает их в нее.

Вот как создать функцию Cloud Functions:

Google API Console

  1. Скачайте код с GitHub в виде ZIP-файла.

    Как скачать ZIP-файл

  2. Распакуйте скачанный ZIP-файл.

    Извлеченная папка содержит весь репозиторий примеров Google Workspace.

  3. В извлеченной папке перейдите в каталог add-ons-samples-main/node/chat/project-management-app/ и упакуйте папку project-management-app в ZIP-архив.

    Корневой каталог ZIP-файла должен содержать следующие файлы и папки:

    • env.js
    • README.md
    • gcloudignore.text
    • package-lock.json
    • package.json
    • index.js
    • model/
    • controllers/
    • views/
    • services/
  4. В Google API Console перейдите на страницу Cloud Functions:

    Перейти к Cloud Functions

    Убедитесь, что выбран проект Google Cloud для приложения Chat.

  5. Нажмите Создать функцию.

  6. На странице Создать функцию настройте функцию:

    1. В разделе Среда выберите Функция Cloud Run.
    2. В поле Название функции введите project-management-tutorial.
    3. В разделе Регион выберите регион.
    4. В разделе Аутентификация выберите Разрешить вызовы без аутентификации.
    5. Нажмите Далее.
  7. В разделе Среда выполнения выберите Node.js 20.

  8. В поле Точка входа удалите текст по умолчанию и введите projectManagementChatApp.

  9. В разделе Исходный код выберите Загрузка ZIP-архива.

  10. В разделе Целевой сегмент создайте или выберите сегмент:

    1. Нажмите Поиск.
    2. Выберите сегмент.
    3. Нажмите Выбрать.

    Google Cloud загрузит ZIP-файл в этот сегмент и извлечет из него файлы компонентов. Затем Cloud Functions копирует файлы компонентов в функцию Cloud Functions.

  11. В разделе Zip file (ZIP-файл) загрузите ZIP-файл, который вы скачали с GitHub, извлекли из него файлы и снова сжали:

    1. Нажмите Поиск.
    2. Найдите и выберите ZIP-файл.
    3. Нажмите Открыть.
  12. Нажмите Развернуть.

    Откроется страница Сведения о функции Cloud Functions, на которой будет показана ваша функция с двумя индикаторами выполнения: один для сборки, а другой – для сервиса. Когда оба индикатора исчезнут и будут заменены галочкой, функция будет развернута и готова к работе.

  13. Измените образец кода, чтобы задать константы:

    1. На странице Сведения о функции Cloud Functions нажмите Изменить.
    2. Нажмите Далее.
    3. В разделе Исходный код выберите Встроенный редактор.
    4. В встроенном редакторе откройте файл env.js.
    5. Замените project-id идентификатором проекта Cloud.
    6. При необходимости замените us-central1 на поддерживаемое местоположение для функции Cloud Functions.
  14. Нажмите Развернуть.

  15. Когда функция будет развернута, скопируйте URL триггера:

    1. На странице Сведения о функции нажмите Триггер.
    2. Скопируйте URL. Он понадобится вам для настройки приложения Chat, описанной в следующем разделе.

gcloud CLI

  1. Клонируйте код с сайта GitHub:

    git clone https://github.com/googleworkspace/add-ons-samples.git
  2. Перейдите в каталог, в котором хранится код приложения Chat для управления проектами:

    cd add-ons-samples/node/chat/project-management-app
  3. Измените файл env.js, чтобы задать переменные среды:

    1. Замените project-id идентификатором проекта Google Cloud.
    2. Замените us-central1 на местоположение облачного проекта Google Cloud.
  4. Разверните функцию Cloud Functions в Google Cloud:

    gcloud functions deploy project-management-tutorial \
    --gen2 \
    --region=REGION \
    --runtime=nodejs20 \
    --source=. \
    --entry-point=projectManagementChatApp \
    --trigger-http \
    --allow-unauthenticated

    Замените REGION на местоположение функции Cloud Functions, где размещена ИТ-инфраструктура, например us-central1.

  1. Когда функция будет развернута, скопируйте свойство url из ответа. Это URL триггера, который вы будете использовать в следующем разделе для настройки приложения Google Chat.

Как настроить приложение Google Chat в Google API Console

В этом разделе рассказывается, как настроить Chat API в Google API Console, указав информацию о приложении Chat, в том числе его название, поддерживаемые команды со слешем и URL триггера функции Cloud Function, которой приложение Chat отправляет события взаимодействия.

  1. В Google API Console нажмите Меню > API и сервисы > Включенные API и сервисы > Google Chat API > Конфигурация.

    Перейти к настройке Chat API

  2. В поле Название приложения введите Project Manager.

  3. В поле URL аватара введите https://developers.google.com/chat/images/quickstart-app-avatar.png.

  4. В поле Описание введите Manages projects with user stories..

  5. Переведите переключатель Включить интерактивные функции в положение "Включено".

  6. В разделе Функциональность выберите Присоединяться к чат-группам и групповым чатам.

  7. В разделе Настройки подключения выберите URL конечной точки HTTP.

  8. Скопируйте адрес электронной почты сервисного аккаунта. Этот адрес электронной почты понадобится вам, когда вы будете предоставлять приложению Google Chat разрешение вызывать вашу функцию.

  9. В разделе Триггеры выберите Использовать общий URL конечной точки HTTP для всех триггеров.

  10. В поле URL конечной точки HTTP вставьте URL триггера функции Cloud Functions в формате https://REGION-PROJECT_ID.cloudfunctions.net/project-management-tutorial. Если вы развернули функцию Cloud Functions с помощью интерфейса командной строки gcloud, это свойство url.

  11. Зарегистрируйте слеш-команды приложения Chat. Чтобы зарегистрировать слеш-команду:

    1. В разделе Команды нажмите Добавить команду.
    2. Для каждой команды, указанной в таблице ниже, введите идентификатор команды, описание, в разделе Тип команды выберите слеш-команда, введите название слеш-команды, выберите Диалоговое окно и нажмите Готово:

      Идентификатор команды Описание Название слеш-команды Dialog
      1 Создайте рассказ с указанным названием. /createUserStory Выбор отменен
      2 Показывает все истории, назначенные пользователю. /myUserStories Выбор отменен
      3 Текущий статус указанной истории. /userStory Выбор отменен
      4 Открывает диалоговое окно, в котором можно редактировать истории. /manageUserStories Выбрано
      5 Удаляет все новости в чат-группе. /cleanupUserStories Выбор отменен
  12. В разделе Видимость выберите Сделать это приложение Google Chat доступным для определенных пользователей и групп в домене Workspace и введите свой адрес электронной почты.

  13. При необходимости в разделе Журналы выберите Регистрировать ошибки в Cloud Logging.

  14. Нажмите Сохранить. Появится сообщение о том, что конфигурация сохранена.

Приложение Chat готово получать сообщения и отвечать на них.

Как протестировать приложение Chat

Протестируйте приложение Chat для управления проектами, отправив ему сообщение и используя команды со слешем для создания, изменения и удаления историй пользователей.

  1. Откройте Google Chat, используя аккаунт Google Workspace, который вы указали, когда добавляли себя в качестве доверенного тестировщика.

    Перейти в Google Chat

  2. Нажмите Новый чат.
  3. В поле Добавьте одного или нескольких пользователей введите название приложения Chat.
  4. Выберите приложение Chat в результатах поиска. Откроется прямая переписка.

  5. В новой прямой переписке с приложением введите Hello и нажмите enter. Приложение для управления проектами в Chat ответит меню справки с описанием своих возможностей.
  6. Чтобы создать историю, введите /createUserStory Test story в строку сообщения и отправьте его. Приложение для управления проектами Chat ответит карточкой с описанием пользовательской истории, созданной с помощью генеративного ИИ от Vertex AI.
  7. В API Console проверьте базу данных Firestore, чтобы посмотреть записи о добавленном вами приложении Chat, взаимодействовавших с ним пользователях и созданной вами истории.

    Перейти в Firestore

  8. Вернитесь в Google Chat.

    Перейти в Google Chat

  9. Чтобы изменить историю, нажмите Изменить. Когда все будет готово, нажмите Сохранить.
  10. Проверьте все команды со слешем, которые поддерживает приложение. Чтобы посмотреть их, введите / или упомяните приложение Chat.
  11. Удалите тестовую пользовательскую историю, введя слеш-команду /cleanupUserStories. Вы также можете удалить или деинсталлировать приложение. В этом случае все пользовательские истории, созданные в чат-группе, будут удалены.

Устранение неполадок

Если приложение Google Chat или карточка возвращает ошибку, в интерфейсе Chat появляется сообщение "Что-то пошло не так". или "Не удалось обработать запрос". Иногда в интерфейсе Chat не показывается сообщение об ошибке, но приложение Chat или карточка выдает неожиданный результат, например не появляется сообщение на карточке.

Хотя в интерфейсе Chat может не показываться сообщение об ошибке, при включенном ведении журнала ошибок для приложений Chat вам будут доступны подробные сообщения об ошибках и данные журнала, которые помогут устранить неполадки. Чтобы узнать, как просматривать, отлаживать и исправлять ошибки, ознакомьтесь с разделом Устранение неполадок в Google Chat.

Организовать

Чтобы избежать списания средств с аккаунта Google Cloud за ресурсы, использованные в этом руководстве, рекомендуем удалить облачный проект.

  1. В Google API Console перейдите на страницу Управление ресурсами. Нажмите Меню > IAM и администрирование > Управление ресурсами.

    Перейти в Менеджер ресурсов

  2. В списке проектов выберите проект, который хотите удалить, и нажмите Удалить .
  3. В диалоговом окне введите идентификатор проекта и нажмите Закрыть, чтобы удалить проект.