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
Hello Experts,I’m trying to use advanced filter on timeseries through SDK. I can do what I want except in the following situation: the asset_id property is null. Can anyone help me?I tried :from cognite.client.data_classes.time_series import TimeSeriesPropertyf = filters.And( filters.Equals("data_set_id", 123456), filters.Equals("name", "foobar"), filters.Equals(TimeSeriesProperty.asset_id, ""))[advancedFilter.[2].equals.value A string is not a valid value for the property "assetId"]from cognite.client.data_classes.time_series import TimeSeriesPropertyf = filters.And( filters.Equals("data_set_id", 123456), filters.Not(filters.Exists(TimeSeriesProperty.asset_id)),)-> 0I’m sure there is timeseries where timeseries.asset_id is None.Thanks experts !Regards,Pierre Rambourg
Hello, Is it possible to be alerted by email when a function or a workflow invocation fails? 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
I have created and published an Atlas AI agent which I am able to use from CogniteUI. I tried to use this agent via Cognite SDK. I am able to list all agents and able to retrieve my agent. However, when I tried to send Message to my agent I got following errorclient.agents.chat(agent_external_id= “external_id”, messages= Message("Provide list of wells in Field"))CogniteAPIError: Agents with tools that run on the client side are not supported for non-Fusion users. | code: 400 | X-Request-ID: 9eac0212-9f5f-9dd9-9372-7073768dc3e8 | cluster: westeurope-1 | project: ------No idea what this means. Can you please help to fix it?
Issue: Some functionality is not working properly in Edge browser, while it works fine in Chrome. We have a few internal tickets highlighting these issues: Ticket 1 – Search issue in Cognite Data Explorer: The user is trying to search for the asset “E206” in the Assets section using Edge, but it does not appear in the results. Searching the same asset in Chrome works correctly. This issue occurs only with the E206 asset; other assets in the same hierarchy are searchable in Edge. Ticket 2 – Canvas not loading properly: Canvases are not loading correctly in Edge. The same canvases load without any issues in Chrome. Ticket 3 – P&ID diagram loading issue: A user is trying to load a specific P&ID diagram in Edge, but it fails to load. The diagram loads correctly in Chrome. Steps Taken to Resolve Clear Edge Cache and Cookies Navigate to Settings → Privacy, Search, and Services → Clear Browsing Data → Cached Images & Files + Cookies. Restart Edge and log in again. Che
At Aker BP we are currently using the Cognite file extractor, and have some bugs and improvement points to report. Some of the bugs here are a big concern for us using the extractor going forward:1. Missing‑as‑Deleted Flag Does Not Work as DocumentedWhen missing-as-deleted: true and delete-behavior: hard are configured, the extractor does not delete files that are absent from the source query. This contradicts the documented behaviour and makes it impossible to rely on the extractor to keep target datasets clean. Because the executable is closed‑source, the root cause is unclear. From a developer who configures the file extractor: This bug went undiscovered for some time because the previous extractor had to be replaced, and has different behavior from the new file extractor on full loads. (This seems to be a bug in the new extractor.) The previous deprecated Documentum Extractor would delete all files that it did not upload for that specific extraction. This also caused issues in the
The MQTT hosted extractor is erroring out and showing the following message: Internal database error: Session has expired: Session was not foundI’ve tried pausing and resuming the extractor, and modifying the configured sink, without success.
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
Description / Problem StatementWe are using the Cognite 3D File Extractor to migrate 3D model files from an on-premises Windows VM to Cognite Data Fusion (CDF).The majority of 3D files are ingested successfully with multiple sizes mostly > 10 GB. However, four specific files consistently fail ingestion, even after multiple retries.Key observations:All failing files are close to 5 GB in size Example sizes (as shown in Windows Explorer): 4.99 GB 4.94 GB 4.91 GB When checked via terminal/command line, these same files report a larger actual size (~5.3 GB) It appears that based on the Windows VM file size, the 3D extractor determines it should use a single-part upload. However, when it attempts to upload the actual file, the process fails because the size exceeds 5 GB
Hi , I have the CogniteActivity in the CDM/EDM data model which the assets is part of the model: Below is the sample data of CogniteActivity:This is the data model for Event in PDM:I tried to transform from CDM/EDM to PDM using below transformation, but i am not sure what is the script to transform CogniteActivity to PDM Event:And i got below error: Anyone know how can I transform CDM/EDM asset node reference to Event entities attribute? Thank you.
Hi Guys,I tried to use a transformation from the SDK but i keep getting error on Transformation credentials. Do you guys know what I need to do to solve this credentials issue. I have check the current credential for the Service Account that I use and the access for tranformation has been granted. def fetch_raw_table_via_transformation( client: CogniteClient, db_name: str, table_name: str, calculation_date: Optional[str] = None, columns: Optional[List[str]] = None) -> pd.DataFrame: """ Fetch data by running a temporary CDF Transformation (uses Spark SQL engine). This is the RECOMMENDED approach for production workloads: - Runs on CDF's managed Spark infrastructure - Handles billions of rows efficiently - Server-side filtering and aggregation - Can write results to temp Raw table or return directly Note: Requires transformation permissions in CDF Args: client: CogniteClient instance db_name: Name of the RAW database
Hello, Some capabilities, such as dataModelInstancesAcl or dataModelsAcl, support the spaceIdScope scope. Currently, we can only specify the spaces to which we want to grant access.To better support certain use cases, would it be possible to introduce support for exclusion rules or regex-based expressions within this scope? Thanks
We have multiple Asset Centric Location Filters created which are used in Industrial Tools search to filter site specific assets.When using multiple filters, we observed that the Search returns 0 assets.We inspected the Network requests and observed the Cognite API call to assets/list fails with below error:```{ "error": { "code": 400, "message": "Asset subtrees exceed the limit of 100000 assets." }}```There are similar cases where a location filter is setup with asset subtree and the subtree has more than 100K assets. Is there a way we can configure Location Filters to bypass the limit of 100k assets.
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?
Hello everyone,I observe a difference in behavior that I cannot explain.My input data, few datapoints, and before the value is 0, timeseries.is_step = TrueInput datapointsWith client.time_series.data.retrieve, behavior is as expected :And with every granularity results are okay as expected.Nevertheless, with client.time_series.data.synthetic.query it’s… different.that’s okthat’s okNot ok, why the result is not 2 groups : from 46 to 49 then 49 to 52 ? another wrong exampleWhy the start timestamp is 48 and not at 46 ? Again, the timeseries endoint is good : I have lost hope.If anyone has anything to try or an explanation, i’ll be grateful.Thanks in advance,Pierre
Hi All,I have a large production records data set which i am utilizing to create reports using GraphQL queries.I want to perform DESC sort to fetch the latest records for which i am using default ‘StartTime’ property(This property is derived from Schedulable Container). But system is generating this warning : "The sort is not backed by a cursorable index, which means query time sorting is necessary, which in turn means a lot more data must be read. Consider whether a cursorable index is a good fit."What’s the best way to approach this so that i can fetch large data sets with improved performance?Should i make a custom DateTime field as cursorable ? What are the impact of this ?
Hi community,I’m learning to use the /models/instances/query endpoint (with Open Industrial Data, public project) and experiencing some confusion about how cursors and pagination work.{ "with": { "cities": { "nodes": { "filter": { "and": [ { "exists": { "property": [ "Geography", "City", "name" ] } } ] } } }, "continents": { "nodes": { "filter": { "and": [ { "exists": { "property": [ "Geography", "Continent",
We’ve setup an MQTT Hosted Extractor that is recieving a SparkPlug B payload which some times contains a couple of null values, this values cannot be removed from the SparkPlug B payload. We believe that whenever the message contains null values the transformation for the datapoints fails.No more information is provided on the Transform Error, only the “Failed to transform data: Missing required field value”, could the null values just be ignored so the other values be inserted in the time series? We’re getting several empty time series that were created via the hosted extractor.
Is there an alert or notification that can be configured when the MQTT hosted extractor is down? Been having issues with Request to CDF failed with error Error in middleware: Failed to authenticate request This error is resolved by creating a new sink, however we don’t get a notification of any kind when the extractor is down.
I’m working with the PI AF Extractor and facing an issue with Table Lookup attributes.The Table Lookup attribute itself is being extracted correctly into the attributes table, but the value column always comes as “no data”, even though the attribute resolves normally inside PI System Explorer.I would like to know whether there is any supported way to extract the evaluated Table Lookup value using the PI AF Extractor, or if the extractor does not currently resolve Table Lookup references during extraction.Has anyone faced this issue or found a recommended approach to retrieve these values through the extractor?
I’m using the CogniteSDK. I have seen the following behavior several times: assets = client.assets.list()the variable assets can contain deleted assets if they have been recetly deleted. If I find the external_ids of these assets, the client.assets.retrieve_multiple(external_ids=deleted_xids) correcly do not return the assets. The assets cannot be found in fusion either. I suspect that client.assets.list() is using cached values. This also applies with arguments, f.ex LabelFilter. I have seen the issue many times, but now it really got painfull, so therefore I’m writing here. It returns assets that were deleted several days ago. What to do?
Hello, Although “unitless” is an alias of the dimensionless:unitless unit, try_get_unit(“unitless”) returns null.ref: https://github.com/cognitedata/units-catalog/blob/main/versions/v1/units.json#L1699 Could you please have a look? Thanks!
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
Hi everyone,I have a question: Can we use data from Data Models in Canvas?Is there any way to visualize that data available in Data models into Canvas?In our case, we are using Cognite Charts with time series data coming directly from machines (e.g., good parts, bad parts). However, the time series does not include product or batch information, which we do have in our Data Model.Is there any possibility to link both sets of information together for analysis?My initial thought is: if I can bring the required data from Data Models into Canvas and then create charts there, it would make the analysis much easier.But I’m not sure if this is possible—or if there’s another approach you would recommend.Any suggestions or best practices would be greatly appreciated!
Hi, I have defined a Data Model with a Source View having a DirectRelation to a Target View as a simplified version below, which Pygen created an SDK successfully. But when I added a ReverseDirectRelationApply to the Target View, Pygen returned the captioned error. Please help.source_container = ContainerApply( space =”myspace”, external_id=”sourceContainer”, properties={ “sourceName”: ContainerProperty(type=Text, name=”sourceName”), “target”: ContainerProperty(type=DirectRelation(is_list=False, container=ContainerId(space=”myspace”, external_id=”targetcontainer”) } target_container = ContainerApply( space =”myspace”, external_id=”targetContainer”, properties={ “targetName”: ContainerProperty(type=Text, name=”targetName”)} source_view = ViewApply( space = “myspace”, external_id = “souceView”, version = “1.0”, properties = { “sourceName”: MappedPropertyApply(container=ContainerId(“myspace”,