searchLineageStreaming method

Retrieves a streaming response of lineage links connected to the requested assets by performing a breadth-first search in the given direction.

Links represent the data flow between source (upstream) and target (downstream) assets in transformation pipelines. Links are stored in the same project as the Lineage Events that create them. This method retrieves links from all valid locations provided in the request. This method supports Column-Level Lineage (CLL) along with wildcard support to retrieve all CLL for an Entity FQN. Following permissions are required to retrieve links: * datalineage.events.get permission for the project where the link is stored for entity-level lineage. * datalineage.events.getFields permission for the project where the link is stored for column-level lineage. This method also returns processes that created the links if explicitly requested by setting [max_process_per_link](google.cloud.datacatalog.lineage.v1.SearchLineageStreamingRequest.limits.max_process_per_link) is non-zero and full process details are requested via links.processes.process in the FieldMask. Permission required to retrieve processes: * datalineage.processes.get permission for the project where the process is stored.

request - The metadata request object.

Request parameters:

parent - Required. The project and location to initiate the search from. Value must have pattern ^projects/\[^/\]+/locations/\[^/\]+$.

$fields - Selector specifying which fields to include in a partial response.

Completes with a GoogleCloudDatacatalogLineageV1SearchLineageStreamingResponse.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<GoogleCloudDatacatalogLineageV1SearchLineageStreamingResponse>
searchLineageStreaming(
  GoogleCloudDatacatalogLineageV1SearchLineageStreamingRequest request,
  core.String parent, {
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    'fields': ?$fields == null ? null : [$fields],
  };

  final url_ =
      'v1/' + core.Uri.encodeFull('$parent') + ':searchLineageStreaming';

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
  );
  return GoogleCloudDatacatalogLineageV1SearchLineageStreamingResponse.fromJson(
    response_ as core.Map<core.String, core.dynamic>,
  );
}