Ingest

async AsyncCogniteClient.data_modeling.records.ingest(
items: RecordWrite | Sequence[RecordWrite],
*,
stream_id: str,
) None

Ingest records into a stream.

Creates new records. For immutable streams, duplicate records (identical space, externalId, and all property values) are silently discarded. For mutable streams, duplicate space + externalId within a single batch returns a 422.

Parameters:
  • items (RecordWrite | Sequence[RecordWrite]) – One or more records to ingest.

  • stream_id (str) – External ID of the stream to ingest into.

Examples

Ingest a single record:

>>> from cognite.client import CogniteClient
>>> from cognite.client.data_classes.data_modeling.records import (
...     RecordWrite,
...     RecordContainerId,
...     RecordSource,
... )
>>> client = CogniteClient()
>>> client.data_modeling.records.ingest(
...     RecordWrite(
...         space="my-space",
...         external_id="rec-1",
...         sources=[
...             RecordSource(
...                 source=RecordContainerId(
...                     space="my-space", external_id="my-container"
...                 ),
...                 properties={"temperature": 22.5},
...             )
...         ],
...     ),
...     stream_id="my-stream",
... )