Invoking a function
To allow any user to invoke a function without passing an authorization header, make it public. For more information about access rights, 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 your function. -
Select Cloud Functions.
-
Select a function.
-
Go 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 call) 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. To do this, in the management console
, select Cloud Functions and click the required function row. http_invoke_url
parameter. To do this, run the following 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 function invocation with the
name
parameter added 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 with the
tag
parameter added to the URL:https://functions.yandexcloud.net/<function_ID>?tag=<version_tag>
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder 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 version of the function using the
--tag
parameter:yc serverless function invoke <function_ID> --tag <version_tag>
You can call a function using the Yandex Cloud Toolkit plugin
For more information about the structure of functions called in different ways (HTTPS or CLI), see Invoking a function in Cloud Functions.