feat(changeSyncAction): support RESTATE type syncs (#13406)

This commit is contained in:
RyanHolstien 2025-05-05 16:22:07 -05:00 committed by GitHub
parent 964a4b70c2
commit d8739c4e3e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -7,6 +7,7 @@ from pydantic import BaseModel, Field
from datahub.emitter.rest_emitter import DatahubRestEmitter from datahub.emitter.rest_emitter import DatahubRestEmitter
from datahub.metadata.schema_classes import ( from datahub.metadata.schema_classes import (
ChangeTypeClass,
MetadataChangeLogClass, MetadataChangeLogClass,
MetadataChangeProposalClass, MetadataChangeProposalClass,
) )
@ -127,9 +128,12 @@ class MetadataChangeSyncAction(Action):
self, orig_event: MetadataChangeLogClass self, orig_event: MetadataChangeLogClass
) -> Union[MetadataChangeProposalClass, None]: ) -> Union[MetadataChangeProposalClass, None]:
try: try:
changeType = orig_event.get("changeType")
if changeType == ChangeTypeClass.RESTATE or changeType == "RESTATE":
changeType = ChangeTypeClass.UPSERT
mcp = MetadataChangeProposalClass( mcp = MetadataChangeProposalClass(
entityType=orig_event.get("entityType"), entityType=orig_event.get("entityType"),
changeType=orig_event.get("changeType"), changeType=changeType,
entityUrn=orig_event.get("entityUrn"), entityUrn=orig_event.get("entityUrn"),
entityKeyAspect=orig_event.get("entityKeyAspect"), entityKeyAspect=orig_event.get("entityKeyAspect"),
aspectName=orig_event.get("aspectName"), aspectName=orig_event.get("aspectName"),