Skip to content

Commit

Permalink
feat(cli): add more details to get cli (#10815)
Browse files Browse the repository at this point in the history
  • Loading branch information
anshbansal authored Jul 3, 2024
1 parent 099021c commit e45f7a4
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
8 changes: 7 additions & 1 deletion metadata-ingestion/src/datahub/cli/cli_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -522,6 +522,7 @@ def get_aspects_for_entity(
aspects: List[str],
typed: bool = False,
cached_session_host: Optional[Tuple[Session, str]] = None,
details: bool = False,
) -> Dict[str, Union[dict, _Aspect]]:
# Process non-timeseries aspects
non_timeseries_aspects = [a for a in aspects if a not in TIMESERIES_ASPECT_MAP]
Expand Down Expand Up @@ -553,7 +554,12 @@ def get_aspects_for_entity(
aspect_name
)

aspect_dict = a["value"]
if details:
aspect_dict = a
for k in ["name", "version", "type"]:
del aspect_dict[k]
else:
aspect_dict = a["value"]
if not typed:
aspect_map[aspect_name] = aspect_dict
elif aspect_py_class:
Expand Down
13 changes: 11 additions & 2 deletions metadata-ingestion/src/datahub/cli/get_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,17 @@ def get() -> None:
@get.command()
@click.option("--urn", required=False, type=str)
@click.option("-a", "--aspect", required=False, multiple=True, type=str)
@click.option(
"--details/--no-details",
required=False,
is_flag=True,
default=False,
help="Whether to print details from database which help in audit.",
)
@click.pass_context
@upgrade.check_upgrade
@telemetry.with_telemetry()
def urn(ctx: Any, urn: Optional[str], aspect: List[str]) -> None:
def urn(ctx: Any, urn: Optional[str], aspect: List[str], details: bool) -> None:
"""
Get metadata for an entity with an optional list of aspects to project.
This works for both versioned aspects and timeseries aspects. For timeseries aspects, it fetches the latest value.
Expand All @@ -39,7 +46,9 @@ def urn(ctx: Any, urn: Optional[str], aspect: List[str]) -> None:
logger.debug(f"Using urn from args {urn}")
click.echo(
json.dumps(
get_aspects_for_entity(entity_urn=urn, aspects=aspect, typed=False),
get_aspects_for_entity(
entity_urn=urn, aspects=aspect, typed=False, details=details
),
sort_keys=True,
indent=2,
)
Expand Down

0 comments on commit e45f7a4

Please sign in to comment.