From 6a8fc9e0fb19db1ac9e3e5dfc39e8bf42ed5c95c Mon Sep 17 00:00:00 2001 From: Pere Miquel Brull Date: Mon, 24 Jan 2022 21:29:03 +0100 Subject: [PATCH] import on call (#2382) --- ingestion/src/metadata/cli/backup.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ingestion/src/metadata/cli/backup.py b/ingestion/src/metadata/cli/backup.py index f5ecc1930cd..41adfe43c90 100644 --- a/ingestion/src/metadata/cli/backup.py +++ b/ingestion/src/metadata/cli/backup.py @@ -18,9 +18,7 @@ from datetime import datetime from pathlib import Path from typing import List, Optional, Tuple -import boto3 import click -from boto3.exceptions import S3UploadFailedError logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) @@ -61,6 +59,16 @@ def upload_backup(endpoint: str, bucket: str, key: str, file: Path) -> None: :param file: file to upload """ + try: + import boto3 + from boto3.exceptions import S3UploadFailedError + except ModuleNotFoundError as err: + logger.error( + "Trying to import boto3 to run the backup upload." + + " Please install openmetadata-ingestion[backup]." + ) + raise err + s3_key = Path(key) / file.name click.secho( f"Uploading {file} to {endpoint}/{bucket}/{str(s3_key)}...",