mirror of
https://github.com/datahub-project/datahub.git
synced 2025-07-24 18:10:11 +00:00
1.7 KiB
1.7 KiB
What is a snapshot?
A metadata snapshot models the current state of one or multiple metadata aspects associated with a particular entity. Each entity type is expected to have:
- An entity-specific aspect (e.g.
GroupAspect
from below), which is atyperef
containing a union of all possible metadata aspects for the entity. - An entity-specific snapshot (e.g.
GroupSnapshot
from below), which contains an array (aspects) of entity-specific aspects.
{
"type": "typeref",
"name": "GroupAspect",
"namespace": "com.linkedin.metadata.aspect",
"doc": "A specific metadata aspect for a group",
"ref": [
"com.linkedin.group.Membership",
"com.linkedin.group.SomeOtherMetadata"
]
}
{
"type": "record",
"name": "GroupSnapshot",
"namespace": "com.linkedin.metadata.snapshot",
"doc": "A metadata snapshot for a specific group entity.",
"fields": [
{
"name": "urn",
"type": "com.linkedin.common.CorpGroupUrn",
"doc": "URN for the entity the metadata snapshot is associated with."
},
{
"name": "aspects",
"doc": "The list of metadata aspects associated with the group.",
"type": {
"type": "array",
"items": "com.linkedin.metadata.aspect.GroupAspect"
}
}
]
}
The generic Snapshot
typeref contains a union of all entity-specific snapshots and can therefore be used to represent the state of any metadata aspect for all supported entity types.
{
"type": "typeref",
"name": "Snapshot",
"namespace": "com.linkedin.metadata.snapshot",
"doc": "A union of all supported metadata snapshot types.",
"ref": [
"DatasetSnapshot",
"GroupSnapshot",
"UserSnapshot"
]
}