Ноды для Yandex Cloud в n8n
Я заметил, что пост про использование Yandex GPT в n8n получил много внимания, и решил сделать набор нод для Yandex
Cloud в n8n.
Я заметил, что пост про использование Yandex GPT в n8n получил много внимания, и решил сделать набор нод для Yandex
Cloud в n8n.
Maven Central 26 июня 2025 года ввел ограничение на количество запросов к репозиторию. Они заблокировали 1% IP-адресов, которые по их словам, давали 83% трафика. Их мотивы понятны, но если это сломало вам деплой серверлесс-функций, написанных на Java, то есть способ обойти это ограничение. Если вы получаете во время сборки следующее сообщение:
Your IP: X.X.X.X has hit the rate limit with Maven Central. Too many requests.
Find out how to address this at https://www.sonatype.com/blog/maven-central-and-the-tragedy-of-the-commons
То это значит, что вы попали под это ограничение. Вместо того чтобы полагаться на билдер в облаке, которому нужно будет скачать зависимости, сделать это локально и принести их вместе с кодом функции.
Я уже полтора года пишу в этот standalone блог. До этого я писал на Medium. И вот там была классная фича, сделать
которую тут у меня все не доходили руки. Это форма подписки на email. Я хотел сделать так, чтобы читатели могли
подписаться
на новые статьи и получать на почту уведомления. Но я не хотел использовать Mailchimp или подобные сервисы. Я хотел
сделать все, используя Yandex Cloud. И вот наконец-то я это сделал. В этой статье я расскажу, как я это сделал.
Кстати, справа вы видите именно эту форму подписки. Если вы хотите подписаться на новые статьи, введите свой email и нажмите кнопку "Подписаться". А теперь давайте разберемся, как это работает.
Запустить браузер в Serverless окружении довольно просто. В этой статье я покажу как использовать Puppeteer в Yandex Cloud Serverless контейнере.
Redis — это одна из самых популярных баз данных, используемая для кэширования и хранения данных. В этой статье мы рассмотрим, как работать с Redis из Serverless-функций в Yandex Cloud.
А именно, попробуем замерить время доступа к Redis из Serverless-функций и сравним его в разных условиях.
В логах Serverless-функций вы можете увидеть код ответа 499. Что это значит и что делать, если вы видите его в логах?
У меня уже есть пост про то как запустить FastAPI в Serverless контейнере на Yandex Cloud, а также пост как в функции запустить популярные JS фреймворки. Пришло время взять понемногу из этих постов и запустить FastAPI в Serverless функции. Для этого нам понадобится python библиотека Mangum. Она не сказать что очень активно поддерживается. Это заметно и по истории коммитов и по тому что они упустили домен, где была документация и теперь там лежит рекламный блог. Недавно разработку подхватил другой разработчик. Восстановил документацию и это дает надежду на то что проект будет развиваться дальше.
То, что функция в один момент времени обрабатывает один запрос, а после выполнения инстанс функции подчищает все ресурсы, позволяет не задумываться о корректном закрытии таких ресурсов. Например, можно спокойно не закрыть открытый на чтение временный файл. И в этом действительно не будет никаких проблем, до тех пор пока в сервис не придет нагрузка.
В принципе тут все просто и логирование в облачных функциях работает «из коробки». Т.е. все что вы залогируете во время выполнения функции будет доступно в Cloud Logging. Но есть некоторые нюансы, о которых я хочу рассказать.
В прошлом посте на эту тему я рассказал о том, как можно использовать очереди сообщений для асинхронного вызова облачных функций в Яндекс Облаке. В этом посте я расскажу о том, как можно сделать это еще проще и удобнее.
В принципе весь процесс описан в документации, но там упомянут всего один фреймворк - Sanic, а тут мы разберем как запустить Fastapi.
Для начала создадим проект на основе примера Web API.
В прошлом Serverless Full Text Search я рассмотрел JavaScript библиотеку для in-memory полнотекстового поиска Lyra. Почему я выбрал именно ее? Во-первых, именно на доклад про неё я наткнулся на YouTube. Во-вторых, мне понравилась её универсальность и возможность притащить её в браузер.
Если вы для своего проекта выбрали serverless стек, то наверняка вы заметили, что в Яндекс Облаке для него нет решения обеспечивающего полнотекстовый поиск. Ну, то есть вы конечно можете поднять кластер ElasticSearch. Но при его минимальной стоимости и выделяемых ресурсах это наверняка будет стрельбой из пушки по воробьям.
Но что же делать, если хочется сохранить низкие расходы на инфраструктуру и получить быстрый полнотекстовый поиск?
Итак, у вас есть цель выполнять какую-то задачу внутри serverless контейнера по расписанию. К сожалению, вы не сможете просто взять положить в контейнер ваш код и надеяться что все заработает просто так.
Сегодня я хотел бы разобрать модель работы облачных функций в Яндекс Облаке.
Для этого нам понадобится serverless функция.
Часто нужно передать в функцию какой-то секрет. Например, ключ доступа в стороннее API. Его можно передать через переменные окружения, но в таком случае он будет храниться в открытом виде.
Начнем с того, что набросаем небольшого тестового бота поверх фреймворка Telegraph.
К сожалению просто так взять и запустить приложение написанное на любом популярном node.js фреймворке у нас не выйдет. Эти фреймворки пишут ответ в http(s) сокет. Рантайм функций ожидает получить от пользовательского кода функции объект определенного содержания.