Partition 1: Core Asset State
This partition (<assetTypeId>) holds the core, enriched properties of an asset, serving as the central record. It is built by combining foundational data with synced information from various extensions.
assetId — Asset ID
assetId — Asset ID
- Description: The unique, system-generated primary key (sort key) for each asset record across all partitions.
- Data Type:
UUID - Example:
a1b2c3d4-e5f6-7890-1234-567890abcdef
Core Properties (id, name, etc.)
Core Properties (id, name, etc.)
- Description: Standard, foundational attributes of any asset, such as its name and hierarchical references.
- Data Type: Varies (
String,Integer, etc.) - Notes: Includes default properties and any attributes defined through mutations.
Connection Properties (e.g., suSiteId, FLOC)
Connection Properties (e.g., suSiteId, FLOC)
- Description: A property that links the core asset to its extension data. It is created on the core asset using the
statePropertydefined in an extension’sconnectionDetails. This field holds the value that is used to join with the extension’sidProperty. - Data Type:
String - Example:
FLOC-12345
Enriched Properties (from stateProperties)
Enriched Properties (from stateProperties)
- Description: Core asset properties that are populated or “enriched” by data from an extension dataset, as defined in the extension’s
statePropertiesmapping. This allows customer data to fill in the asset’s official state. - Data Type: Varies (
String,Integer,Float) - Example: The
namefield might be populated from aSAP_FUNCTIONAL_LOCATION_DESCRIPTIONcolumn in a customer’s dataset.
geometry — GeoJSON Geometry
geometry — GeoJSON Geometry
- Description: The official GeoJSON geometry for the asset. This property is populated from the column specified in an extension’s
geometryColumndefinition. - Data Type:
String(GeoJSON) - Example:
"{ 'type': 'Point', 'coordinates': [-104.9903, 39.7392] }"
Component-Defined Properties (e.g., isAttributable)
Component-Defined Properties (e.g., isAttributable)
- Description: Fields added and managed by other internal components or backend services that interact with the asset model.
- Data Type: Varies (
Boolean,String)
Partition 2+: Asset Extensions
Each extension has a dedicated partition (<assetTypeId>:<extensionId>) that stores the raw, unmodified data provided by the customer. This data is read-only within the CAM model and serves as the source for enriching the Core Asset State.
assetId — Asset ID
assetId — Asset ID
- Description: The unique primary key (sort key) that links the extension record back to the corresponding record in the Core Asset State partition. This ID is established during the
seedandseedExtensionprocesses. - Data Type:
UUID - Example:
a1b2c3d4-e5f6-7890-1234-567890abcdef
Extension Data Properties
Extension Data Properties
- Description: All other columns and values provided in the customer’s source dataset for the extension. These fields are not directly mutable and reflect the customer’s data “as-is.”
- Data Type: Varies (Depends on customer data)
- Notes: The specific fields in this partition are dynamic and match the schema of the customer’s source file. The
seedSyncprocess uses this data to update the Core Asset State.