Skip to content

Как запустить свой сервис в Яндекс облаке за минуту

Notifications You must be signed in to change notification settings

thefrol/go-chi-yandex-cloud-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Сервис на Go в облаке за пять минут

Как расположиться бессерверно в Яндекс облаке с использованием библиотеки Chi.

Это простой шаблон, который позволит запустить первую версию вашего приложения в облаке. Делается за минуту:

  • Загрузите go.mod и main.go в вашу функцию
  • Поставьте точка входа - main.Router точка входа
  • Поставьте галочку публичная функция галочка

Потом перейдите на https://functions.yandexcloud.net/d4e3...(написан там где галочку ставили). Вы победили!

Стоп! Это ещё не все

Чтобы у нас работало, что-то кроме одного маршрута, мы добавим Api Gateway. Там все очень просто.

Это делается на тот, случай если ты решишь, что тебе нужен ещё например такой адрес /info

router.Get(/info, infoHandler)
  1. Запомнить идентификатор функции. Или в адресе https://functions.yandexcloud.net/<идентификатор>, или в списке всех функций запомнить функцию

  2. Перейдем в сервис Api Gateway в яндекс облаке и создадим новый гейт создать шлюз

  3. Запишем такую конфигурацию в окне создания шлюза, и поменяем строчку function_id на полученный в первом пунтке идентификатор

    openapi: 3.0.0
    info:
      title: Sample API
      version: 1.0.0
    paths:
      /{url+}:
        x-yc-apigateway-any-method:
          parameters:
          - explode: false
            in: path
            name: url
            required: false
            style: simple
          x-yc-apigateway-integration:
            function_id: твой_идентификатор
            tag: $latest
            type: cloud_functions
    

    заполнить конфигурацию

  4. Теперь твоя функция работает по такому адресу https://d5dphasdln.apigw.yandexcloud.net, его можно посмотреть в поле служебный домен на открывшейся странице Адрес шлюза

Готово! 🙌

Что дальше?

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

Форкните

Ещё вот есть интересный гайд по git или прекрасный курс на Яндекс.Практикуме

Установить локально

  1. зайдите в папку
  2. скачайте в нее репозиторий
    git clone https://github.com/<ваше_имя>/<ваш_репозиторий> .

Локальный запуск

Чтобы сервер можно было запускать локально добавьте в конце main.go такой код

func main(){
    http.ListenAndServe(":8080", router)
}

Планы

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

Автор

Дмитрий Фроленко 2023

Releases

No releases published

Packages

No packages published

Languages