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
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
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
We have an app deployed in abp-sandbox for “offshore regulatory assistance” (Flows + KG-RAG agent) on the Agent API (`az-ams-sp-002`, `cdf-version: beta`). While developing document export, I've encountered a reproducible failure pattern:Generation calls with complex instructions and/or long input intermittently return HTTP 200 with empty `content.text` — no error signal. The failure threshold shifted within hours on identical configuration: a 28.7K prompt succeeded at 18:15, 25K failed 12/12 an hour later, 15K succeeded at 21:49. Compression/summarization calls of similar size succeeded in the same window where generation calls failed.A report with the full test matrix is attached.Questions for Cognite (prepared with AI assistance):1. Could the endpoint return an explicit error/finish-reason instead of an empty 200?2. Are there documented practical limits for input size × instruction complexity?3. What is the roadmap status for streaming or async chat?4. Does a plain LLM endpoint with
Hi,Context:We currently organize our data in CDF using a per-country partitioning strategy, where each country has its own space.This approach was chosen primarily to restrict data access by country in a fine-grained manner.On top of that, we expose data models grouped by Business Object, such as Well Architecture, Cost Model, etc.Each Business Object model aggregates several data objects under a common business theme, which also allows us to control access by business domain in addition to country-based access.We are now planning to integrate a large amount of historical data, which will likely increase our model size by around 4x.These historical datasets are rarely queried, but we want to make sure their addition does not degrade performance for operational data — both in query latency and data ingestion throughput.We are evaluating two potential strategies: Keep everything in the same spaces, adding an indexed attribute (e.g., is_legacy = true) to distinguish legacy records. Crea
Hello, we are facing an SSL issue while trying to connect to cognite even if we’re disabling SSL verification.Could you please help ?from cognite.client import ClientConfig, CogniteClientfrom cognite.client.credentials import OAuthClientCredentialsfrom cognite.client.config import global_configglobal_config.disable_ssl = Truecreds = OAuthClientCredentials( **{ "client_id": "", "client_secret": "", "token_url": "", "scopes": ["https://westeurope-1.cognitedata.com/.default"], } )def get_cognite_client(project: str) -> CogniteClient: return CogniteClient( ClientConfig( client_name="Python-jupyter", project=project, credentials=creds, base_url="https://westeurope-1.cognitedata.com", ) )client = get_cognite_client("totalenergies-sandbox")res = client.units.list().to_pandas()------------------------------------------------------------------------------------
I am using CogniteSdk c# to query data model from CDF. When I tried to execute it, it did not return row items. Instead it just returned below result:What is the correct way to use the DataModel in C# CogniteSdk to return rows of data as per below?
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.
Across multiple javascript projects, we use the @cognite/sdk. We observe some strange behaviour when it comes to authentication and see the Chrome network panel full of HTTP 401 calls. When debugging the issue, we see that the getToken method supplied to the CogniteClient class only gets called some times. And when it does, the code on our part successfully retrieves a valid token. This leads to some unwanted behaviour and the user sometimes needs to refresh the browser in order to correct the browser state.I suspect the fact that we make a new instance of CogniteClient everytime we use it could be the culprit. I read from the source code baseCogniteClient.ts that the getToken function is not called each time in order to “To prevent calling `getToken` method multiple times in parallel”. Not that I am really able to follow this behaviour over multiple instances of the client.Any pointers as to what might cause this problem?const getToken = async () => { // this code only hits some t
Need help ASAP since this is on a customer’s system Using Core Data Model + Extended Timeseries container/viewUsing Pi Extractor against Rockwell Historiansee attached video for problem description and some configuration
Hi,We're using the Cognite DB extractor (version 3.9.2) with a MongoDB database (Azure Cosmos DB via the MongoDB API) and are trying to set up incremental loading.The documentation for mongodb (https://docs.cognite.com/cdf/integration/guides/extraction/configuration/db#databases.mongodb) doesn't mention the use of start_at and incremental_field but after testing them and looking at the debug logs, we can see the extractor sends the {start_at} placeholder literally without substituting the state value. My questions are: 1. Is start_at substitution supported at all for MongoDB JSON queries, or is it SQL-only? 2. If incremental loading is not supported for MongoDB, is there a recommended workaround?Thanks.
Hello, We are facing an issue using private SSL certificate with Cognite REST extractor, we are receiving this error: While executing request to <URL>: HTTP response error: 400 Bad Request. Body: <html> <head><title>400 No required SSL certificate was sent</title></head> <body> <center><h1>400 Bad Request</h1></center> <center>No required SSL certificate was sent</center> It seems that the extractor does not send the certificate, could you please help? Thanks!
Hi,I have been updating the beta documentation a bit since the last edition linked in the invitation. This applies to both the planned standard Cognite documentation, and the developer API documentation. All of the documents are available using a direct link to our document rendering services (linked below), and should be updated as we privately deploy new information.Note that all of these documents are works in progress with ongoing updates, so please forgive any typos, omissions, and other errors at this stage: Streams API documentation Records API documentation Capabilities for CDF Records Updated Data Modeling concepts page Concepts page for CDF Records (and Streams) Example high level use case (alarms) for CDF RecordsPlease do not share these documents.
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
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 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!
Use CaseI am building a dashboard in Power BI that will visualize Events from CDF (about one million events per year). So to make the solution scale I want to use incremental refresh of the semantic model so I only refresh the model with the newest Events since the last refresh.I have followed your tutorial on Incremental refresh (which seems copy/paste of Microsoft’s tutorial), but I still have questions:What happens if the StartTime attribute of an Event is a date/time/zone when loaded into the model? The attribute needs to be a date/time type, which means I need to convert the type first. How will the incremental refresh work if the model needs to load the data in order to convert the type, and then apply the RangeStart/RangeEnd filters? Can I use Incremental refersh with the new REST API Connector? When I load events with the new connector I get the start times as number of milliseconds since epoch. So the type conversion from above also applies here. Thanks for your help!Anders
Hi Team,Our observation while storing duplicate entries in Cognite Streams:Mutable Streams - It discards the duplicate entries consistently.Immutable Streams - It sometimes allow exact duplicate entries (externalId and other fields) and sometimes it doesn’t.Even when we checked in the Cognite AI, it says it usually doesn’t allow duplicate entries but in some rare scenarios, it allows.Could you please let us know the behavior. If it allows in rare scenarios, please let us know the exact scenarios.Thanks,Rahul
Hello,I’m looking to compute the standard deviation of a timeseries on the fly with synthetic timeseries.I expected to use this pseudocode formula : sqrt(avg(pow(TS{externalid}-avg(TS{externalid}),2))) with endpoint :client.time_series.data.synthetic.query( expressions=expression, start="2w-ago", end="now")Unfortunately, avg expect at least 2 inputs, I try to switch to aggregate feature but I found it available only for timeseries, not synthetic timeseries.expression = '''sqrt( avg( pow( ts{ID} - ts{ID, aggregate="average", granularity="14d"}, 2 ) ))'''Do you have any tips or workaround to compute this value when “start” value changes ? Dont hesitate to explain I'm open to any opportunity to calculate this metric using another method.Thanks in advance,Pierre edit : I find this function in additionnal library : Rolling standard deviation of data points time delta — indsl 8.7.0 documentation but i’m looking for a answer without additionn
I am new to extending CogniteCore data model to further extend. How to Import CogniteCore datamodel to further extend in a new datamodel space.
What capabilities are required to run a transformation using client credentials? I have a client_id and client_secret that when I add to the transformation and hit ‘Test credentials’ it says ‘Credentials verified’. However when I run with client credentials I get an error: Transformation job could not be created. Error code: 403 API error: Invalid source/destination credentials: Token did not provide access to project kuraray-america. Request ID: eb5136ee-594d-971f-b27a-7be0d1a60b15these credentials are a part of a group that that has read and write capabilities to:transformations sessions datamodelinstances (that is what this particular trasformation is creating)Additionally I am part of the same groups as this client_id, and I am able to run the transformation using ‘run as current user’ successfully
I am facing issue of jupyter notebook getting crashed frequently. Sharing the image for reference.
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
Hi,I understand that we can define properties on edges, but it isn’t clear from the documentation how these properties are populated. I am trying to implement the following modelAnd defined the data model using DML as follows How can I add a UserActivity edge with properties start_time and stop_time, that I can read while listing all the activities that a User has performed?Thank you
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)
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?