15
15
16
16
from datetime import datetime
17
17
from enum import Enum
18
+ from tracemalloc import start
18
19
from typing import Optional , Union , List , Dict
19
20
20
21
from sagemaker .lineage ._utils import get_resource_name_from_arn
@@ -295,6 +296,7 @@ def __init__(
295
296
self ,
296
297
edges : List [Edge ] = None ,
297
298
vertices : List [Vertex ] = None ,
299
+ startarn : List [str ] = None ,
298
300
):
299
301
"""Init for LineageQueryResult.
300
302
@@ -304,13 +306,17 @@ def __init__(
304
306
"""
305
307
self .edges = []
306
308
self .vertices = []
309
+ self .startarn = []
307
310
308
311
if edges is not None :
309
312
self .edges = edges
310
313
311
314
if vertices is not None :
312
315
self .vertices = vertices
313
316
317
+ if startarn is not None :
318
+ self .startarn = startarn
319
+
314
320
def __str__ (self ):
315
321
"""Define string representation of ``LineageQueryResult``.
316
322
@@ -335,7 +341,7 @@ def __str__(self):
335
341
336
342
"""
337
343
result_dict = vars (self )
338
- return str ({k : [vars (val ) for val in v ] for k , v in result_dict .items ()})
344
+ return str ({k : [str (val ) for val in v ] for k , v in result_dict .items ()})
339
345
340
346
def _covert_vertices_to_tuples (self ):
341
347
"""Convert vertices to tuple format for visualizer."""
@@ -456,9 +462,8 @@ def _get_vertex(self, vertex):
456
462
sagemaker_session = self ._session ,
457
463
)
458
464
459
- def _convert_api_response (self , response ) -> LineageQueryResult :
465
+ def _convert_api_response (self , response , converted ) -> LineageQueryResult :
460
466
"""Convert the lineage query API response to its Python representation."""
461
- converted = LineageQueryResult ()
462
467
converted .edges = [self ._get_edge (edge ) for edge in response ["Edges" ]]
463
468
converted .vertices = [self ._get_vertex (vertex ) for vertex in response ["Vertices" ]]
464
469
@@ -541,7 +546,9 @@ def query(
541
546
Filters = query_filter ._to_request_dict () if query_filter else {},
542
547
MaxDepth = max_depth ,
543
548
)
544
- query_response = self ._convert_api_response (query_response )
549
+ # create query result for startarn info
550
+ query_result = LineageQueryResult (startarn = start_arns )
551
+ query_response = self ._convert_api_response (query_response , query_result )
545
552
query_response = self ._collapse_cross_account_artifacts (query_response )
546
553
547
554
return query_response
0 commit comments