Lee-W commented on code in PR #44639:
URL: https://github.com/apache/airflow/pull/44639#discussion_r1877031423


##########
task_sdk/src/airflow/sdk/definitions/asset/__init__.py:
##########
@@ -54,9 +55,26 @@ class AssetUniqueKey(NamedTuple):
     uri: str
 
     @staticmethod
-    def from_asset(asset: Asset) -> AssetUniqueKey:
+    def from_asset(asset: Asset | AssetModel) -> AssetUniqueKey:
         return AssetUniqueKey(name=asset.name, uri=asset.uri)
 
+    def to_asset(self) -> Asset:
+        return Asset(name=self.name, uri=self.uri)
+
+
+class AssetAliasUniqueKey(NamedTuple):
+    name: str
+
+    @staticmethod
+    def from_asset_alias(asset_alias: AssetAlias) -> AssetAliasUniqueKey:
+        return AssetAliasUniqueKey(name=asset_alias.name)
+
+    def to_asset_alias(self) -> AssetAlias:
+        return AssetAlias(name=self.name)
+
+
+BaseAssetUniqueKey = Union[AssetUniqueKey, AssetAliasUniqueKey]

Review Comment:
   Yep, this is what I expected (for easier serialization). But after a second 
thought, we probably could make it a class so that we can avoid the need to 
handle migration in the future (e.g., serialized named tuple key to something 
with identity check)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to