Skip to content

Commit 4be0414

Browse files
dimon222uranusjr
andauthored
Adjust built-in base_aws methods to avoid Deprecation warnings (#19725)
Co-authored-by: Tzu-ping Chung <[email protected]>
1 parent fe682ec commit 4be0414

File tree

4 files changed

+14
-7
lines changed

4 files changed

+14
-7
lines changed

airflow/providers/amazon/aws/hooks/base_aws.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -491,9 +491,9 @@ def conn(self) -> Union[boto3.client, boto3.resource]:
491491
:rtype: Union[boto3.client, boto3.resource]
492492
"""
493493
if self.client_type:
494-
return self.get_client_type(self.client_type, region_name=self.region_name)
494+
return self.get_client_type(region_name=self.region_name)
495495
elif self.resource_type:
496-
return self.get_resource_type(self.resource_type, region_name=self.region_name)
496+
return self.get_resource_type(region_name=self.region_name)
497497
else:
498498
# Rare possibility - subclasses have not specified a client_type or resource_type
499499
raise NotImplementedError('Could not get boto3 connection!')
@@ -539,7 +539,9 @@ def expand_role(self, role: str) -> str:
539539
if "/" in role:
540540
return role
541541
else:
542-
return self.get_client_type("iam").get_role(RoleName=role)["Role"]["Arn"]
542+
session, endpoint_url = self._get_credentials()
543+
_client = session.client('iam', endpoint_url=endpoint_url, config=self.config, verify=self.verify)
544+
return _client.get_role(RoleName=role)["Role"]["Arn"]
543545

544546
@staticmethod
545547
def retry(should_retry: Callable[[Exception], bool]):

airflow/providers/amazon/aws/hooks/glue.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ def list_jobs(self) -> List:
8585

8686
def get_iam_execution_role(self) -> Dict:
8787
""":return: iam role for job execution"""
88-
iam_client = self.get_client_type('iam', self.region_name)
88+
session, endpoint_url = self._get_credentials(self.region_name)
89+
iam_client = session.client('iam', endpoint_url=endpoint_url, config=self.config, verify=self.verify)
8990

9091
try:
9192
glue_execution_role = iam_client.get_role(RoleName=self.role_name)

airflow/providers/amazon/aws/hooks/s3.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,8 @@ def get_bucket(self, bucket_name: Optional[str] = None) -> str:
173173
:return: the bucket object to the bucket name.
174174
:rtype: boto3.S3.Bucket
175175
"""
176-
s3_resource = self.get_resource_type('s3')
176+
session, endpoint_url = self._get_credentials()
177+
s3_resource = session.client('s3', endpoint_url=endpoint_url, config=self.config, verify=self.verify)
177178
return s3_resource.Bucket(bucket_name)
178179

179180
@provide_bucket_name
@@ -340,7 +341,9 @@ def get_key(self, key: str, bucket_name: Optional[str] = None) -> S3Transfer:
340341
:return: the key object from the bucket
341342
:rtype: boto3.s3.Object
342343
"""
343-
obj = self.get_resource_type('s3').Object(bucket_name, key)
344+
session, endpoint_url = self._get_credentials()
345+
s3_resource = session.client('s3', endpoint_url=endpoint_url, config=self.config, verify=self.verify)
346+
obj = s3_resource.Object(bucket_name, key)
344347
obj.load()
345348
return obj
346349

airflow/providers/postgres/hooks/postgres.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,8 @@ def get_iam_token(self, conn: Connection) -> Tuple[str, str, int]:
184184
# Pull the custer-identifier from the beginning of the Redshift URL
185185
# ex. my-cluster.ccdre4hpd39h.us-east-1.redshift.amazonaws.com returns my-cluster
186186
cluster_identifier = conn.extra_dejson.get('cluster-identifier', conn.host.split('.')[0])
187-
client = aws_hook.get_client_type('redshift')
187+
session, endpoint_url = aws_hook._get_credentials()
188+
client = session.client('redshift', endpoint_url=endpoint_url, config=aws_hook.config, verify=aws_hook.verify)
188189
cluster_creds = client.get_cluster_credentials(
189190
DbUser=conn.login,
190191
DbName=self.schema or conn.schema,

0 commit comments

Comments
 (0)