Join the discussions focusing on developing on top of Cognite Data Fusion. Click the + CREATE TOPIC button in the menu bar to start the conversation.
Recently active
We have requirement to update capabilities in existing groups in CDF using Python SDK/API, we can add capabilities while creating group using python SDK, but if we want to updated that created group no provision for that. we tried client.iam.groups.create(group) but it creates new group with same name, in this case how we can update capabilities in group?
I am getting following error when ingesting files from SharePoint site to CDF. send_request_body.failed exception=LocalProtocolError('Too much data for declared Content-Length')Anything I need to specify in .yaml file to allow content-length? Also how do I trace which file is causing the problem. I changed Logger to DEBUG level but still don’t see the file name info.Thanks,Zuber
How much time does it really take to build a full solution?We deployed a complete solution using Cognite CDF, Cursor, and Anthropic Claude Opus 4.6, powered heavily by Gen AI in just 4 hours.This was not just a prototype screen. It was a fully deployed solution for demo purpose.And here’s the most interesting part:All of the following steps were done using Gen AI:1️⃣ Creation of the data model in Cognite Data Fusion and the Terraform2️⃣ Deployment of the model in Cognite3️⃣ Data generation and ingestion into the Cognite Data Platform4️⃣ Development of a React application on top of Cognite using the Cognite SDK5️⃣ Creation of: Asset Map, KPIs, Production Time Series Dashboardand Well Intervention viewFrom data modeling to frontend application — accelerated with AI.This is not about replacing engineers.It’s about dramatically increasing speed, experimentation, and delivery capacity. The question is no longer “Can we build it?”It’s “How fast can we build it?”Post here!
Hello, We are using: Toolkit Version '0.5.20' We are having a file schedules.Function.yaml: - name: Run every 10 minutes to do some work functionExternalId: fn_name description: Run every 10 minutes to do some work cronExpression: "*/10 * * * *" data: extractionPipeline: "test"When deploying we have this error trace: Traceback (most recent call last): File "venv/bin/cdf-tk", line 8, in <module> sys.exit(app()) File "venv/lib/python3.10/site-packages/cognite_toolkit/_cdf.py", line 116, in app _app() File "venv/lib/python3.10/site-packages/typer/main.py", line 340, in __call__ raise e File "venv/lib/python3.10/site-packages/typer/main.py", line 323, in __call__ return get_command(self)(*args, **kwargs) File "venv/lib/python3.10/site-packages/click/core.py", line 1161, in __call__ return self.main(*args, **kwargs) File "venv/lib/python3.10/site-packages/typer/core.py", line 740, in main return _main( File "venv/lib/python3.10/site-packages/typer/core
Hello experts,We want to achieve the following workflow:Once a new instance is created/added in our datamodel container Another workflow must be triggered immediately We do not want to create a scheduled based polling to invoke our workflow since our workflow is time sensitive and high importanceCould you please let us know if CDF supports this functionality? Or suggest a way to achieve it.I have explored the CDF in my limited knowledge, I found that subscription is available on Data Model, but it is not enabled in our environment.Could you please help me in this.Thanks,Pranjul Singh
Hello esteemed members of the Cognite community,I come to you with a sense of urgency and a deep need for expert guidance. I've been attempting to familiarize myself with Cognite for the last six months, and despite my best efforts, I find myself at an impasse with some critical aspects. My situation is time-sensitive, and I am truly hoping for your assistance to navigate this complex but fascinating journey.My Setup:Environment: Google Colab (Free version)SDK: Cognite Python SDKAssets: Wind Farm with two sub-assets (Asset A and Asset B)My Goals:Connect to Cognite Project via Python SDK: I need to use my client ID and client secret to establish a connection from Google Colab.Create Hierarchical Assets: My aim is to create a parent asset, named "Wind Farm," and within this parent asset, include two child assets, Asset A and Asset B.Upload Time-Series Data from CSV: I have CSV files containing wind-speed and wind-power data for Asset A and Asset B. I need to upload these as time-series d
Hello, We are using cdf toolkit to deploy our container, views and data models.We recently added many new views, these views are dependent. i.e: they reference each other in the properties through a source block or via implements block. Here an examples of these view dependencies:- externalId: View1 implements: [] name: View1 properties: test: container: externalId: Container1 space: some_space type: container containerPropertyIdentifier: Test name: test source: externalId: View2 space: some_space type: view version: v1 space: some_space version: v1- externalId: View2 implements: [] name: View2 properties: wow: container: externalId: Container2 space: some_space type: container containerPropertyIdentifier: Test name: wow space: some_space version: v1or - externalId: Country implements: - externalId: CountryAttributes space: '{{sp_dm_dap_knowledge_graph}}_wv'
Is there a way to configure a Hosted HiveMQ Extractor to extract the data into CogniteTimeSeries and not the traditional Time Series?
In addition to using config.[env].yaml, is it possible to create a custom file for configuring variables and then reference those placeholders in data models, transformations, workflows, etc ?For instance, I have several common SQL blocks that I would like to share across different transformations. While I could define them as variables in config.[env].yaml, I prefer to keep SQL-related variables separate from others in order to maintain clarity.
We have a Cognite Function in which we are retrieving rows from staging tables using below sdk commandclient.raw.rows.retrieve_dataframe(db_name, tbl_name, limit=-1)The problem we are facing is the above command returns an empty Dataframe (0 columns, 0 rows) even though the table exists with data. The code execution does not fail but returns an empty Dataframe.When I manually/locally run the above command on the same database and tables, I get the required data.However, when running inside a CDF function it returns a Dataframe with shape (0,0)
How can we get access to work hands-on with the learning path athttps://cognite-learn.fusion.cognite.com/cdf-fundamentals/data-models?cluster=api.cognitedata.com&workspace=data-management?If not, how can we practice hands-on with Cognite Learn?
WITH archived_wells AS ( SELECT DISTINCT ac.WellId FROM cdf_nodes( 'sp_dm_dap_knowledge_graph', 'Activity', '0.71' ) ac JOIN contextualization.dap_wellview_wellid_space_mapping map ON ac.WellId = map.key WHERE map.Archived = TRUE AND ac.Archived = FALSE)SELECT s.externalId, s.space, s.WellId, true as ArchivedFROM cdf_nodes( 'sp_dm_dap_knowledge_graph', 'WellState', '0.71' ) sJOIN archived_wells aw ON s.WellId = aw.WellIdWHERE s.Archived = FALSE AND EXISTS ( SELECT 1 FROM archived_wells )WellState has 20M rows of data. To improve SQL performance, I want to use a CTE to get the IDs of archived wells and then update WellState (archived and WellId are indexed). However, I found that even when using EXISTS to check that the CTE result is empty, cdf_nodes still loads instances. In this case, shouldn’t the result just be empty?Additionally, when I replaced the CTE with a subquery,
Hi Community,Has anyone successfully configured the Cognite DB Extractor to connect to Databricks via ODBC using a service principal?I was able to connect to Databricks using a Personal Access Token (PAT), but I am experiencing issues when trying to authenticate with a service principal.Any guidance or examples would be greatly appreciated.Thanks in advance,Andre
Hi,I have a view called "Entity" in an existing model with mandatory properties "name", "description" and "isVirtual".Now, I have a new version of "Entity" in which I have decided to implement CogniteDescribable from CDM for name and description, where these fields are not mandatory.When I try to ingest data into the new version of this view, it gives me a non-writable error since the mandatory properties that I had created for the older version is not getting populated.Is there any way to overcome this?Can I map the mandatory container to the container used in CogniteDescribable, so that when I ingest data in the new version, it automatically ingests the mandatory container as well?If yes, can you please share a YAML example of the same to be deployed through toolkit?Please note that both the mandatory and non-mandatory containers have the same name "name".
Hello, We are heavely relying on transformations to transform our data from Raw (staging) service to Data Models. We notice that it has very high latency compared to a “simple” Spark job. As per our discussion with our Solution Architect we understood that the bottleneck is the Raw service. Any plans to improve this in the future? Thank you!
Hello experts,I’m looking to work with data workflows.I’m looking to trigger on node with a specific attribute (direct relation to another view) empty.I’m trying to work with the UI but I struggle with the Data modeling query validation.I don’t understand why the validation fails and what is the expected format for the query : JSON seems to be the expected format as seen here : But documentation uses YAML : https://docs.cognite.com/cdf/dm/dm_concepts/dm_querying#graph-query-examplesI’m a bit lost and I need your help. And my query : { "with":[ { "ts":{ "nodes":{ "filter":{ "exists":{ "property":[ "nameTranslations" ] } } }, "limit":1000 } } ], "select":[ { "ts":{ "sources":[ { "source":{ "type":"view", "sp
When running the following lines of code I get an error with Pydantic:from cognite.neat import NeatSessionneat = NeatSession(client)The error is as follows:---------------------------------------------------------------------------ImportError Traceback (most recent call last)Cell In[13], line 1----> 1 from cognite.neat import NeatSession 2 neat = NeatSession(client)File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\cognite\neat\__init__.py:4 1 from cognite.neat.core._utils.auth import get_cognite_client 3 from ._version import __version__----> 4 from .session import NeatSession 6 __all__ = ["NeatSession", "__version__", "get_cognite_client"]File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\cognite\neat\session\__init__.py:1----> 1 from ._base import NeatSession 3 __all__ = ["NeatSession"]File ~\AppData\Local\Programs\Python\Python311\Lib\site-packages\cognite\neat\session\_base.py:9 7 from
Hello, We are using cdf toolkit to deploy our data models. We have a relatively a big data models that uses 478 views. Each time we deploy a breaking change our data model architecture (well centric) obliges us to redeploy a new version for all views. We notice a huge deployment time at the dependencies resolution step: 2025-08-19T09:34:54+00:00 WARNING [LOW]: Failed to create 478 views: One or moreviews do not exist: 'sp_dm_mud_brines_for_ops_real_wview:Activity/0.10'.. Attempting to recover...The overall deployment time takes 35 mins, this way bigger than our standard CI/CD job duration where we try to keep it under 10min at worst. Is there a way to optimize this please? Thank you!
Hello Team,I am trying to check like how many edges(entities in my case) are null in the view(event) is there any specific way to do so? I am trying right now sdk query api like below, but not working. Please give your insights. { "with": { "Event": { "nodes": { "filter": { "hasData": [ { "type": "view", "space": "slb-pdm-dm-governed", "externalId": "Event", "version": "1_7" } ] }, "chain_to": "destination", "direction": "outwards" }, "limit": 10000 }, "Event_2_entities.Entity": { "edges": { "from": "Event", "direction": "outwards", "filter": { "and": [ { "equ
Dears,Would you please advise how can we hide specific layers (for ex. the crane) in the 3D model and then to save the updated or customised revision?is the revision editing for 3D models doable inside CDF itself or there is a specific workflow needed for it, as you can see it the snapshot below: Thank you! Fatima
Hello, In our project, we need to use TIMESTAMP_LTZ data type for our timestamps. This data type is only available in Spark starting from 3.4 version. Is it possible to upgrade your version (which is 3.3 I believe) to 3.4 at least please? Thank you
Hello, We have around ~10/15 CDF functions. We deploy these functions via cdfToolkit.We notice that deployment of new version of a function takes around ~10min in order for it to be fully available. In the worst case where we modify a common module used by all function, redeploying of all functions can reach ~30-40mins. During this time these functions are not available and results in a failure in the dependent high frequency workflows. We wonder if there is a way to accelerate deployment of new function versions. Thank you!
Hi all, looking for guidance on two issues we hit with CDF related to timeseries visibility and datamodel queries.403 error leaking timeseries externalIds:when a user without access requests a timeseries resource, a 403 error is returned as expected, but the error body contains the externalIds of the timeseries. Those externalIds are sensitive and should not be exposed to users who don’t have access.Is it expected behavior that externalIds are included in 403 error messages? If not, is there a setting / configuration / log-level that controls whether identifiers are returned in errors? Any recommended mitigation or planned fix? Datamodel query returns datapoints from unauthorized timeseriesSetup: Created dataset_1 and dataset_2 Created two timeseries, TS_A in dataset_1 and TS_B in dataset_2 Attached both TS_A and TS_B to a datamodel Granted the user only timeseries:READ scope:dataset_2 (so they should see TS_B only) Observed behavior: querying the datamodel returns datapoints for T
Hi experts, In order to decide whether to use an aggregation strategy (or no aggregation at all), I need to know the number of data points between two timestamps without aggregation (server-side calculation). I’m looking for this code of call :client.time_series.data.count(external_id=<str>, start=<int | datetime>, end=<int | datetime>) -> intI'm trying to avoid having to perform a granularity calculation Thanks !Regards,Pierre
HiWe've hit a bug in cdf-tk (reproduced on 0.8.147 and 0.8.155) when deploying containers to a brand new space.We have 98 containers in a new space. One container has no constraints, but others reference it via a requires constraint pointing to the same space. cdf-tk sends all containers in a single batch. The CDF API seems to validates requires constraints against what already exists in CDF not against other items in the same batch so it rejects the entire batch with this error:Cannot create requires constraint 'requireMetadata' in container'sp_xxx:ContainerB'.Target container 'sp_xxx:ContainerA' does not exist.cdf-tk should sort containers by their requires dependencies before batching, so dependency free containers like containerA are sent before the containers that depend on them.We'd appreciate a fix in an upcoming release, or any insights regarding this issue.Thanks
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.