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
@@ -208,6 +209,7 @@ def __init__(
208
209
self ,
209
210
edges : List [Edge ] = None ,
210
211
vertices : List [Vertex ] = None ,
212
+ startarn : List [str ] = None ,
211
213
):
212
214
"""Init for LineageQueryResult.
213
215
@@ -217,13 +219,17 @@ def __init__(
217
219
"""
218
220
self .edges = []
219
221
self .vertices = []
222
+ self .startarn = []
220
223
221
224
if edges is not None :
222
225
self .edges = edges
223
226
224
227
if vertices is not None :
225
228
self .vertices = vertices
226
229
230
+ if startarn is not None :
231
+ self .startarn = startarn
232
+
227
233
def __str__ (self ):
228
234
"""Define string representation of ``LineageQueryResult``.
229
235
@@ -248,7 +254,7 @@ def __str__(self):
248
254
249
255
"""
250
256
result_dict = vars (self )
251
- return str ({k : [vars (val ) for val in v ] for k , v in result_dict .items ()})
257
+ return str ({k : [str (val ) for val in v ] for k , v in result_dict .items ()})
252
258
253
259
def _import_visual_modules (self ):
254
260
"""Import modules needed for visualization."""
@@ -417,9 +423,8 @@ def _get_vertex(self, vertex):
417
423
sagemaker_session = self ._session ,
418
424
)
419
425
420
- def _convert_api_response (self , response ) -> LineageQueryResult :
426
+ def _convert_api_response (self , response , converted ) -> LineageQueryResult :
421
427
"""Convert the lineage query API response to its Python representation."""
422
- converted = LineageQueryResult ()
423
428
converted .edges = [self ._get_edge (edge ) for edge in response ["Edges" ]]
424
429
converted .vertices = [self ._get_vertex (vertex ) for vertex in response ["Vertices" ]]
425
430
@@ -502,7 +507,9 @@ def query(
502
507
Filters = query_filter ._to_request_dict () if query_filter else {},
503
508
MaxDepth = max_depth ,
504
509
)
505
- query_response = self ._convert_api_response (query_response )
510
+ # create query result for startarn info
511
+ query_result = LineageQueryResult (startarn = start_arns )
512
+ query_response = self ._convert_api_response (query_response , query_result )
506
513
query_response = self ._collapse_cross_account_artifacts (query_response )
507
514
508
515
return query_response
0 commit comments