Retrieves lineage of an Artifact represented through Artifacts and Executions connected by Event edges and returned as a LineageSubgraph.
Endpoint
gethttps://{endpoint}/v1/{artifact}:queryArtifactLineageSubgraph
Where {service-endpoint}
is one of the supported service endpoints.
Path parameters
artifact
string
Required. The resource name of the Artifact whose Lineage needs to be retrieved as a LineageSubgraph. Format: projects/{project}/locations/{location}/metadataStores/{metadatastore}/artifacts/{artifact}
The request may error with FAILED_PRECONDITION if the number of Artifacts, the number of Executions, or the number of events that would be returned for the Context exceeds 1000.
Query parameters
maxHops
integer
Specifies the size of the lineage graph in terms of number of hops from the specified artifact. Negative value: INVALID_ARGUMENT error is returned 0: Only input artifact is returned. No value: Transitive closure is performed to return the complete graph.
filter
string
Filter specifying the boolean condition for the Artifacts to satisfy in order to be part of the Lineage Subgraph. The syntax to define filter query is based on https://google.aip.dev/160. The supported set of filters include the following:
- attribute filtering: For example:
displayName = "test"
Supported fields include:name
,displayName
,uri
,state
,schemaTitle
,createTime
, andupdateTime
. time fields, such ascreateTime
andupdateTime
, require values specified in RFC-3339 format. For example:createTime = "2020-11-19T11:30:00-04:00"
- metadata field: To filter on metadata fields use traversal operation as follows:
metadata.<fieldName>.<typeValue>
. For example:metadata.field_1.number_value = 10.0
In case the field name contains special characters (such as colon), one can embed it inside double quote. For example:metadata."field:1".number_value = 10.0
Each of the above supported filter types can be combined together using logical operators (AND
& OR
). Maximum nested expression depth allowed is 5.
For example: displayName = "test" AND metadata.field1.bool_value = true
.
Request body
The request body must be empty.
Response body
If successful, the response body contains an instance of LineageSubgraph
.