JavaRush /Курсы /Модуль 4: FastAPI /Настройка проекта в Google Cloud Console

Настройка проекта в Google Cloud Console

Модуль 4: FastAPI
17 уровень , 1 лекция
Открыта

Google Cloud Console (или просто GCP Console) — это веб-платформа для управления всеми вашими проектами и сервисами в экосистеме Google Cloud. Она позволяет вам буквально "настроить и забыть" всё, что касается доступа к API сервисов Google. Например, добавление ключей API, настройку ролей и разрешений, а также управление сервисными аккаунтами.

Почему это важно? Представьте себе, что вам нужно регулярно обновлять отчёты в Google Sheets или загружать файлы в Google Drive. Без GCP Console вам пришлось бы "ломать голову", чтобы понять, как правильно настроить доступ, токены и подтверждения. С GCP Console, всё это становится значительно проще.


Создание проекта в Google Cloud Console

Шаг 1. Заходим в Google Cloud Console

Сначала нужно перейти в Google Cloud Console: https://console.cloud.google.com. Если вы ещё не авторизовались, вас попросят войти в свой Google аккаунт.

Совет пользователя:

если вы ещё не активировали бесплатный пробный период Google Cloud, самое время это сделать. Google предлагает $300 на использование своих сервисов в течение 90 дней. Кофе не купишь, но с API поработать хватает!

Шаг 2. Создаём новый проект

  1. В верхней навигационной панели нажимаем на выпадающий список "Проект" и выбираем "Создать проект".
  2. Вводим название проекта. Например, My FastAPI Integration Project.
  3. Указываем "Организацию" (если это требуется) или остаёмся на значении по умолчанию.
  4. Нажимаем "Создать".

🎉 Поздравляю! Вы только что стали гордым владельцем нового проекта. Правда, это как владение домом: без хорошей настройки все обрушится при первом же шторме.

Шаг 3. Активируем API для проекта

Большинство сервисов (например, Google Sheets или Google Drive) изначально отключены. Их нужно вручную активировать:

  1. Перейдите в меню "API и сервисы" → "Библиотека".
  2. В строке поиска введите интересующий вас API (например, "Google Sheets API").
  3. Нажмите на найденный API и выберите "Включить".

Повторите эту операцию для всех нужных вам сервисов, таких как:

  • Google Sheets API,
  • Google Drive API,
  • Google Maps API (если планируете работать с картами).
💡 Напоминание:

каждая активация API может увеличить ваши квоты. Например, у Google Drive API есть лимиты на количество запросов в день. Не забудьте ознакомиться с документацией каждого API!


Настройка платежных методов

Google любит деньги, а мы любим работающий API. Поэтому нужно добавить метод оплаты, чтобы иметь доступ ко всем сервисам.

  1. Перейдите в меню "Уплата и выставление счетов" → "Настройка платежей".
  2. Добавьте свою кредитную/дебетовую карту.
Шуточка-подсказка:

⚠️ Всё ещё боитесь, что вас "обдерут как липку"? Вы оплачиваете только то, что превышает бесплатные лимиты. А они достаточно щедрые: для большинства разработчиков-энтузиастов этого хватает с головой.


Управление правами доступа (IAM)

IAM (Identity and Access Management) позволяет вам настроить доступ к вашему проекту. Например, если вы работаете в команде, вы можете назначить роли, чтобы няня вашей кошки случайно не удалила проект.

Настройка ролей и разрешений:

  1. Перейдите в "IAM и администратор" → "IAM".
  2. Нажмите "Добавить".
  3. Укажите Google аккаунт, который получит доступ.
  4. Назначьте роль, например:
    • Viewer: для тех, кто просто смотрит (и ничего не ломает).
    • Editor: для тех, кому доверяете немного больше.
    • Owner: для вас, короля/королевы вашего проекта.
🎈 Зачем это нужно?:

Без правильной настройки ролей вы либо откроете доступ к проекту всем желающим, либо будете сами себе хакером.

Настройка сервисных аккаунтов

Если ваш проект — это автоматизированный процесс (например, скрипт, который синхронизирует данные), ему тоже нужен доступ к Google API. Здесь на помощь приходят сервисные аккаунты. Это как аккаунты пользователей, только роботизированные.

Создать сервисный аккаунт можно следующим образом:

  1. Перейдите в "IAM и администратор" → "Сервисные аккаунты".
  2. Нажмите "Создать сервисный аккаунт".
  3. Введите название (например, FastAPI Bot Account) и описание.
  4. Назначьте роли для сервисного аккаунта:
    • Для работы с Google Sheets: Editor или Owner.
    • Для Google Drive: Drive Admin.
    • Для Google Maps: Maps Viewer.
  5. Нажмите "Готово".

Чтобы сгенерировать ключ для сервисного аккаунта:

  1. В списке сервисных аккаунтов выберите созданный аккаунт.
  2. Нажмите "Создать ключ".
  3. Выберите формат JSON и скачайте файл.

Этот JSON-файл вам понадобится для работы с Google API через любое приложение, включая FastAPI. В нём содержатся все необходимые данные для аутентификации.

🛑 Внимание!

никогда не храните этот файл публично (например, в репозитории GitHub). В противном случае вы можете стать жертвой недоброжелателей, которые "отправят вам счёт" за тысячи запросов к API.


Проверим настройки проекта

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

Убедитесь, что у вас установлен и активен виртуальный окружение для Python (например, с помощью venv).


pip install google-auth google-auth-oauthlib google-auth-httplib2

Пример подключения к сервисному аккаунту:

Создайте файл connect_to_gcp.py:


from google.oauth2 import service_account

# Путь к вашему JSON-файлу с ключами сервисного аккаунта
SERVICE_ACCOUNT_FILE = 'path_to_your_service_account.json'

# Список полномочий (в данном случае для Google Drive)
SCOPES = ['https://www.googleapis.com/auth/drive']

# Подключение к сервисному аккаунту
credentials = service_account.Credentials.from_service_account_file(
    SERVICE_ACCOUNT_FILE, scopes=SCOPES
)

print("Успешное подключение!")

Запустите код. Если всё настроено правильно, вы увидите сообщение "Успешное подключение!". Теперь ваше приложение готово к взаимодействию с API!


Полезные ресурсы

Для дальнейших шагов, ознакомьтесь с официальной документацией Google:

Теперь, когда вы настроили проект в Google Cloud Console, можно переходить к следующей теме — аутентификации через OAuth2 и работе с конкретными API! 🚀

1
Задача
Модуль 4: FastAPI, 17 уровень, 1 лекция
Недоступна
Создание проекта в Google Cloud Console
Создание проекта в Google Cloud Console
1
Задача
Модуль 4: FastAPI, 17 уровень, 1 лекция
Недоступна
Настройка сервисного аккаунта
Настройка сервисного аккаунта
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