Вызвать функцию
Чтобы любой пользователь мог вызывать функцию без передачи заголовка авторизации, сделайте ее публичной. Подробнее о правах читайте в разделе Управление доступом в Cloud Functions.
Вызвать функцию
Для примера используется функция, описанная в разделе Создать версию функции.
-
В консоли управления
перейдите в каталог, в котором находится функция. -
Выберите сервис Cloud Functions.
-
Выберите функцию.
-
Перейдите на вкладку Тестирование.
-
В поле Тег версии укажите версию функции, которую хотите вызвать.
-
В поле Шаблон данных выберите один из вариантов:
- Без шаблона — произвольный формат данных.
- HTTPS-вызов — формат данных для вызова функции, выступающей в качестве обработчика HTTPS-запросов. Подробнее см. в разделе Концепции.
- Триггер для Message Queue — формат данных для функции, которая вызывается триггером для обработки сообщений из очереди.
- Навык Алисы — формат данных для вызова функции, принимающей запрос
от платформы Яндекс Диалоги.
-
В поле Входные данные введите входные данные для тестирования функции.
-
Нажмите кнопку Запустить тест.
-
В разделе Результат тестирования в поле Состояние функции будет показан статус тестирования. Важно: максимальное время выполнения функции до таймаута (включая начальную инициализацию при первом запуске) — 10 минут.
-
В поле Ответ функции появится результат выполнения функции.
Вы можете найти ссылку для вызова функции:
- в поле Ссылка для вызова. Для этого в консоли управления
выберите сервис Cloud Functions и нажмите на строку с нужной функцией. - в параметре
http_invoke_url
. Для этого выполните команду:yc serverless function get <имя_функции>
Чтобы узнать имя или уникальный идентификатор функции, получите список функций в каталоге.
Для обеспечения безопасности функцию можно вызвать только по протоколу HTTPS. Вызовите ее как обычный HTTPS-запрос, вставив ссылку в адресную строку браузера. Формат ссылки:
https://functions.yandexcloud.net/<идентификатор_функции>
Вы можете вызвать определенную версию функции с помощью параметра tag
. По умолчанию вызывается функция с тегом $latest
.
-
Пример вызова функции без дополнительных параметров:
https://functions.yandexcloud.net/<идентификатор_функции>
На странице появится ответ:
Hello, World!
-
Пример вызова функции с добавлением в URL параметра
name
:https://functions.yandexcloud.net/<идентификатор_функции>?name=<имя_пользователя>
На странице появится ответ:
Hello, Username!
-
Пример вызова определенной версии функции с добавлением в URL параметра
tag
:https://functions.yandexcloud.net/<идентификатор_функции>?tag=<тег_версии>
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Вы можете вызвать определенную версию функции с помощью параметра --tag
. По умолчанию вызывается функция с тегом $latest
.
Чтобы узнать имя или уникальный идентификатор функции, получите список функций в каталоге.
-
Вызовите функцию, указав в параметре имя для приветствия:
yc serverless function invoke <идентификатор_функции> -d '{"queryStringParameters": {"name": "Username"}}'
Результат:
{"statusCode": 200, "headers": {"Content-Type": "text/plain"}, "isBase64Encoded": false, "body": "Hello, Username!"}
-
Вызовите определенную версию функции с помощью параметра
--tag
:yc serverless function invoke <идентификатор_функции> --tag <тег_версии>
Вызвать функцию можно с помощью плагина Yandex Cloud Toolkit
Подробнее о том, какая должна быть структура функции для вызова разными способами (HTTPS, CLI), читайте в разделе Вызов функции в Cloud Functions.