Invoking a function
To allow any user to invoke a function without passing an authorization header, make it public. For more information about access permissions, see Access management in Cloud Functions.
Invoking a function
As an example, we use the function described in Creating a function version.
-
In the management console
, select the folder containing the function. -
Select Cloud Functions.
-
Select a function.
-
Navigate to the Testing tab.
-
In the Version tag field, specify which function version to invoke.
-
Under Payload template, choose one of the options:
- No template: Custom data format.
- HTTPS invoke: Data format for a function acting as an HTTPS request handler. For more information, see Concepts.
- Trigger for Message Queue: Data format for the function invoked by a trigger in order to process messages from the queue.
- Skill for Alice: Data format for invoking the function receiving requests
from Yandex Dialogs.
-
In the Payload, enter the input data to test the function.
-
Click Run test.
-
You will see the testing status under Test result in the Function status field. Important: Maximum function execution time before timeout (including original initialization at first invocation) is 10 minutes.
-
You will see the function execution result in the Function output field.
You can find the function invocation link in:
- Link to invoke field. Do it by selecting Cloud Functions in the management console
and clicking the row with the function. http_invoke_urlparameter. Do it by running this command:yc serverless function get <function_name>
To find out the name or unique ID of a function, get a list of functions in the folder.
For security reasons, you can only invoke a function via HTTPS. Invoke it as a regular HTTP request by inserting the function invoke link in the browser address bar. The link should have the following format:
https://functions.yandexcloud.net/<function_ID>
You can invoke a specific function version using the tag parameter. The function with the $latest tag is invoked by default.
-
Example of function invocation with no additional parameters:
https://functions.yandexcloud.net/<function_ID>The following response will appear on the page:
Hello, World! -
Example of invoking a function by adding the
nameparameter to the URL:https://functions.yandexcloud.net/<function_ID>?name=<username>The following response will appear on the page:
Hello, Username! -
Example of invoking a specific function version by adding the
tagparameter to the URL:https://functions.yandexcloud.net/<function_ID>?tag=<version_tag>
If you do not have the Yandex Cloud CLI installed yet, install and initialize it.
By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.
You can invoke a specific function version using the --tag parameter. The function with the $latest tag is invoked by default.
To find out the name or unique ID of a function, get a list of functions in the folder.
-
Invoke the function by specifying in the parameter a name for the greeting:
yc serverless function invoke <function_ID> -d '{"queryStringParameters": {"name": "Username"}}'Result:
{"statusCode": 200, "headers": {"Content-Type": "text/plain"}, "isBase64Encoded": false, "body": "Hello, Username!"} -
Invoke a specific function version using the
--tagparameter:yc serverless function invoke <function_ID> --tag <version_tag>
To learn more about the function structure required for different invocation methods (HTTPS and CLI), see Invoking a function in Cloud Functions.