Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Cloud Functions
  • Сопоставление с другими сервисами Yandex Cloud
    • Обзор
      • Обзор
      • Node.js
      • Python
      • Go
      • PHP
      • Bash
      • Java
      • Kotlin
  • Инструменты
  • Правила тарификации
  • Управление доступом
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Перед началом работы
  • Создайте функцию
  • Создайте первую версию функции
  • Подготовьте ZIP-архив с кодом функции
  • Создайте версию функции
  • Вызовите функцию
  • Что дальше
  1. Начало работы
  2. Создание функции
  3. Kotlin

Создание функции на Kotlin

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 21 апреля 2025 г.
  • Перед началом работы
  • Создайте функцию
  • Создайте первую версию функции
    • Подготовьте ZIP-архив с кодом функции
    • Создайте версию функции
  • Вызовите функцию
  • Что дальше

Создайте и выполните функцию на Kotlin, которая приветствует пользователя.

Перед началом работыПеред началом работы

Создайте каталог в Yandex Cloud.

Создайте функциюСоздайте функцию

Консоль управления
CLI
API
Yandex Cloud Toolkit
  1. В консоли управления перейдите в каталог, в котором хотите создать функцию.
  2. Выберите сервис Cloud Functions.
  3. Нажмите кнопку Создать функцию.
  4. Введите имя функции — kotlin-function.
  5. Нажмите кнопку Создать.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы создать функцию, выполните команду:

yc serverless function create --name=kotlin-function

Результат:

id: d4eek526ai42********
folder_id: b1gt6g8ht345********
created_at: "2024-12-19T20:02:56.039Z"
name: kotlin-function
http_invoke_url: https://functions.yandexcloud.net/d4eek526ai42********
status: ACTIVE

Создать функцию можно с помощью метода API create.

Создать функцию можно с помощью плагина Yandex Cloud Toolkit для семейства IDE на платформе IntelliJ от JetBrains.

Создайте первую версию функцииСоздайте первую версию функции

Чтобы создать версию функции, вы можете воспользоваться одним из форматов загрузки кода. Для примера будет использован ZIP-архив.

Важно

Файл больше 3,5 МБ необходимо загружать через Object Storage. Подробнее об ограничениях читайте в разделе Квоты и лимиты в Cloud Functions.

Подготовьте ZIP-архив с кодом функцииПодготовьте ZIP-архив с кодом функции

  1. Сохраните следующий код в файл с названием Handler.kt:

    data class Request(
        val httpMethod: String?,
        val headers: Map<String, String> = mapOf(),
        val body: String = ""
    )
    
    data class Response(
        val statusCode: Int,
        val body: String
    )
    
    fun handle(request: Request): Response {
        return Response(200, "Hello World!")
    }
    
  2. Добавьте файл Handler.kt в ZIP-архив hello-kotlin.zip.

Создайте версию функцииСоздайте версию функции

Консоль управления
CLI
API
Yandex Cloud Toolkit
  1. В консоли управления перейдите в каталог, в котором находится функция.
  2. Выберите сервис Cloud Functions.
  3. Выберите функцию kotlin-function.
  4. В разделе Последняя версия нажмите кнопку Создать в редакторе.
  5. Выберите среду выполнения Kotlin 2.0.
  6. Отключите опцию Добавить файлы с примерами кода и нажмите кнопку Продолжить.
  7. Задайте параметры версии:
    • Способ — ZIP-архив.
    • Файл — прикрепите файл hello-kotlin.zip.
    • Точка входа — Handler.
    • Таймаут — 3.
    • Память — 128 МБ.
    • Сервисный аккаунт — Не выбрано.
  8. Нажмите кнопку Сохранить изменения.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Чтобы создать версию функции, выполните команду:

yc serverless function version create \
  --function-name=kotlin-function \
  --runtime kotlin20 \
  --entrypoint Handler \
  --memory 128m \
  --execution-timeout 3s \
  --source-path ./hello-kotlin.zip

Где:

  • --function-name — имя функции, версию которой вы хотите создать.
  • --runtime — среда выполнения.
  • --entrypoint — точка входа, указывается в формате <имя_файла_с_функцией>.<имя_обработчика>.
  • --memory — объем RAM.
  • --execution-timeout — максимальное время выполнения функции до таймаута.
  • --source-path — ZIP-архив c кодом функции и необходимыми зависимостями.

Результат:

done (10s)
id: d4ektme8jo2d********
function_id: d4e9arrf01oh********
created_at: "2024-12-19T20:22:15.942Z"
runtime: kotlin20
entrypoint: Handler
resources:
  memory: "134217728"
execution_timeout: 3s
image_size: "4096"
status: ACTIVE
tags:
  - $latest
log_options:
  folder_id: b1gt6g8ht345********
concurrency: "1"

Создать версию функции можно с помощью метода API createVersion.

Создать версию функции можно с помощью плагина Yandex Cloud Toolkit для семейства IDE на платформе IntelliJ от JetBrains.

Вызовите функциюВызовите функцию

Примечание

Чтобы любой пользователь мог вызывать функцию, необходимо сделать ее публичной. Подробнее о правах читайте в разделе Управление доступом в Cloud Functions.

Консоль управления
CLI
HTTPS
Yandex Cloud Toolkit
  1. В консоли управления перейдите в каталог, в котором находится функция.

  2. Выберите сервис Cloud Functions.

  3. Выберите функцию.

  4. Перейдите на вкладку Тестирование.

  5. В поле Тег версии выберите $latest, чтобы вызвать последнюю версию функции.

  6. В поле Шаблон данных выберите Без шаблона.

  7. В поле Входные данные введите:

    {}
    
  8. Нажмите кнопку Запустить тест.

  9. В разделе Результат тестирования, в поле Состояние функции, будет показан статус тестирования. Важно: максимальное время выполнения функции до таймаута (включая начальную инициализацию при первом запуске) — 10 минут.

  10. В поле Ответ функции появится результат выполнения функции:

    {
        "statusCode": 200,
        "body": "Hello World!"
    }
    

Чтобы вызвать функцию, выполните команду:

yc serverless function invoke <идентификатор_функции> -d '{}'

Результат:

{"statusCode":200,"body":"Hello World!"}

По умолчанию вызывается версия функции с тегом $latest.

Ссылку для вызова функции можно найти на вкладке Обзор, в поле Ссылка для вызова.

Для обеспечения безопасности функцию можно вызвать только по протоколу HTTPS. Вызовите ее как обычный HTTPS-запрос, вставив ссылку в адресную строку браузера и добавив в URL параметр name:

https://functions.yandexcloud.net/<идентификатор_функции>

На странице появится ответ:

Hello World!

Вызвать функцию можно с помощью плагина Yandex Cloud Toolkit для семейства IDE на платформе IntelliJ от JetBrains.

Что дальшеЧто дальше

  • Прочитайте, какой должна быть структура функции для вызова разными способами (HTTP, CLI), в разделе Вызов функции в Cloud Functions.
  • Ознакомьтесь с концепциями сервиса.
  • Посмотрите, что можно делать с функциями и версиями в пошаговых инструкциях.

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

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