Создаём функцию
Команды перечислены тут: https://github.com/yandex-cloud-examples/yc-practicum-serverless-telegram-bot/blob/main/steps/03-first-bot-function/README.md
Загружаем код. В окрежении должны быть верно установлены переменные SERVICE_ACCOUNT_DEPLOY_ID
, TELEGRAM_BOT_TOKEN
.
После этого, функция появится в консоли. Также можно получить список функций:
Получить инфу о функции:
В результате вызова последней команды в столбце FUNCTION ID
вы узнаете идентификатор функции и сможете сделать вызов функции с помощью следующей команды:
По умолчанию функция создается не публичной. Чтобы сделать функцию first-bot-function
публичной, вызовете следующую команду:
Получить URL функции:
Создаём API Gateway
Настраиваем конфиг first-bot-apigw.yml
:
В конфиге указан путь, метод, и какую функцию вызывать для обработки этого запроса.
После внесения изменений в спецификацию first-bot-apigw.yml
, используем ее для инициализации:
В консоли увидим, в том числе, имя служебного домена гейтвея.
Служебный домен нужен нам для того, чтобы соединить нашу функцию и телеграм, Согласно нашей спецификации, функция будет доступна по адресу если в конце domain
дописать /forwebhook
. Должно получиться следующее:
https://<ID API Gateway>.apigw.yandexcloud.net/forwebhook
Сохраним полученный URL в переменную TELEGRAM_BOT_URL
.
Деплой новой версии функции
Взято отсюда: https://github.com/yandex-cloud-examples/yc-practicum-serverless-telegram-bot/blob/main/steps/06-update-function/README.md
Сначала создадим архив с нужным кодом: `zip src.zip index.py requirements.txt
Чтобы передеплоить функцию с новыми параметрами, находясь в директории с архивом, вызовем следующую команду, не забыв подставить свои значения id
и version-id
:
📂 YandexCloud | Последнее изменение: 23.07.2024 20:29