Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Cloud Functions
  • Начало работы
    • Обзор
    • Создание и выполнение функции
    • Создание таймера
    • Создание триггера для Message Queue
    • Создание триггера для Object Storage
    • Создание триггера для Container Registry
    • Создание триггера для Cloud Logs
    • Создание триггера для IoT Core
  • Пошаговые инструкции
    • Все инструкции
    • Получение IAM-токена сервисного аккаунта с помощью функции
    • Управление правами доступа к функции
    • Управление функцией
      • Создание функции
      • Управление версиями функции
      • Работа в редакторе кода
      • Вызов функции
      • Изменение функции
      • Просмотр графиков мониторинга
      • Просмотр журнала выполнения
      • Удаление функции
    • Управление триггером
      • Получение информации о триггере
      • Создание таймера
      • Создание триггера для Message Queue
      • Создание триггера для Object Storage
      • Создание триггера для Container Registry
      • Создание триггера для Cloud Logs
      • Создание триггера для Yandex IoT Core
      • Изменение триггера
      • Удаление триггера
  • Концепции
    • Обзор
    • Функция
    • Вызов функции
    • Среда выполнения
      • Обзор
      • Окружение
      • Контекст выполнения
    • Сборщик
    • Триггер
      • Обзор
      • Таймер
      • Триггер для Message Queue
      • Триггер для Object Storage
      • Триггер для Container Registry
      • Триггер для Cloud Logs
      • Триггер для Yandex IoT Core
    • Dead Letter Queue
    • Лог-группы
    • Мониторинг
    • Резервное копирование
    • Квоты и лимиты
  • Разработка на Node.js
    • Обзор
    • Управление зависимостями
    • Обработчик запросов
    • Контекст вызова
    • Журналирование
    • Обработка ошибок
    • Использование SDK
  • Разработка на Python
    • Обзор
    • Управление зависимостями
    • Обработчик запросов
    • Контекст вызова
    • Журналирование
    • Обработка ошибок
    • Использование SDK
  • Разработка на Go
    • Обзор
    • Управление зависимостями
    • Обработчик запросов
    • Контекст вызова
    • Журналирование
    • Обработка ошибок
    • Использование SDK
  • Разработка на PHP
    • Обзор
    • Управление зависимостями
    • Обработчик запросов
    • Контекст вызова
    • Журналирование
    • Обработка ошибок
  • Разработка на Bash
    • Обзор
    • Обработчик запросов
    • Журналирование
    • Обработка ошибок
    • Использование SDK
  • Разработка на Java
    • Обзор
    • Модель программирования
      • Обзор
      • Интерфейс Function
      • Интерфейс YcFunction
      • Класс HttpServlet
      • Spring Boot
    • Управление зависимостями
    • Обработчик запросов
    • Контекст вызова
    • Журналирование
    • Обработка ошибок
    • Использование SDK
  • Разработка на R
    • Обзор
    • Модель программирования
    • Управление зависимостями
    • Обработчик запросов
    • Контекст вызова
    • Журналирование
    • Обработка ошибок
  • Разработка на C#
    • Обзор
    • Модель программирования
      • Обзор
      • Интерфейс Function
      • Интерфейс YcFunction
    • Управление зависимостями
    • Обработчик запросов
    • Контекст вызова
    • Журналирование
    • Обработка ошибок
    • Использование SDK
  • Сценарии использования
    • Создание навыка Алисы
  • Правила тарификации
  • Управление доступом
  • Справочник API Functions
    • Аутентификация в API
    • gRPC
      • Обзор
      • FunctionService
      • OperationService
    • REST
      • Обзор
      • Function
        • Обзор
        • create
        • createVersion
        • delete
        • get
        • getVersion
        • getVersionByTag
        • list
        • listAccessBindings
        • listOperations
        • listRuntimes
        • listTagHistory
        • listVersions
        • removeTag
        • setAccessBindings
        • setTag
        • update
        • updateAccessBindings
  • Справочник API Triggers
    • Аутентификация в API
    • gRPC
      • Обзор
      • TriggerService
      • OperationService
    • REST
      • Обзор
      • Trigger
        • Обзор
        • create
        • delete
        • get
        • list
        • listOperations
        • update
  • Вопросы и ответы
  1. Разработка на Java
  2. Модель программирования
  3. Обзор

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

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

Сервис 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-проекта. Также на класс, содержащий функцию-обработчик, накладываются следующие требования:

  1. Он должен быть публичным.
  2. У него должен присутствовать публичный конструктор без аргументов.
    По умолчанию он присутствует. Но, если вы создали свой конструктор, принимающий аргументы, нужно также создать конструктор, не принимающий никаких аргументов.
  3. Он не должен быть обобщенным.
Language
Вакансии
Политика конфиденциальности
Условия использования
© 2021 ООО «Яндекс.Облако»