Functions

Functions API

Create function

FunctionsAPI.create(name: str | cognite.client.data_classes.functions.FunctionWrite, folder: Optional[str] = None, file_id: Optional[int] = None, function_path: str = 'handler.py', function_handle: Optional[Callable] = None, external_id: Optional[str] = None, description: Optional[str] = None, owner: Optional[str] = None, secrets: Optional[dict[str, str]] = None, env_vars: Optional[dict[str, str]] = None, cpu: Optional[float] = None, memory: Optional[float] = None, runtime: Optional[Literal['py38', 'py39', 'py310', 'py311']] = None, metadata: Optional[dict[str, str]] = None, index_url: Optional[str] = None, extra_index_urls: Optional[list[str]] = None, skip_folder_validation: bool = False, data_set_id: Optional[int] = None) Function

When creating a function, the source code can be specified in one of three ways:

  • Via the folder argument, which is the path to the folder where the source code is located. function_path must point to a python file in the folder within which a function named handle must be defined.

  • Via the file_id argument, which is the ID of a zip-file uploaded to the files API. function_path must point to a python file in the zipped folder within which a function named handle must be defined.

  • Via the function_handle argument, which is a reference to a function object, which must be named handle.

The function named handle is the entrypoint of the created function. Valid arguments to handle are data, client, secrets and function_call_info: - If the user calls the function with input data, this is passed through the data argument. - If the user gives one or more secrets when creating the function, these are passed through the secrets argument. - Data about the function call can be accessed via the argument function_call_info, which is a dictionary with keys function_id, call_id, and, if the call is scheduled, schedule_id and scheduled_time.

By default, the function is deployed with the latest version of cognite-sdk. If a specific version is desired, it can be specified either in a requirements.txt file when deploying via the folder argument or between [requirements] tags when deploying via the function_handle argument (see example below).

For help with troubleshooting, please see this page.

Parameters
  • name (str | FunctionWrite) – The name of the function or a FunctionWrite object. If a FunctionWrite object is passed, all other arguments are ignored.

  • folder (str | None) – Path to the folder where the function source code is located.

  • file_id (int | None) – File ID of the code uploaded to the Files API.

  • function_path (str) – Relative path from the root folder to the file containing the handle function. Defaults to handler.py. Must be on POSIX path format.

  • function_handle (Callable | None) – Reference to a function object, which must be named handle.

  • external_id (str | None) – External id of the function.

  • description (str | None) – Description of the function.

  • owner (str | None) – Owner of this function. Typically used to know who created it.

  • secrets (dict[str, str] | None) – Additional secrets as key/value pairs. These can e.g. password to simulators or other data sources. Keys must be lowercase characters, numbers or dashes (-) and at most 15 characters. You can create at most 30 secrets, all keys must be unique.

  • env_vars (dict[str, str] | None) – Environment variables as key/value pairs. Keys can contain only letters, numbers or the underscore character. You can create at most 100 environment variables.

  • cpu (float | None) – Number of CPU cores per function. Allowed range and default value are given by the limits endpoint., and None translates to the API default. On Azure, only the default value is used.

  • memory (float | None) –

    Memory per function measured in GB. Allowed range and default value are given by the limits endpoint., and None translates to the API default. On Azure, only the default value is used.

  • runtime (RunTime | None) – The function runtime. Valid values are [“py38”, “py39”, “py310”, “py311”, None], and None translates to the API default which will change over time. The runtime “py38” resolves to the latest version of the Python 3.8 series.

  • metadata (dict[str, str] | None) – Metadata for the function as key/value pairs. Key & values can be at most 32, 512 characters long respectively. You can have at the most 16 key-value pairs, with a maximum size of 512 bytes.

  • index_url (str | None) – Index URL for Python Package Manager to use. Be aware of the intrinsic security implications of using the index_url option. More information can be found on official docs,

  • extra_index_urls (list[str] | None) –

    Extra Index URLs for Python Package Manager to use. Be aware of the intrinsic security implications of using the extra_index_urls option. More information can be found on official docs,

  • skip_folder_validation (bool) – When creating a function using the ‘folder’ argument, pass True to skip the extra validation step that attempts to import the module. Skipping can be useful when your function requires several heavy packages to already be installed locally. Defaults to False.

  • data_set_id (int | None) – Data set to upload the function code to. Note: Does not affect the function itself.

Returns

The created function.

