Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Cloud Functions
  • Сопоставление с другими сервисами Yandex Cloud
    • Обзор
      • Обзор
      • Интерфейс Function
      • Интерфейс YcFunction
      • Класс HttpServlet
      • Spring Boot
    • Управление зависимостями
    • Обработчик запросов
    • Контекст вызова
    • Журналирование
    • Обработка ошибок
    • Использование SDK
  • Инструменты
  • Правила тарификации
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы
  1. Разработка на Java
  2. Модель программирования
  3. Обзор

Модель программирования на языке Java

Статья создана
Yandex Cloud
Обновлена 27 января 2025 г.

Сервис Cloud Functions предоставляет четыре модели программирования на языке Java — с помощью интерфейсов Function и YcFunction, класса HttpServlet, а также Spring Boot. Первые три способа задания обработчика функций подразумевают написание своих реализаций данных интерфейсов или классов, а последний — загрузку приложения в исходном виде без каких-либо изменений.

Разница между моделями Function и YcFunction состоит в наличии контекста вызова. Если, например, нужно взаимодействовать с сервисами Yandex Cloud при помощи SDK, то рекомендуем выбрать YcFunction. А модель использования класса HttpServlet позволяет получить полный контроль над возвращаемым значением и HTTP-методом, с помощью которого была вызвана функция, а также, как и модель YcFunction, дает доступ к контексту вызова.

Для моделей Function и YcFunction есть два обособленных типа: byte[] и String. Работа с ними отличается от работы с другими типами. При их использовании в качестве типа аргумента функции-обработчика среда выполнения не будет преобразовывать входящий запрос в JSON-интерпретацию для этих типов, а передаст его напрямую в пользовательскую функцию-обработчик. Исключением являются случаи, когда используется параметр ?integration=raw.

Примечание

В качестве библиотеки для сериализации и десериализации из JSON используется jsoniter.

Требования к обработчикуТребования к обработчику

Вне зависимости от выбранной модели загрузка проекта осуществляется одним из способов: в виде исходного кода, JAR-архива или Maven-проекта. Также на класс, содержащий функцию-обработчик, применяются следующие требования:

  • Он должен быть публичным.

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

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

  • Он не должен быть обобщенным.

Была ли статья полезна?

Предыдущая
Обзор
Следующая
Интерфейс Function
Проект Яндекса
© 2025 ООО «Яндекс.Облако»