Skip to content

{{createDeterministicGuid}}

Creates a GUID derived from one or more input values. The same inputs always produce the same GUID, which makes this the right choice when a template generates metadata (data objects, data items, mappings) that should keep stable identifiers across repeated generation runs.

Under the hood the inputs are joined and hashed with SHA-256, and the result is stamped as a canonical RFC 9562 (UUIDv8) value, so generated identifiers pass ADL’s GUID validation in Metadata Health.

{{createDeterministicGuid value1 [value2 ...]}}

Provide at least one value; every value must be non-empty. Argument boundaries are significant: {{createDeterministicGuid "ab" "c"}} and {{createDeterministicGuid "a" "bc"}} produce different GUIDs.

Deriving a stable data object id from a convention prefix and the object name:

"id": "{{createDeterministicGuid ./conventions.persistentStagingAreaObjectPrefix name}}"

Combining several context values for a data item id:

"id": "{{createDeterministicGuid 'dim' ../name ../conventions.landingAreaObjectPrefix name}}"

Each run of the template produces the same id for the same logical object, so downstream references stay intact when metadata is regenerated.

For a random (non-repeatable) GUID, use createGuid instead.