Return type

Function

Examples

Create function with source code in folder:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> function = client.functions.create(
...     name="myfunction",
...     folder="path/to/code",
...     function_path="path/to/function.py")

Create function with file_id from already uploaded source code:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> function = client.functions.create(
...     name="myfunction", file_id=123, function_path="path/to/function.py")

Create function with predefined function object named handle:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> function = client.functions.create(name="myfunction", function_handle=handle)

Create function with predefined function object named handle with dependencies:

>>> def handle(client, data):
>>>     """
>>>     [requirements]
>>>     numpy
>>>     [/requirements]
>>>     """
>>>     pass
>>>
>>> function = client.functions.create(name="myfunction", function_handle=handle)

Note

When using a predefined function object, you can list dependencies between the tags [requirements] and [/requirements] in the function’s docstring. The dependencies will be parsed and validated in accordance with requirement format specified in PEP 508.

Delete function

FunctionsAPI.delete(id: Optional[Union[int, Sequence[int]]] = None, external_id: Optional[Union[str, SequenceNotStr[str]]] = None) None

Delete one or more functions.

Parameters
  • id (int | Sequence[int] | None) – Id or list of ids.

  • external_id (str | SequenceNotStr[str] | None) – External ID or list of external ids.

Example

Delete functions by id or external id:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> client.functions.delete(id=[1,2,3], external_id="function3")

List functions

FunctionsAPI.list(name: Optional[str] = None, owner: Optional[str] = None, file_id: Optional[int] = None, status: Optional[Literal['Queued', 'Deploying', 'Ready', 'Failed']] = None, external_id_prefix: Optional[str] = None, created_time: Optional[Union[dict[Literal['min', 'max'], int], TimestampRange]] = None, metadata: Optional[dict[str, str]] = None, limit: int | None = 25) FunctionList

List all functions.

Parameters
  • name (str | None) – The name of the function.

  • owner (str | None) – Owner of the function.

  • file_id (int | None) – The file ID of the zip-file used to create the function.

  • status (FunctionStatus | None) – Status of the function. Possible values: [“Queued”, “Deploying”, “Ready”, “Failed”].

  • external_id_prefix (str | None) – External ID prefix to filter on.

  • created_time (dict[Literal['min', 'max'], int] | TimestampRange | None) – Range between two timestamps. Possible keys are min and max, with values given as time stamps in ms.

  • metadata (dict[str, str] | None) – Custom, application-specific metadata. String key -> String value. Limits: Maximum length of key is 32, value 512 characters, up to 16 key-value pairs. Maximum size of entire metadata is 4096 bytes.

  • limit (int | None) – Maximum number of functions to return. Pass in -1, float(‘inf’) or None to list all.

Returns

List of functions

Return type

FunctionList

Example

List functions:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> functions_list = client.functions.list()

Retrieve function

FunctionsAPI.retrieve(id: Optional[int] = None, external_id: Optional[str] = None) cognite.client.data_classes.functions.Function | None

Retrieve a single function by id.

Parameters
  • id (int | None) – ID

  • external_id (str | None) – External ID

Returns

Requested function or None if it does not exist.

Return type

Function | None

Examples

Get function by id:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> res = client.functions.retrieve(id=1)

Get function by external id:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> res = client.functions.retrieve(external_id="abc")

Retrieve multiple functions

FunctionsAPI.retrieve_multiple(ids: Optional[Sequence[int]] = None, external_ids: Optional[SequenceNotStr[str]] = None, ignore_unknown_ids: bool = False) FunctionList

Retrieve multiple functions by id.

Parameters
  • ids (Sequence[int] | None) – IDs

  • external_ids (SequenceNotStr[str] | None) – External IDs

  • ignore_unknown_ids (bool) – Ignore IDs and external IDs that are not found rather than throw an exception.

Returns

The requested functions.

Return type

FunctionList

Examples

Get function by id:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> res = client.functions.retrieve_multiple(ids=[1, 2, 3])

Get functions by external id:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> res = client.functions.retrieve_multiple(external_ids=["func1", "func2"])

Call function

FunctionsAPI.call(id: Optional[int] = None, external_id: Optional[str] = None, data: Optional[dict] = None, wait: bool = True, nonce: Optional[str] = None) FunctionCall

Call a function by its ID or external ID..

