FAQ¶
Contents
Where is the data moved to when a file is ingested?¶
Text and binary headers are copied to the Postgres database. For tier 1 Bigtable storage, trace data from the original SEG-Y file is copied to Bigtable. For tier 2 blob storage, trace data is not copied and is instead directly streamed from the file. This is possible because we scan the file during ingestion and build a mapping of trace to file location. Again, no information is lost during this stage.
Do updates to a registered file change the ingested file?¶
Updating the headers or SEG-Y overrides of a file registered in CDF does not change the original SEG-Y file. No part of the seismic service modifies original files.
How do permissions work?¶
Permissions are divided into capabilities and scopes.
Capabilities (also known as “actions”) include Read
and Write
and determine whether you can, respectively, read data in general and write data in general.
Scopes determine which objects the user can act upon.
The All
scope allows a user to access all objects, including files, seismic stores, and all partitions.
All
scoped users with Write
capability can also create, delete, or edit any object.
A Partition
scope contains the list of partition ids that a user can access.
Partition
scoped users can only access the partitions they are assigned, as well as the seismics contained within those partitions.
While Partition
scoped users can be assigned Write
capabilities, they will still be unable to edit any objects unless they are given an All
scope.
Still, it is not recommended to assign Write
capabilities to Partition
scoped users.
Permissions for all Cognite Data Fusion services are managed using the Fusion interface here. Generally, permissions are assigned to groups of users. Users are assigned to groups via various identity providers.
How is access to blob storage handled?¶
Currently, each project id has a list of blob storage buckets it is allowed to access. These lists are managed manually via a hardcoded list. In the future, we may implement a more configurable setup.
How are storage tiers configured?¶
When a file ingestion request is sent, passing an appropriate storage tier name in the storage_tier
field allows a user to ingest the file into that storage tier.
Currently, storage tier names are specific, undocumented strings, and must be configured manually per project id. This will change in the future.
How do I search for objects?¶
Surveys and partitions have simple search interfaces, where one of id, external id, external id substring, name, or name substring can be provided to filter objects by those requirements.
The file, seismic store, and seismic objects use a SearchSpec system. SearchSpecs allow you to search for objects based on other related objects.
- For example, you can search for all seismics that have a seismic store with the id
1092
with the code:: - from cognite.seismic import SearchSpecSeismicStore client.seismic.search(search_spec=SearchSpecSeismicStore(id=1092))
Since we are searching for seismics, we call seismic.search()
.
Because we want to search by seismic stores, we pass SearchSpecSeismicStore
to the search_spec
parameter.
Not all combinations of object/SearchSpec are valid. Refer to the documentation for which SearchSpecs can be used.