Использование функции верхнего уровня для обработчика на Kotlin
Чтобы создать обработчик на Kotlin, вы можете задать функцию верхнего уровня
Пример обработчика, который принимает число и его же возвращает:
fun handle(s: Int): Int = s
Важно
Передавайте в функции верхнего уровня только один параметр.
Протестировать функцию из примера выше можно следующими способами:
-
В консоли управления
, на странице функции, на вкладке Тестирование. -
С помощью HTTPS-запроса с параметром ?integration=raw:
curl \ --header "Authorization: Bearer <IAM-тoкен>" \ --data "<число>" \ "https://functions.yandexcloud.net/<идентификатор_функции>?integration=raw"В параметре
--dataукажите число, которое должна вернуть функция.
Примеры
Обработка HTTP-запроса
Скрипт ниже обрабатывает входящий HTTP-запрос и выводит результаты обработки: код ответа HTTP и тело ответа.
Файл 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!")
}
Формат результата зависит от того, указал ли пользователь параметр ?integration=raw в запросе:
-
С параметром
?integration=raw:{ "statusCode": 200, "body": "Hello World!" } -
Без параметра
?integration=raw:"Hello World!"Код
200будет передан не в теле ответа, как в случае параметра?integration=raw, а в виде HTTP-кода ответа.
Вывод структуры HTTP-запроса
Скрипт ниже обрабатывает входящий HTTP-запрос и выводит его структуру и код ответа HTTP.
Файл Handler.kt:
data class Response(
val statusCode: Int,
val body: String
)
fun handle(request: String): Response {
return Response(200, request)
}