Parameters
  • id (int | None) – ID

  • external_id (str | None) – External ID

  • data (dict | None) – Input data to the function (JSON serializable). This data is passed deserialized into the function through one of the arguments called data. WARNING: Secrets or other confidential information should not be passed via this argument. There is a dedicated secrets argument in FunctionsAPI.create() for this purpose.’

  • wait (bool) – Wait until the function call is finished. Defaults to True.

  • nonce (str | None) – Nonce retrieved from sessions API when creating a session. This will be used to bind the session before executing the function. If not provided, a new session will be created based on the client credentials.

Tip

You can create a session via the Sessions API, using the client.iam.session.create() method.

Returns

A function call object.

Return type

FunctionCall

Examples

Call a function by id:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> call = client.functions.call(id=1)

Call a function directly on the Function object:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> func = client.functions.retrieve(id=1)
>>> call = func.call()

Function calls

List function calls

FunctionCallsAPI.list(function_id: Optional[int] = None, function_external_id: Optional[str] = None, status: Optional[str] = None, schedule_id: Optional[int] = None, start_time: Optional[dict[str, int]] = None, end_time: Optional[dict[str, int]] = None, limit: int | None = 25) FunctionCallList

List all calls associated with a specific function id. Either function_id or function_external_id must be specified.

Parameters
  • function_id (int | None) – ID of the function on which the calls were made.

  • function_external_id (str | None) – External ID of the function on which the calls were made.

  • status (str | None) – Status of the call. Possible values [“Running”, “Failed”, “Completed”, “Timeout”].

  • schedule_id (int | None) – Schedule id from which the call belongs (if any).

  • start_time (dict[str, int] | None) – Start time of the call. Possible keys are min and max, with values given as time stamps in ms.

  • end_time (dict[str, int] | None) – End time of the call. Possible keys are min and max, with values given as time stamps in ms.

  • limit (int | None) – Maximum number of function calls to list. Pass in -1, float(‘inf’) or None to list all Function Calls.

Returns

List of function calls

Return type

FunctionCallList

Examples

List function calls:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> calls = client.functions.calls.list(function_id=1)

List function calls directly on a function object:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> func = client.functions.retrieve(id=1)
>>> calls = func.list_calls()

Retrieve function call

FunctionCallsAPI.retrieve(call_id: int, function_id: Optional[int] = None, function_external_id: Optional[str] = None) cognite.client.data_classes.functions.FunctionCall | None

Retrieve a single function call by id.

Parameters
  • call_id (int) – ID of the call.

  • function_id (int | None) – ID of the function on which the call was made.

  • function_external_id (str | None) – External ID of the function on which the call was made.

Returns

Requested function call or None if either call ID or function identifier is not found.

Return type

FunctionCall | None

Examples

Retrieve single function call by id:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> call = client.functions.calls.retrieve(call_id=2, function_id=1)

Retrieve function call directly on a function object:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> func = client.functions.retrieve(id=1)
>>> call = func.retrieve_call(id=2)

Retrieve function call response

FunctionCallsAPI.get_response(call_id: int, function_id: Optional[int] = None, function_external_id: Optional[str] = None) dict | None

Retrieve the response from a function call.

Parameters
  • call_id (int) – ID of the call.

  • function_id (int | None) – ID of the function on which the call was made.

  • function_external_id (str | None) – External ID of the function on which the call was made.

Returns

Response from the function call.

Return type

dict | None

Examples

Retrieve function call response by call ID:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> response = client.functions.calls.get_response(call_id=2, function_id=1)

Retrieve function call response directly on a call object:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> call = client.functions.calls.retrieve(call_id=2, function_id=1)
>>> response = call.get_response()

Retrieve function call logs

FunctionCallsAPI.get_logs(call_id: int, function_id: Optional[int] = None, function_external_id: Optional[str] = None) FunctionCallLog

Retrieve logs for function call.

Parameters
  • call_id (int) – ID of the call.

  • function_id (int | None) – ID of the function on which the call was made.

  • function_external_id (str | None) – External ID of the function on which the call was made.

Returns

Log for the function call.

Return type

FunctionCallLog

Examples

Retrieve function call logs by call ID:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> logs = client.functions.calls.get_logs(call_id=2, function_id=1)

Retrieve function call logs directly on a call object:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> call = client.functions.calls.retrieve(call_id=2, function_id=1)
>>> logs = call.get_logs()

Function schedules

Retrieve function schedule

