here.platform.schema.schema_registry module

here.platform.schema.schema_registry module

A registry for parsed protobuf schemas, so that they can be managed, cached, etc.

class here.platform.schema.schema_registry.SchemaRegistry(platform_config: PlatformConfig, artifact_api: ArtifactApi)
Bases: object

HERE platform schema registry.

get_schema(schema_hrn: str) Schema

Return the schema by the provided schema HRN identifier. The schema must be already available in the schema registry by registering it or by obtaining it and registering it.

Parameters:
schema_hrn – Schema HRN

Returns:
Schema instance for the given hrn

Raises:
ValueError – in case the requested schema is not available

has_schema(schema_hrn: str) bool

Check whether a given schema has already been registered.

Parameters:
schema_hrn – Schema HRN

Returns:
a bool flag indicating if schema is already registered.

load_and_register_schema(schema_file, schema_hrn, content_type: str | None = None) Schema

Register Schema object by given zip artifact and schema hrn .

Parameters:

  • schema_file – zip artifact

  • schema_hrn – Schema HRN

  • content_type – The MIME type of the blobs stored in the layer

Returns:
Schema instance for the given hrn

obtain_and_register_schema(schema_hrn: str, content_type: str | None = None) Schema

Obtain a schema from the Artifact service and register it in the schema registry. Return the registered schema. If the schema is already available, it’s simply returned.

Parameters:

  • schema_hrn – the HRN of the schema

  • content_type – The MIME type of the blobs stored in the layer

Returns:
the schema just obtained or already available

register_schema(schema_hrn: str, schema: Schema)

Register a new schema in the registry.

If a schema with the same HRN is present, it’s discarded. This does not upload the schema to the Artifact service.

Parameters:

  • schema_hrn – the HRN of the schema

  • schema – the schema to be registered