|
14 | 14 | from awswrangler.redshift import Redshift |
15 | 15 | from awswrangler.emr import EMR |
16 | 16 | from awswrangler.sagemaker import SageMaker |
| 17 | +from awswrangler.exceptions import AWSCredentialsNotFound |
17 | 18 |
|
18 | 19 | PYSPARK_INSTALLED = False |
19 | 20 | if importlib.util.find_spec("pyspark"): # type: ignore |
@@ -77,6 +78,7 @@ def __init__(self, |
77 | 78 | :param athena_kms_key: For SSE-KMS and CSE-KMS , this is the KMS key ARN or ID. |
78 | 79 | :param redshift_temp_s3_path: redshift_temp_s3_path: AWS S3 path to write temporary data (e.g. s3://...) |
79 | 80 | """ |
| 81 | + |
80 | 82 | self._profile_name: Optional[str] = (boto3_session.profile_name if boto3_session else profile_name) |
81 | 83 | self._aws_access_key_id: Optional[str] = (boto3_session.get_credentials().access_key |
82 | 84 | if boto3_session else aws_access_key_id) |
@@ -130,8 +132,11 @@ def _load_new_boto3_session(self): |
130 | 132 | args["aws_secret_access_key"] = self.aws_secret_access_key |
131 | 133 | self._boto3_session = boto3.Session(**args) |
132 | 134 | self._profile_name = self._boto3_session.profile_name |
133 | | - self._aws_access_key_id = self._boto3_session.get_credentials().access_key |
134 | | - self._aws_secret_access_key = self._boto3_session.get_credentials().secret_key |
| 135 | + credentials = self._boto3_session.get_credentials() |
| 136 | + if credentials is None: |
| 137 | + raise AWSCredentialsNotFound("Please run aws configure: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html") |
| 138 | + self._aws_access_key_id = credentials.access_key |
| 139 | + self._aws_secret_access_key = credentials.secret_key |
135 | 140 | self._region_name = self._boto3_session.region_name |
136 | 141 |
|
137 | 142 | def _load_new_primitives(self): |
|
0 commit comments