FunctionSchedulesAPI.retrieve(id: int, ignore_unknown_ids: bool = False) cognite.client.data_classes.functions.FunctionSchedule | None
FunctionSchedulesAPI.retrieve(id: Sequence[int], ignore_unknown_ids: bool = False) FunctionSchedulesList

Retrieve a single function schedule by id.

Parameters
  • id (int | Sequence[int]) – Schedule ID

  • ignore_unknown_ids (bool) – Ignore IDs that are not found rather than throw an exception.

Returns

Requested function schedule or None if not found.

Return type

FunctionSchedule | None | FunctionSchedulesList

Examples

Get function schedule by id:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> res = client.functions.schedules.retrieve(id=1)

List function schedules

FunctionSchedulesAPI.list(name: Optional[str] = None, function_id: Optional[int] = None, function_external_id: Optional[str] = None, created_time: Optional[Union[dict[str, int], TimestampRange]] = None, cron_expression: Optional[str] = None, limit: int | None = 25) FunctionSchedulesList

List all schedules associated with a specific project.

Parameters
  • name (str | None) – Name of the function schedule.

  • function_id (int | None) – ID of the function the schedules are linked to.

  • function_external_id (str | None) – External ID of the function the schedules are linked to.

  • created_time (dict[str, int] | TimestampRange | None) – Range between two timestamps. Possible keys are min and max, with values given as time stamps in ms.

  • cron_expression (str | None) – Cron expression.

  • limit (int | None) – Maximum number of schedules to list. Pass in -1, float(‘inf’) or None to list all.

Returns

List of function schedules

Return type

FunctionSchedulesList

Examples

List function schedules:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> schedules = client.functions.schedules.list()

List schedules directly on a function object to get only schedules associated with this particular function:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> func = client.functions.retrieve(id=1)
>>> schedules = func.list_schedules(limit=None)

Create function schedule

FunctionSchedulesAPI.create(name: str | cognite.client.data_classes.functions.FunctionScheduleWrite, cron_expression: Optional[str] = None, function_id: Optional[int] = None, function_external_id: Optional[str] = None, client_credentials: Optional[Union[dict, ClientCredentials]] = None, description: Optional[str] = None, data: Optional[dict] = None) FunctionSchedule

Create a schedule associated with a specific project.

Parameters
  • name (str | FunctionScheduleWrite) – Name of the schedule or FunctionSchedule object. If a function schedule object is passed, the other arguments are ignored except for the client_credentials argument.

  • cron_expression (str | None) – Cron expression.

  • function_id (int | None) – Id of the function to attach the schedule to.

  • function_external_id (str | None) – External id of the function to attach the schedule to. Will be converted to (internal) ID before creating the schedule.

  • client_credentials (dict | ClientCredentials | None) – Instance of ClientCredentials or a dictionary containing client credentials: ‘client_id’ and ‘client_secret’.

  • description (str | None) – Description of the schedule.

  • data (dict | None) – Data to be passed to the scheduled run.

Returns

Created function schedule.

Return type

FunctionSchedule

Warning

Do not pass secrets or other confidential information via the data argument. There is a dedicated secrets argument in FunctionsAPI.create() for this purpose.

Passing the reference to the Function by function_external_id is just here as a convenience to the user. The API require that all schedules must be attached to a Function by (internal) ID for authentication- and security purposes. This means that the lookup to get the ID is first done on behalf of the user.

Examples

Create a function schedule that runs using specified client credentials (recommended):

>>> import os
>>> from cognite.client import CogniteClient
>>> from cognite.client.data_classes import ClientCredentials
>>> client = CogniteClient()
>>> schedule = client.functions.schedules.create(
...     name="My schedule",
...     function_id=123,
...     cron_expression="*/5 * * * *",
...     client_credentials=ClientCredentials("my-client-id", os.environ["MY_CLIENT_SECRET"]),
...     description="This schedule does magic stuff.",
...     data={"magic": "stuff"},
... )

You may also create a schedule that runs with your -current- credentials, i.e. the same credentials you used to instantiate the CogniteClient (that you’re using right now). Note: Unless you happen to already use client credentials, this is not a recommended way to create schedules, as it will create an explicit dependency on your user account, which it will run the function “on behalf of” (until the schedule is eventually removed):

>>> schedule = client.functions.schedules.create(
...     name="My schedule",
...     function_id=456,
...     cron_expression="*/5 * * * *",
...     description="A schedule just used for some temporary testing.",
... )

