Service - Media Manager
Revision as of 11:20, 17 November 2021 by Sven the Barbarian (talk | contribs)
Overview
Each media type is handled by a Service - Media (handlers) service.
The Media Manager service handles shared orchestration of the Media Handler services.
Repository
https://bitbucket.org/izara-core-media/izara-core-media-media-manager/src/master/
DynamoDB tables
Standard Config Table Per Service
Configuration tags
{
configKey: "MediaGraphServiceName"
configTag: "MediaGraphServiceName"
configValue: xxx // eg: "MediaGraph"
}
{
configKey: "MediaHandlerService"
configTag: xxx // mediaHandlerServiceNameTag, eg: "MediaStandard", this is what is saved in each media node
configValue: {
serviceName: xxx // eg: "ImageStandard", this is the actual deployed service name}
}
}
Media
Records which Handler manages each media element
{
mediaId
mediaHandlerServiceNameTag
}
- partition key: mediaId
- sort key: (none)
Graph database
Service - Media Graph
Nodes
{
nodeLabel: "media",
schema: {
identifier: true,
restrictProperties: true,
restrictRelationships: true,
properties: {
mediaId: {
identifier: true, // create unique id from request details
},
mediaHandlerServiceNameTag: {
immutable: true,
},
},
}
}
{
nodeLabel: "mediaPropertyLabel",
}
{
nodeLabel: "mediaProperty",
}
- see DataSchemaLib
Relationships
{
relationshipType: "has_mediaProperty",
}
{
relationshipType: "disabled_mediaProperty",
}
{
relationshipType: "is_mediaPropertyLabel",
}
- see DataSchemaLib
Basic node schemas
Schema comes from BasicNodeSchemaLib
- mediaPropertyLabel
- mediaProperty