1212from awswrangler .pandas import Pandas
1313from awswrangler .glue import Glue
1414from awswrangler .redshift import Redshift
15+ from awswrangler .aurora import Aurora
1516from awswrangler .emr import EMR
1617from awswrangler .sagemaker import SageMaker
1718from awswrangler .exceptions import AWSCredentialsNotFound
@@ -52,7 +53,8 @@ def __init__(self,
5253 athena_kms_key : Optional [str ] = None ,
5354 athena_database : str = "default" ,
5455 athena_ctas_approach : bool = False ,
55- redshift_temp_s3_path : Optional [str ] = None ):
56+ redshift_temp_s3_path : Optional [str ] = None ,
57+ aurora_temp_s3_path : Optional [str ] = None ):
5658 """
5759 Most parameters inherit from Boto3 or Pyspark.
5860 https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html
@@ -76,7 +78,8 @@ def __init__(self,
7678 :param athena_s3_output: AWS S3 path
7779 :param athena_encryption: None|'SSE_S3'|'SSE_KMS'|'CSE_KMS'
7880 :param athena_kms_key: For SSE-KMS and CSE-KMS , this is the KMS key ARN or ID.
79- :param redshift_temp_s3_path: redshift_temp_s3_path: AWS S3 path to write temporary data (e.g. s3://...)
81+ :param redshift_temp_s3_path: AWS S3 path to write temporary data (e.g. s3://...)
82+ :param aurora_temp_s3_path: AWS S3 path to write temporary data (e.g. s3://...)
8083 """
8184 self ._profile_name : Optional [str ] = (boto3_session .profile_name if boto3_session else profile_name )
8285 self ._aws_access_key_id : Optional [str ] = (boto3_session .get_credentials ().access_key
@@ -100,6 +103,7 @@ def __init__(self,
100103 self ._athena_database : str = athena_database
101104 self ._athena_ctas_approach : bool = athena_ctas_approach
102105 self ._redshift_temp_s3_path : Optional [str ] = redshift_temp_s3_path
106+ self ._aurora_temp_s3_path : Optional [str ] = aurora_temp_s3_path
103107 self ._primitives = None
104108 self ._load_new_primitives ()
105109 if boto3_session :
@@ -113,6 +117,7 @@ def __init__(self,
113117 self ._pandas = None
114118 self ._glue = None
115119 self ._redshift = None
120+ self ._aurora = None
116121 self ._spark = None
117122 self ._sagemaker = None
118123
@@ -160,7 +165,8 @@ def _load_new_primitives(self):
160165 athena_kms_key = self ._athena_kms_key ,
161166 athena_database = self ._athena_database ,
162167 athena_ctas_approach = self ._athena_ctas_approach ,
163- redshift_temp_s3_path = self ._redshift_temp_s3_path )
168+ redshift_temp_s3_path = self ._redshift_temp_s3_path ,
169+ aurora_temp_s3_path = self ._aurora_temp_s3_path )
164170
165171 @property
166172 def profile_name (self ):
@@ -238,6 +244,10 @@ def athena_ctas_approach(self) -> bool:
238244 def redshift_temp_s3_path (self ) -> Optional [str ]:
239245 return self ._redshift_temp_s3_path
240246
247+ @property
248+ def aurora_temp_s3_path (self ) -> Optional [str ]:
249+ return self ._aurora_temp_s3_path
250+
241251 @property
242252 def boto3_session (self ):
243253 return self ._boto3_session
@@ -288,6 +298,12 @@ def redshift(self):
288298 self ._redshift = Redshift (session = self )
289299 return self ._redshift
290300
301+ @property
302+ def aurora (self ):
303+ if not self ._aurora :
304+ self ._aurora = Aurora (session = self )
305+ return self ._aurora
306+
291307 @property
292308 def sagemaker (self ):
293309 if not self ._sagemaker :
@@ -326,7 +342,8 @@ def __init__(self,
326342 athena_kms_key : Optional [str ] = None ,
327343 athena_database : Optional [str ] = None ,
328344 athena_ctas_approach : bool = False ,
329- redshift_temp_s3_path : Optional [str ] = None ):
345+ redshift_temp_s3_path : Optional [str ] = None ,
346+ aurora_temp_s3_path : Optional [str ] = None ):
330347 """
331348 Most parameters inherit from Boto3.
332349 https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html
@@ -348,6 +365,7 @@ def __init__(self,
348365 :param athena_encryption: None|'SSE_S3'|'SSE_KMS'|'CSE_KMS'
349366 :param athena_kms_key: For SSE-KMS and CSE-KMS , this is the KMS key ARN or ID.
350367 :param redshift_temp_s3_path: AWS S3 path to write temporary data (e.g. s3://...)
368+ :param aurora_temp_s3_path: AWS S3 path to write temporary data (e.g. s3://...)
351369 """
352370 self ._profile_name : Optional [str ] = profile_name
353371 self ._aws_access_key_id : Optional [str ] = aws_access_key_id
@@ -366,6 +384,7 @@ def __init__(self,
366384 self ._athena_database : Optional [str ] = athena_database
367385 self ._athena_ctas_approach : bool = athena_ctas_approach
368386 self ._redshift_temp_s3_path : Optional [str ] = redshift_temp_s3_path
387+ self ._aurora_temp_s3_path : Optional [str ] = aurora_temp_s3_path
369388
370389 @property
371390 def profile_name (self ):
@@ -435,6 +454,10 @@ def athena_ctas_approach(self) -> bool:
435454 def redshift_temp_s3_path (self ) -> Optional [str ]:
436455 return self ._redshift_temp_s3_path
437456
457+ @property
458+ def aurora_temp_s3_path (self ) -> Optional [str ]:
459+ return self ._aurora_temp_s3_path
460+
438461 @property
439462 def session (self ):
440463 """
@@ -456,4 +479,5 @@ def session(self):
456479 athena_kms_key = self ._athena_kms_key ,
457480 athena_database = self ._athena_database ,
458481 athena_ctas_approach = self ._athena_ctas_approach ,
459- redshift_temp_s3_path = self ._redshift_temp_s3_path )
482+ redshift_temp_s3_path = self ._redshift_temp_s3_path ,
483+ aurora_temp_s3_path = self ._aurora_temp_s3_path )
0 commit comments