Delete function schedule

FunctionSchedulesAPI.delete(id: int) None

Delete a schedule associated with a specific project.

Parameters

id (int) – Id of the schedule

Examples

Delete function schedule:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> client.functions.schedules.delete(id = 123)

Get function schedule input data

FunctionSchedulesAPI.get_input_data(id: int) dict | None

Retrieve the input data to the associated function. :param id: Id of the schedule :type id: int

Returns

Input data to the associated function or None if not set. This data is passed deserialized into the function through the data argument.

Return type

dict | None

Examples

Get schedule input data:

>>> from cognite.client import CogniteClient
>>> client = CogniteClient()
>>> client.functions.schedules.get_input_data(id=123)

Data classes

class cognite.client.data_classes.functions.Function(id: int | None = None, name: str | None = None, external_id: str | None = None, description: str | None = None, owner: str | None = None, status: str | None = None, file_id: int | None = None, function_path: str = 'handler.py', created_time: int | None = None, secrets: dict[str, str] | None = None, env_vars: dict[str, str] | None = None, cpu: float | None = None, memory: float | None = None, runtime: str | None = None, runtime_version: str | None = None, metadata: dict[str, str] | None = None, error: dict | None = None, cognite_client: CogniteClient | None = None)

Bases: FunctionCore

A representation of a Cognite Function. This is the reading version, which is used when retrieving a function.

Parameters
  • id (int | None) – ID of the function.

  • name (str | None) – Name of the function.

  • external_id (str | None) – External id of the function.

  • description (str | None) – Description of the function.

  • owner (str | None) – Owner of the function.

  • status (str | None) – Status of the function.

  • file_id (int | None) – File id of the code represented by this object.

  • function_path (str) – Relative path from the root folder to the file containing the handle function. Defaults to handler.py. Must be on posix path format.

  • created_time (int | None) – Created time in UNIX.

  • secrets (dict[str, str] | None) – Secrets attached to the function ((key, value) pairs).

  • env_vars (dict[str, str] | None) – User specified environment variables on the function ((key, value) pairs).

  • cpu (float | None) –

    Number of CPU cores per function. Allowed range and default value are given by the limits endpoint., and None translates to the API default. On Azure, only the default value is used.

  • memory (float | None) –

    Memory per function measured in GB. Allowed range and default value are given by the limits endpoint., and None translates to the API default. On Azure, only the default value is used.

  • runtime (str | None) – Runtime of the function. Allowed values are [“py38”, “py39”,”py310”, “py311”]. The runtime “py38” resolves to the latest version of the Python 3.8 series.

  • runtime_version (str | None) – The complete specification of the function runtime with major, minor and patch version numbers.

  • metadata (dict[str, str] | None) – Metadata associated with a function as a set of key:value pairs.

  • error (dict | None) – Dictionary with keys “message” and “trace”, which is populated if deployment fails.

  • cognite_client (CogniteClient | None) – An optional CogniteClient to associate with this data class.

as_write() FunctionWrite

Returns a writeable version of this function.

call(data: Optional[dict] = None, wait: bool = True) FunctionCall

Call this particular function.

Parameters
  • data (dict | None) – Input data to the function (JSON serializable). This data is passed deserialized into the function through one of the arguments called data. WARNING: Secrets or other confidential information should not be passed via this argument. There is a dedicated secrets argument in FunctionsAPI.create() for this purpose.

  • wait (bool) – Wait until the function call is finished. Defaults to True.

Returns

A function call object.

Return type

FunctionCall

list_calls(status: Optional[str] = None, schedule_id: Optional[int] = None, start_time: Optional[dict[str, int]] = None, end_time: Optional[dict[str, int]] = None, limit: int | None = 25) FunctionCallList

List all calls to this function.

Parameters
  • status (str | None) – Status of the call. Possible values [“Running”, “Failed”, “Completed”, “Timeout”].

  • schedule_id (int | None) – Schedule id from which the call belongs (if any).

  • start_time (dict[str, int] | None) – Start time of the call. Possible keys are min and max, with values given as time stamps in ms.

  • end_time (dict[str, int] | None) – End time of the call. Possible keys are min and max, with values given as time stamps in ms.

  • limit (int | None) – Maximum number of function calls to list. Pass in -1, float(‘inf’) or None to list all Function Calls.

