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)}...",