Returns

List of function calls

Return type

FunctionCallList

list_schedules(limit: int | None = 25) FunctionSchedulesList

List all schedules associated with this function.

Parameters

limit (int | None) – Maximum number of schedules to list. Pass in -1, float(‘inf’) or None to list all.

Returns

List of function schedules

Return type

FunctionSchedulesList

retrieve_call(id: int) cognite.client.data_classes.functions.FunctionCall | None

Retrieve call by id.

Parameters

id (int) – ID of the call.

Returns

Requested function call or None if not found.

Return type

FunctionCall | None

update() None

Update the function object. Can be useful to check for the latet status of the function (‘Queued’, ‘Deploying’, ‘Ready’ or ‘Failed’).

class cognite.client.data_classes.functions.FunctionCall(id: int | None = None, start_time: int | None = None, end_time: int | None = None, scheduled_time: int | None = None, status: str | None = None, schedule_id: int | None = None, error: dict | None = None, function_id: int | None = None, cognite_client: CogniteClient | None = None)

Bases: CogniteResource

A representation of a Cognite Function call.

Parameters
  • id (int | None) – A server-generated ID for the object.

  • start_time (int | None) – Start time of the call, measured in number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.

  • end_time (int | None) – End time of the call, measured in number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.

  • scheduled_time (int | None) – Scheduled time of the call, measured in number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.

  • status (str | None) – Status of the function call (“Running”, “Completed” or “Failed”).

  • schedule_id (int | None) – The schedule id belonging to the call.

  • error (dict | None) – Error from the function call. It contains an error message and the stack trace.

  • function_id (int | None) – No description.

  • cognite_client (CogniteClient | None) – An optional CogniteClient to associate with this data class.

get_logs() FunctionCallLog

Retrieve logs for this function call.

Returns

Log for the function call.

Return type

FunctionCallLog

get_response() dict | None

Retrieve the response from this function call.

Returns

Response from the function call.

Return type

dict | None

update() None

Update the function call object. Can be useful if the call was made with wait=False.

class cognite.client.data_classes.functions.FunctionCallList(resources: Iterable[Any], cognite_client: CogniteClient | None = None)

Bases: CogniteResourceList[FunctionCall], InternalIdTransformerMixin

class cognite.client.data_classes.functions.FunctionCallLog(resources: Iterable[Any], cognite_client: CogniteClient | None = None)

Bases: CogniteResourceList[FunctionCallLogEntry]

A collection of function call log entries.

to_text(with_timestamps: bool = False) str

Return a new-line delimited string of the log entry messages, optionally with entry timestamps.

Parameters

with_timestamps (bool) – Whether to include entry timestamps in the output. Defaults to False.

Returns

new-line delimited log entries.

Return type

str

class cognite.client.data_classes.functions.FunctionCallLogEntry(timestamp: int | None = None, message: str | None = None, cognite_client: CogniteClient | None = None)

Bases: CogniteResource

A log entry for a function call.

Parameters
  • timestamp (int | None) – The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.

  • message (str | None) – Single line from stdout / stderr.

  • cognite_client (CogniteClient | None) – No description.

class cognite.client.data_classes.functions.FunctionCallsFilter(status: Optional[str] = None, schedule_id: Optional[int] = None, start_time: Optional[Union[dict[str, int], TimestampRange]] = None, end_time: Optional[Union[dict[str, int], TimestampRange]] = None)

Bases: CogniteFilter

class cognite.client.data_classes.functions.FunctionCore(name: Optional[str] = None, external_id: Optional[str] = None, description: Optional[str] = None, owner: Optional[str] = None, file_id: Optional[int] = None, function_path: str = 'handler.py', secrets: Optional[dict[str, str]] = None, env_vars: Optional[dict[str, str]] = None, cpu: Optional[float] = None, memory: Optional[float] = None, runtime: Optional[str] = None, metadata: Optional[dict[str, str]] = None)

Bases: WriteableCogniteResource[FunctionWrite], ABC

A representation of a Cognite Function.

Parameters
  • name (str | None) – Name of the function.

  • external_id (str | None) – External id of the function.

  • description (str | None) – Description of the function.

  • owner (str | None) – Owner of the function.

  • file_id (int | None) – File id of the code represented by this object.

  • function_path (str) – Relative path from the root folder to the file containing the handle function. Defaults to handler.py. Must be on posix path format.

  • secrets (dict[str, str] | None) – Secrets attached to the function ((key, value) pairs).

  • env_vars (dict[str, str] | None) – User specified environment variables on the function ((key, value) pairs).

  • cpu (float | None) –

    Number of CPU cores per function. Allowed range and default value are given by the limits endpoint., and None translates to the API default. On Azure, only the default value is used.

  • memory (float | None) –

    Memory per function measured in GB. Allowed range and default value are given by the limits endpoint., and None translates to the API default. On Azure, only the default value is used.

  • runtime (str | None) – Runtime of the function. Allowed values are [“py38”, “py39”,”py310”, “py311”]. The runtime “py38” resolves to the latest version of the Python 3.8 series.

  • metadata (dict[str, str] | None) – Metadata associated with a function as a set of key:value pairs.

class cognite.client.data_classes.functions.FunctionFilter(name: Optional[str] = None, owner: Optional[str] = None, file_id: Optional[int] = None, status: Optional[Literal['Queued', 'Deploying', 'Ready', 'Failed']] = None, external_id_prefix: Optional[str] = None, created_time: Optional[Union[dict[Literal['min', 'max'], int], TimestampRange]] = None, metadata: Optional[dict[str, str]] = None)

Bases: CogniteFilter

class cognite.client.data_classes.functions.FunctionList(resources: Iterable[Any], cognite_client: CogniteClient | None = None)

Bases: WriteableCogniteResourceList[FunctionWrite, Function], IdTransformerMixin

as_write() FunctionWriteList

Returns a writeable version of this function.

class cognite.client.data_classes.functions.FunctionSchedule(id: int | None = None, name: str | None = None, function_id: int | None = None, function_external_id: str | None = None, description: str | None = None, created_time: int | None = None, cron_expression: str | None = None, session_id: int | None = None, when: str | None = None, cognite_client: CogniteClient | None = None)

Bases: FunctionScheduleCore

A representation of a Cognite Function Schedule. This is the reading version, which is used when retrieving a function schedule.

Parameters
  • id (int | None) – ID of the schedule.

  • name (str | None) – Name of the function schedule.

  • function_id (int | None) – ID of the function.

  • function_external_id (str | None) – External id of the function.

  • description (str | None) – Description of the function schedule.

  • created_time (int | None) – The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.

  • cron_expression (str | None) – Cron expression

  • session_id (int | None) – ID of the session running with the schedule.

  • when (str | None) – When the schedule will trigger, in human readable text (server generated from cron_expression).

  • cognite_client (CogniteClient | None) – An optional CogniteClient to associate with this data class.

as_write() FunctionScheduleWrite

Returns a writeable version of this function schedule.

get_input_data() dict | None

Retrieve the input data to the associated function.

Returns

Input data to the associated function or None if not set. This data is passed deserialized into the function through the data argument.

Return type

dict | None

class cognite.client.data_classes.functions.FunctionScheduleCore(name: Optional[str] = None, function_id: Optional[int] = None, function_external_id: Optional[str] = None, description: Optional[str] = None, cron_expression: Optional[str] = None)

Bases: WriteableCogniteResource[FunctionScheduleWrite], ABC

A representation of a Cognite Function Schedule.

Parameters
  • name (str | None) – Name of the function schedule.

  • function_id (int | None) – Id of the function.

  • function_external_id (str | None) – External id of the function.

  • description (str | None) – Description of the function schedule.

  • cron_expression (str | None) – Cron expression

class cognite.client.data_classes.functions.FunctionScheduleWrite(name: str, cron_expression: str, function_id: Optional[int] = None, function_external_id: Optional[str] = None, description: Optional[str] = None, data: Optional[dict] = None)

Bases: FunctionScheduleCore

A representation of a Cognite Function Schedule.

Parameters
  • name (str) – Name of the function schedule.

  • cron_expression (str) – Cron expression

  • function_id (int | None) – ID of the function.

  • function_external_id (str | None) – External ID of the function.

  • description (str | None) – Description of the function schedule.

  • data (dict | None) – Input data to the function (only present if provided on the schedule). This data is passed deserialized into the function through one of the arguments called data. WARNING: Secrets or other confidential information should not be passed via the data object. There is a dedicated secrets object in the request body to “Create functions” for this purpose.

as_write() FunctionScheduleWrite

Returns this FunctionScheduleWrite instance.

class cognite.client.data_classes.functions.FunctionScheduleWriteList(resources: Iterable[Any], cognite_client: CogniteClient | None = None)

Bases: CogniteResourceList[FunctionScheduleWrite]

class cognite.client.data_classes.functions.FunctionSchedulesFilter(name: Optional[str] = None, function_id: Optional[int] = None, function_external_id: Optional[str] = None, created_time: Optional[Union[dict[str, int], TimestampRange]] = None, cron_expression: Optional[str] = None)

Bases: CogniteFilter

class cognite.client.data_classes.functions.FunctionSchedulesList(resources: Iterable[Any], cognite_client: CogniteClient | None = None)

Bases: WriteableCogniteResourceList[FunctionScheduleWrite, FunctionSchedule], InternalIdTransformerMixin

as_write() FunctionScheduleWriteList

Returns a writeable version of this function schedule.

class cognite.client.data_classes.functions.FunctionWrite(name: str, file_id: int, external_id: Optional[str] = None, description: Optional[str] = None, owner: Optional[str] = None, function_path: str = 'handler.py', secrets: Optional[dict[str, str]] = None, env_vars: Optional[dict[str, str]] = None, cpu: Optional[float] = None, memory: Optional[float] = None, runtime: Optional[Literal['py38', 'py39', 'py310', 'py311']] = None, metadata: Optional[dict[str, str]] = None, index_url: Optional[str] = None, extra_index_urls: Optional[list[str]] = None)

Bases: FunctionCore

A representation of a Cognite Function. This is the writing version, which is used when creating a function.

Parameters
  • name (str) – Name of the function.

  • file_id (int) – File id of the code represented by this object.

  • external_id (str | None) – External id of the function.

  • description (str | None) – Description of the function.

  • owner (str | None) – Owner of the function.

  • function_path (str) – Relative path from the root folder to the file containing the handle function. Defaults to handler.py. Must be on posix path format.

  • secrets (dict[str, str] | None) – Secrets attached to the function ((key, value) pairs).

  • env_vars (dict[str, str] | None) – User specified environment variables on the function ((key, value) pairs).

  • cpu (float | None) –

    Number of CPU cores per function. Allowed range and default value are given by the limits endpoint., and None translates to the API default. On Azure, only the default value is used.

  • memory (float | None) –

    Memory per function measured in GB. Allowed range and default value are given by the limits endpoint., and None translates to the API default. On Azure, only the default value is used.

  • runtime (RunTime | None) – Runtime of the function. Allowed values are [“py38”, “py39”,”py310”, “py311”]. The runtime “py38” resolves to the latest version of the Python 3.8 series.

  • metadata (dict[str, str] | None) – Metadata associated with a function as a set of key:value pairs.

  • index_url (str | None) – Specify a different python package index, allowing for packages published in private repositories. Supports basic HTTP authentication as described in pip basic authentication. See the documentation for additional information related to the security risks of using this option.

  • extra_index_urls (list[str] | None) – Extra package index URLs to use when building the function, allowing for packages published in private repositories. Supports basic HTTP authentication as described in pip basic authentication. See the documentation for additional information related to the security risks of using this option.

as_write() FunctionWrite

Returns this FunctionWrite instance.

class cognite.client.data_classes.functions.FunctionWriteList(resources: Iterable[Any], cognite_client: CogniteClient | None = None)

Bases: CogniteResourceList[FunctionWrite], ExternalIDTransformerMixin

class cognite.client.data_classes.functions.FunctionsLimits(timeout_minutes: int, cpu_cores: dict[str, float], memory_gb: dict[str, float], runtimes: list[str], response_size_mb: Optional[int] = None)

Bases: CogniteResponse

Service limits for the associated project.

Parameters
  • timeout_minutes (int) – Timeout of each function call.

  • cpu_cores (dict[str, float]) – The number of CPU cores per function execution (i.e. function call).

  • memory_gb (dict[str, float]) – The amount of available memory in GB per function execution (i.e. function call).

  • runtimes (list[str]) – Available runtimes. For example, “py39” translates to the latest version of the Python 3.9.x series.

  • response_size_mb (int | None) – Maximum response size of function calls.

class cognite.client.data_classes.functions.FunctionsStatus(status: str)

Bases: CogniteResponse

Activation Status for the associated project.

Parameters

status (str) – Activation Status for the associated project.