apache-airflow-providers-amazon 9.18.0rc2__py3-none-any.whl → 9.19.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- airflow/providers/amazon/__init__.py +1 -1
- airflow/providers/amazon/aws/auth_manager/avp/facade.py +1 -1
- airflow/providers/amazon/aws/bundles/s3.py +1 -1
- airflow/providers/amazon/aws/exceptions.py +1 -1
- airflow/providers/amazon/aws/executors/aws_lambda/lambda_executor.py +1 -2
- airflow/providers/amazon/aws/executors/batch/batch_executor.py +1 -2
- airflow/providers/amazon/aws/executors/ecs/ecs_executor.py +1 -2
- airflow/providers/amazon/aws/hooks/athena.py +1 -1
- airflow/providers/amazon/aws/hooks/athena_sql.py +1 -1
- airflow/providers/amazon/aws/hooks/base_aws.py +2 -6
- airflow/providers/amazon/aws/hooks/batch_client.py +1 -1
- airflow/providers/amazon/aws/hooks/batch_waiters.py +1 -1
- airflow/providers/amazon/aws/hooks/chime.py +1 -1
- airflow/providers/amazon/aws/hooks/comprehend.py +1 -1
- airflow/providers/amazon/aws/hooks/datasync.py +2 -2
- airflow/providers/amazon/aws/hooks/dynamodb.py +1 -1
- airflow/providers/amazon/aws/hooks/ec2.py +1 -1
- airflow/providers/amazon/aws/hooks/elasticache_replication_group.py +1 -1
- airflow/providers/amazon/aws/hooks/emr.py +1 -1
- airflow/providers/amazon/aws/hooks/glue.py +2 -1
- airflow/providers/amazon/aws/hooks/glue_catalog.py +1 -1
- airflow/providers/amazon/aws/hooks/logs.py +10 -2
- airflow/providers/amazon/aws/hooks/quicksight.py +1 -1
- airflow/providers/amazon/aws/hooks/rds.py +1 -1
- airflow/providers/amazon/aws/hooks/redshift_sql.py +11 -2
- airflow/providers/amazon/aws/hooks/s3.py +2 -1
- airflow/providers/amazon/aws/hooks/sagemaker.py +1 -1
- airflow/providers/amazon/aws/hooks/sagemaker_unified_studio.py +2 -3
- airflow/providers/amazon/aws/links/base_aws.py +1 -1
- airflow/providers/amazon/aws/links/emr.py +1 -1
- airflow/providers/amazon/aws/log/cloudwatch_task_handler.py +50 -20
- airflow/providers/amazon/aws/notifications/chime.py +1 -1
- airflow/providers/amazon/aws/operators/appflow.py +2 -2
- airflow/providers/amazon/aws/operators/athena.py +2 -2
- airflow/providers/amazon/aws/operators/batch.py +2 -2
- airflow/providers/amazon/aws/operators/bedrock.py +3 -4
- airflow/providers/amazon/aws/operators/cloud_formation.py +1 -1
- airflow/providers/amazon/aws/operators/comprehend.py +3 -4
- airflow/providers/amazon/aws/operators/datasync.py +2 -3
- airflow/providers/amazon/aws/operators/dms.py +2 -6
- airflow/providers/amazon/aws/operators/ec2.py +2 -2
- airflow/providers/amazon/aws/operators/ecs.py +2 -2
- airflow/providers/amazon/aws/operators/eks.py +3 -2
- airflow/providers/amazon/aws/operators/emr.py +3 -2
- airflow/providers/amazon/aws/operators/eventbridge.py +2 -2
- airflow/providers/amazon/aws/operators/glacier.py +1 -1
- airflow/providers/amazon/aws/operators/glue.py +2 -2
- airflow/providers/amazon/aws/operators/glue_crawler.py +3 -4
- airflow/providers/amazon/aws/operators/glue_databrew.py +2 -2
- airflow/providers/amazon/aws/operators/kinesis_analytics.py +2 -2
- airflow/providers/amazon/aws/operators/lambda_function.py +2 -2
- airflow/providers/amazon/aws/operators/mwaa.py +2 -2
- airflow/providers/amazon/aws/operators/neptune.py +2 -2
- airflow/providers/amazon/aws/operators/quicksight.py +1 -1
- airflow/providers/amazon/aws/operators/rds.py +2 -2
- airflow/providers/amazon/aws/operators/redshift_cluster.py +2 -2
- airflow/providers/amazon/aws/operators/redshift_data.py +2 -2
- airflow/providers/amazon/aws/operators/s3.py +2 -2
- airflow/providers/amazon/aws/operators/sagemaker.py +2 -2
- airflow/providers/amazon/aws/operators/sagemaker_unified_studio.py +2 -3
- airflow/providers/amazon/aws/operators/sns.py +1 -1
- airflow/providers/amazon/aws/operators/sqs.py +1 -1
- airflow/providers/amazon/aws/operators/ssm.py +1 -1
- airflow/providers/amazon/aws/operators/step_function.py +2 -2
- airflow/providers/amazon/aws/secrets/secrets_manager.py +2 -1
- airflow/providers/amazon/aws/secrets/systems_manager.py +2 -1
- airflow/providers/amazon/aws/sensors/athena.py +3 -4
- airflow/providers/amazon/aws/sensors/batch.py +2 -2
- airflow/providers/amazon/aws/sensors/bedrock.py +2 -2
- airflow/providers/amazon/aws/sensors/cloud_formation.py +2 -3
- airflow/providers/amazon/aws/sensors/comprehend.py +2 -2
- airflow/providers/amazon/aws/sensors/dms.py +2 -2
- airflow/providers/amazon/aws/sensors/dynamodb.py +1 -1
- airflow/providers/amazon/aws/sensors/ec2.py +2 -2
- airflow/providers/amazon/aws/sensors/ecs.py +2 -2
- airflow/providers/amazon/aws/sensors/eks.py +3 -2
- airflow/providers/amazon/aws/sensors/emr.py +2 -4
- airflow/providers/amazon/aws/sensors/glacier.py +2 -2
- airflow/providers/amazon/aws/sensors/glue.py +2 -2
- airflow/providers/amazon/aws/sensors/glue_catalog_partition.py +2 -2
- airflow/providers/amazon/aws/sensors/glue_crawler.py +2 -2
- airflow/providers/amazon/aws/sensors/kinesis_analytics.py +2 -2
- airflow/providers/amazon/aws/sensors/lambda_function.py +2 -2
- airflow/providers/amazon/aws/sensors/mwaa.py +2 -2
- airflow/providers/amazon/aws/sensors/opensearch_serverless.py +2 -2
- airflow/providers/amazon/aws/sensors/quicksight.py +2 -2
- airflow/providers/amazon/aws/sensors/rds.py +2 -2
- airflow/providers/amazon/aws/sensors/redshift_cluster.py +2 -2
- airflow/providers/amazon/aws/sensors/s3.py +5 -7
- airflow/providers/amazon/aws/sensors/sagemaker.py +2 -2
- airflow/providers/amazon/aws/sensors/sagemaker_unified_studio.py +2 -3
- airflow/providers/amazon/aws/sensors/sqs.py +2 -2
- airflow/providers/amazon/aws/sensors/ssm.py +1 -1
- airflow/providers/amazon/aws/sensors/step_function.py +2 -2
- airflow/providers/amazon/aws/transfers/azure_blob_to_s3.py +1 -1
- airflow/providers/amazon/aws/transfers/exasol_to_s3.py +1 -1
- airflow/providers/amazon/aws/transfers/ftp_to_s3.py +1 -1
- airflow/providers/amazon/aws/transfers/gcs_to_s3.py +2 -3
- airflow/providers/amazon/aws/transfers/glacier_to_gcs.py +1 -1
- airflow/providers/amazon/aws/transfers/google_api_to_s3.py +1 -1
- airflow/providers/amazon/aws/transfers/hive_to_dynamodb.py +1 -1
- airflow/providers/amazon/aws/transfers/http_to_s3.py +1 -1
- airflow/providers/amazon/aws/transfers/imap_attachment_to_s3.py +1 -1
- airflow/providers/amazon/aws/transfers/local_to_s3.py +1 -1
- airflow/providers/amazon/aws/transfers/mongo_to_s3.py +1 -1
- airflow/providers/amazon/aws/transfers/redshift_to_s3.py +2 -3
- airflow/providers/amazon/aws/transfers/s3_to_dynamodb.py +2 -3
- airflow/providers/amazon/aws/transfers/s3_to_ftp.py +1 -1
- airflow/providers/amazon/aws/transfers/s3_to_redshift.py +2 -3
- airflow/providers/amazon/aws/transfers/s3_to_sftp.py +1 -1
- airflow/providers/amazon/aws/transfers/s3_to_sql.py +2 -3
- airflow/providers/amazon/aws/transfers/salesforce_to_s3.py +1 -1
- airflow/providers/amazon/aws/transfers/sftp_to_s3.py +1 -1
- airflow/providers/amazon/aws/transfers/sql_to_s3.py +6 -6
- airflow/providers/amazon/aws/triggers/ecs.py +1 -1
- airflow/providers/amazon/aws/triggers/eks.py +1 -1
- airflow/providers/amazon/aws/triggers/sagemaker.py +1 -1
- airflow/providers/amazon/aws/triggers/sqs.py +1 -1
- airflow/providers/amazon/aws/utils/__init__.py +1 -1
- airflow/providers/amazon/aws/utils/connection_wrapper.py +1 -1
- airflow/providers/amazon/aws/utils/waiter.py +1 -1
- airflow/providers/amazon/aws/utils/waiter_with_logging.py +1 -1
- {apache_airflow_providers_amazon-9.18.0rc2.dist-info → apache_airflow_providers_amazon-9.19.0.dist-info}/METADATA +18 -14
- {apache_airflow_providers_amazon-9.18.0rc2.dist-info → apache_airflow_providers_amazon-9.19.0.dist-info}/RECORD +128 -128
- {apache_airflow_providers_amazon-9.18.0rc2.dist-info → apache_airflow_providers_amazon-9.19.0.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_amazon-9.18.0rc2.dist-info → apache_airflow_providers_amazon-9.19.0.dist-info}/entry_points.txt +0 -0
- {apache_airflow_providers_amazon-9.18.0rc2.dist-info → apache_airflow_providers_amazon-9.19.0.dist-info}/licenses/LICENSE +0 -0
- {apache_airflow_providers_amazon-9.18.0rc2.dist-info → apache_airflow_providers_amazon-9.19.0.dist-info}/licenses/NOTICE +0 -0
|
@@ -24,7 +24,6 @@ from typing import TYPE_CHECKING, Any
|
|
|
24
24
|
from botocore.exceptions import ClientError
|
|
25
25
|
|
|
26
26
|
from airflow.configuration import conf
|
|
27
|
-
from airflow.exceptions import AirflowException
|
|
28
27
|
from airflow.providers.amazon.aws.hooks.bedrock import (
|
|
29
28
|
BedrockAgentHook,
|
|
30
29
|
BedrockAgentRuntimeHook,
|
|
@@ -41,11 +40,11 @@ from airflow.providers.amazon.aws.triggers.bedrock import (
|
|
|
41
40
|
)
|
|
42
41
|
from airflow.providers.amazon.aws.utils import validate_execute_complete_event
|
|
43
42
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
43
|
+
from airflow.providers.common.compat.sdk import AirflowException, timezone
|
|
44
44
|
from airflow.utils.helpers import prune_dict
|
|
45
|
-
from airflow.utils.timezone import utcnow
|
|
46
45
|
|
|
47
46
|
if TYPE_CHECKING:
|
|
48
|
-
from airflow.
|
|
47
|
+
from airflow.sdk import Context
|
|
49
48
|
|
|
50
49
|
|
|
51
50
|
class BedrockInvokeModelOperator(AwsBaseOperator[BedrockRuntimeHook]):
|
|
@@ -237,7 +236,7 @@ class BedrockCustomizeModelOperator(AwsBaseOperator[BedrockHook]):
|
|
|
237
236
|
if not self.ensure_unique_job_name:
|
|
238
237
|
raise error
|
|
239
238
|
retry = True
|
|
240
|
-
self.job_name = f"{self.job_name}-{int(utcnow().timestamp())}"
|
|
239
|
+
self.job_name = f"{self.job_name}-{int(timezone.utcnow().timestamp())}"
|
|
241
240
|
self.log.info("Changed job name to '%s' to avoid collision.", self.job_name)
|
|
242
241
|
|
|
243
242
|
if response["ResponseMetadata"]["HTTPStatusCode"] != 201:
|
|
@@ -27,7 +27,7 @@ from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
|
27
27
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
28
28
|
|
|
29
29
|
if TYPE_CHECKING:
|
|
30
|
-
from airflow.
|
|
30
|
+
from airflow.sdk import Context
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
class CloudFormationCreateStackOperator(AwsBaseOperator[CloudFormationHook]):
|
|
@@ -21,7 +21,6 @@ from functools import cached_property
|
|
|
21
21
|
from typing import TYPE_CHECKING, Any, ClassVar
|
|
22
22
|
|
|
23
23
|
from airflow.configuration import conf
|
|
24
|
-
from airflow.exceptions import AirflowException
|
|
25
24
|
from airflow.providers.amazon.aws.hooks.comprehend import ComprehendHook
|
|
26
25
|
from airflow.providers.amazon.aws.links.comprehend import (
|
|
27
26
|
ComprehendDocumentClassifierLink,
|
|
@@ -34,12 +33,12 @@ from airflow.providers.amazon.aws.triggers.comprehend import (
|
|
|
34
33
|
)
|
|
35
34
|
from airflow.providers.amazon.aws.utils import validate_execute_complete_event
|
|
36
35
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
37
|
-
from airflow.
|
|
36
|
+
from airflow.providers.common.compat.sdk import AirflowException, timezone
|
|
38
37
|
|
|
39
38
|
if TYPE_CHECKING:
|
|
40
39
|
import boto3
|
|
41
40
|
|
|
42
|
-
from airflow.
|
|
41
|
+
from airflow.sdk import Context
|
|
43
42
|
|
|
44
43
|
|
|
45
44
|
class ComprehendBaseOperator(AwsBaseOperator[ComprehendHook]):
|
|
@@ -157,7 +156,7 @@ class ComprehendStartPiiEntitiesDetectionJobOperator(ComprehendBaseOperator):
|
|
|
157
156
|
def execute(self, context: Context) -> str:
|
|
158
157
|
if self.start_pii_entities_kwargs.get("JobName", None) is None:
|
|
159
158
|
self.start_pii_entities_kwargs["JobName"] = (
|
|
160
|
-
f"start_pii_entities_detection_job-{int(utcnow().timestamp())}"
|
|
159
|
+
f"start_pii_entities_detection_job-{int(timezone.utcnow().timestamp())}"
|
|
161
160
|
)
|
|
162
161
|
|
|
163
162
|
self.log.info(
|
|
@@ -23,15 +23,14 @@ import random
|
|
|
23
23
|
from collections.abc import Sequence
|
|
24
24
|
from typing import TYPE_CHECKING, Any
|
|
25
25
|
|
|
26
|
-
from airflow.exceptions import AirflowException
|
|
27
26
|
from airflow.providers.amazon.aws.hooks.datasync import DataSyncHook
|
|
28
27
|
from airflow.providers.amazon.aws.links.datasync import DataSyncTaskExecutionLink, DataSyncTaskLink
|
|
29
28
|
from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
30
29
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
31
|
-
from airflow.providers.common.compat.sdk import AirflowTaskTimeout
|
|
30
|
+
from airflow.providers.common.compat.sdk import AirflowException, AirflowTaskTimeout
|
|
32
31
|
|
|
33
32
|
if TYPE_CHECKING:
|
|
34
|
-
from airflow.
|
|
33
|
+
from airflow.sdk import Context
|
|
35
34
|
|
|
36
35
|
|
|
37
36
|
class DataSyncOperator(AwsBaseOperator[DataSyncHook]):
|
|
@@ -19,10 +19,9 @@ from __future__ import annotations
|
|
|
19
19
|
|
|
20
20
|
from collections.abc import Sequence
|
|
21
21
|
from datetime import datetime
|
|
22
|
-
from typing import
|
|
22
|
+
from typing import Any, ClassVar
|
|
23
23
|
|
|
24
24
|
from airflow.configuration import conf
|
|
25
|
-
from airflow.exceptions import AirflowException
|
|
26
25
|
from airflow.providers.amazon.aws.hooks.dms import DmsHook
|
|
27
26
|
from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
28
27
|
from airflow.providers.amazon.aws.triggers.dms import (
|
|
@@ -33,10 +32,7 @@ from airflow.providers.amazon.aws.triggers.dms import (
|
|
|
33
32
|
DmsReplicationTerminalStatusTrigger,
|
|
34
33
|
)
|
|
35
34
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
36
|
-
from airflow.
|
|
37
|
-
|
|
38
|
-
if TYPE_CHECKING:
|
|
39
|
-
from airflow.utils.context import Context
|
|
35
|
+
from airflow.providers.common.compat.sdk import AirflowException, Context
|
|
40
36
|
|
|
41
37
|
|
|
42
38
|
class DmsCreateTaskOperator(AwsBaseOperator[DmsHook]):
|
|
@@ -20,7 +20,6 @@ from __future__ import annotations
|
|
|
20
20
|
from collections.abc import Sequence
|
|
21
21
|
from typing import TYPE_CHECKING, Any
|
|
22
22
|
|
|
23
|
-
from airflow.exceptions import AirflowException
|
|
24
23
|
from airflow.providers.amazon.aws.hooks.ec2 import EC2Hook
|
|
25
24
|
from airflow.providers.amazon.aws.links.ec2 import (
|
|
26
25
|
EC2InstanceDashboardLink,
|
|
@@ -28,9 +27,10 @@ from airflow.providers.amazon.aws.links.ec2 import (
|
|
|
28
27
|
)
|
|
29
28
|
from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
30
29
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
30
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
31
31
|
|
|
32
32
|
if TYPE_CHECKING:
|
|
33
|
-
from airflow.
|
|
33
|
+
from airflow.sdk import Context
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
class EC2StartInstanceOperator(AwsBaseOperator[EC2Hook]):
|
|
@@ -25,7 +25,6 @@ from time import sleep
|
|
|
25
25
|
from typing import TYPE_CHECKING, Any
|
|
26
26
|
|
|
27
27
|
from airflow.configuration import conf
|
|
28
|
-
from airflow.exceptions import AirflowException
|
|
29
28
|
from airflow.providers.amazon.aws.exceptions import EcsOperatorError, EcsTaskFailToStart
|
|
30
29
|
from airflow.providers.amazon.aws.hooks.ecs import EcsClusterStates, EcsHook
|
|
31
30
|
from airflow.providers.amazon.aws.hooks.logs import AwsLogsHook
|
|
@@ -39,13 +38,14 @@ from airflow.providers.amazon.aws.utils import validate_execute_complete_event
|
|
|
39
38
|
from airflow.providers.amazon.aws.utils.identifiers import generate_uuid
|
|
40
39
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
41
40
|
from airflow.providers.amazon.aws.utils.task_log_fetcher import AwsTaskLogFetcher
|
|
41
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
42
42
|
from airflow.utils.helpers import prune_dict
|
|
43
43
|
|
|
44
44
|
if TYPE_CHECKING:
|
|
45
45
|
import boto3
|
|
46
46
|
|
|
47
47
|
from airflow.models import TaskInstance
|
|
48
|
-
from airflow.
|
|
48
|
+
from airflow.sdk import Context
|
|
49
49
|
|
|
50
50
|
|
|
51
51
|
class EcsBaseOperator(AwsBaseOperator[EcsHook]):
|
|
@@ -28,7 +28,7 @@ from typing import TYPE_CHECKING, Any, cast
|
|
|
28
28
|
from botocore.exceptions import ClientError, WaiterError
|
|
29
29
|
|
|
30
30
|
from airflow.configuration import conf
|
|
31
|
-
from airflow.exceptions import
|
|
31
|
+
from airflow.exceptions import AirflowProviderDeprecationWarning
|
|
32
32
|
from airflow.providers.amazon.aws.hooks.eks import EksHook
|
|
33
33
|
from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
34
34
|
from airflow.providers.amazon.aws.triggers.eks import (
|
|
@@ -43,6 +43,7 @@ from airflow.providers.amazon.aws.utils import validate_execute_complete_event
|
|
|
43
43
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
44
44
|
from airflow.providers.amazon.aws.utils.waiter_with_logging import wait
|
|
45
45
|
from airflow.providers.cncf.kubernetes.utils.pod_manager import OnFinishAction
|
|
46
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
46
47
|
|
|
47
48
|
try:
|
|
48
49
|
from airflow.providers.cncf.kubernetes.operators.pod import KubernetesPodOperator
|
|
@@ -53,7 +54,7 @@ except ImportError:
|
|
|
53
54
|
)
|
|
54
55
|
|
|
55
56
|
if TYPE_CHECKING:
|
|
56
|
-
from airflow.
|
|
57
|
+
from airflow.sdk import Context
|
|
57
58
|
|
|
58
59
|
|
|
59
60
|
CHECK_INTERVAL_SECONDS = 15
|
|
@@ -25,7 +25,7 @@ from typing import TYPE_CHECKING, Any
|
|
|
25
25
|
from uuid import uuid4
|
|
26
26
|
|
|
27
27
|
from airflow.configuration import conf
|
|
28
|
-
from airflow.exceptions import
|
|
28
|
+
from airflow.exceptions import AirflowProviderDeprecationWarning
|
|
29
29
|
from airflow.providers.amazon.aws.hooks.emr import EmrContainerHook, EmrHook, EmrServerlessHook
|
|
30
30
|
from airflow.providers.amazon.aws.links.emr import (
|
|
31
31
|
EmrClusterLink,
|
|
@@ -58,10 +58,11 @@ from airflow.providers.amazon.aws.utils.waiter import (
|
|
|
58
58
|
)
|
|
59
59
|
from airflow.providers.amazon.aws.utils.waiter_with_logging import wait
|
|
60
60
|
from airflow.providers.amazon.version_compat import NOTSET, ArgNotSet
|
|
61
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
61
62
|
from airflow.utils.helpers import exactly_one, prune_dict
|
|
62
63
|
|
|
63
64
|
if TYPE_CHECKING:
|
|
64
|
-
from airflow.
|
|
65
|
+
from airflow.sdk import Context
|
|
65
66
|
|
|
66
67
|
|
|
67
68
|
class EmrAddStepsOperator(AwsBaseOperator[EmrHook]):
|
|
@@ -19,14 +19,14 @@ from __future__ import annotations
|
|
|
19
19
|
from collections.abc import Sequence
|
|
20
20
|
from typing import TYPE_CHECKING
|
|
21
21
|
|
|
22
|
-
from airflow.exceptions import AirflowException
|
|
23
22
|
from airflow.providers.amazon.aws.hooks.eventbridge import EventBridgeHook
|
|
24
23
|
from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
25
24
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
25
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
26
26
|
from airflow.utils.helpers import prune_dict
|
|
27
27
|
|
|
28
28
|
if TYPE_CHECKING:
|
|
29
|
-
from airflow.
|
|
29
|
+
from airflow.sdk import Context
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
class EventBridgePutEventsOperator(AwsBaseOperator[EventBridgeHook]):
|
|
@@ -25,7 +25,7 @@ from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
|
25
25
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
26
26
|
|
|
27
27
|
if TYPE_CHECKING:
|
|
28
|
-
from airflow.
|
|
28
|
+
from airflow.sdk import Context
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
class GlacierCreateJobOperator(AwsBaseOperator[GlacierHook]):
|
|
@@ -25,7 +25,6 @@ from typing import TYPE_CHECKING, Any
|
|
|
25
25
|
from botocore.exceptions import ClientError
|
|
26
26
|
|
|
27
27
|
from airflow.configuration import conf
|
|
28
|
-
from airflow.exceptions import AirflowException
|
|
29
28
|
from airflow.providers.amazon.aws.hooks.glue import GlueDataQualityHook, GlueJobHook
|
|
30
29
|
from airflow.providers.amazon.aws.hooks.s3 import S3Hook
|
|
31
30
|
from airflow.providers.amazon.aws.links.glue import GlueJobRunDetailsLink
|
|
@@ -37,9 +36,10 @@ from airflow.providers.amazon.aws.triggers.glue import (
|
|
|
37
36
|
)
|
|
38
37
|
from airflow.providers.amazon.aws.utils import validate_execute_complete_event
|
|
39
38
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
39
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
40
40
|
|
|
41
41
|
if TYPE_CHECKING:
|
|
42
|
-
from airflow.
|
|
42
|
+
from airflow.sdk import Context
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
class GlueJobOperator(AwsBaseOperator[GlueJobHook]):
|
|
@@ -21,16 +21,15 @@ from collections.abc import Sequence
|
|
|
21
21
|
from typing import TYPE_CHECKING, Any
|
|
22
22
|
|
|
23
23
|
from airflow.configuration import conf
|
|
24
|
-
from airflow.
|
|
24
|
+
from airflow.providers.amazon.aws.hooks.glue_crawler import GlueCrawlerHook
|
|
25
25
|
from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
26
26
|
from airflow.providers.amazon.aws.triggers.glue_crawler import GlueCrawlerCompleteTrigger
|
|
27
27
|
from airflow.providers.amazon.aws.utils import validate_execute_complete_event
|
|
28
28
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
29
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
29
30
|
|
|
30
31
|
if TYPE_CHECKING:
|
|
31
|
-
from airflow.
|
|
32
|
-
|
|
33
|
-
from airflow.providers.amazon.aws.hooks.glue_crawler import GlueCrawlerHook
|
|
32
|
+
from airflow.sdk import Context
|
|
34
33
|
|
|
35
34
|
|
|
36
35
|
class GlueCrawlerOperator(AwsBaseOperator[GlueCrawlerHook]):
|
|
@@ -21,15 +21,15 @@ from collections.abc import Sequence
|
|
|
21
21
|
from typing import TYPE_CHECKING, Any
|
|
22
22
|
|
|
23
23
|
from airflow.configuration import conf
|
|
24
|
-
from airflow.exceptions import AirflowException
|
|
25
24
|
from airflow.providers.amazon.aws.hooks.glue_databrew import GlueDataBrewHook
|
|
26
25
|
from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
27
26
|
from airflow.providers.amazon.aws.triggers.glue_databrew import GlueDataBrewJobCompleteTrigger
|
|
28
27
|
from airflow.providers.amazon.aws.utils import validate_execute_complete_event
|
|
29
28
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
29
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
30
30
|
|
|
31
31
|
if TYPE_CHECKING:
|
|
32
|
-
from airflow.
|
|
32
|
+
from airflow.sdk import Context
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
class GlueDataBrewStartJobOperator(AwsBaseOperator[GlueDataBrewHook]):
|
|
@@ -22,7 +22,6 @@ from typing import TYPE_CHECKING, Any, ClassVar
|
|
|
22
22
|
from botocore.exceptions import ClientError
|
|
23
23
|
|
|
24
24
|
from airflow.configuration import conf
|
|
25
|
-
from airflow.exceptions import AirflowException
|
|
26
25
|
from airflow.providers.amazon.aws.hooks.kinesis_analytics import KinesisAnalyticsV2Hook
|
|
27
26
|
from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
28
27
|
from airflow.providers.amazon.aws.triggers.kinesis_analytics import (
|
|
@@ -30,9 +29,10 @@ from airflow.providers.amazon.aws.triggers.kinesis_analytics import (
|
|
|
30
29
|
)
|
|
31
30
|
from airflow.providers.amazon.aws.utils import validate_execute_complete_event
|
|
32
31
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
32
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
33
33
|
|
|
34
34
|
if TYPE_CHECKING:
|
|
35
|
-
from airflow.
|
|
35
|
+
from airflow.sdk import Context
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
class KinesisAnalyticsV2CreateApplicationOperator(AwsBaseOperator[KinesisAnalyticsV2Hook]):
|
|
@@ -23,15 +23,15 @@ from datetime import timedelta
|
|
|
23
23
|
from typing import TYPE_CHECKING, Any
|
|
24
24
|
|
|
25
25
|
from airflow.configuration import conf
|
|
26
|
-
from airflow.exceptions import AirflowException
|
|
27
26
|
from airflow.providers.amazon.aws.hooks.lambda_function import LambdaHook
|
|
28
27
|
from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
29
28
|
from airflow.providers.amazon.aws.triggers.lambda_function import LambdaCreateFunctionCompleteTrigger
|
|
30
29
|
from airflow.providers.amazon.aws.utils import validate_execute_complete_event
|
|
31
30
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
31
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
32
32
|
|
|
33
33
|
if TYPE_CHECKING:
|
|
34
|
-
from airflow.
|
|
34
|
+
from airflow.sdk import Context
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
class LambdaCreateFunctionOperator(AwsBaseOperator[LambdaHook]):
|
|
@@ -22,15 +22,15 @@ from collections.abc import Sequence
|
|
|
22
22
|
from typing import TYPE_CHECKING, Any, Literal
|
|
23
23
|
|
|
24
24
|
from airflow.configuration import conf
|
|
25
|
-
from airflow.exceptions import AirflowException
|
|
26
25
|
from airflow.providers.amazon.aws.hooks.mwaa import MwaaHook
|
|
27
26
|
from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
28
27
|
from airflow.providers.amazon.aws.triggers.mwaa import MwaaDagRunCompletedTrigger
|
|
29
28
|
from airflow.providers.amazon.aws.utils import validate_execute_complete_event
|
|
30
29
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
30
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
31
31
|
|
|
32
32
|
if TYPE_CHECKING:
|
|
33
|
-
from airflow.
|
|
33
|
+
from airflow.sdk import Context
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
class MwaaTriggerDagRunOperator(AwsBaseOperator[MwaaHook]):
|
|
@@ -23,7 +23,6 @@ from typing import TYPE_CHECKING, Any
|
|
|
23
23
|
from botocore.exceptions import ClientError
|
|
24
24
|
|
|
25
25
|
from airflow.configuration import conf
|
|
26
|
-
from airflow.exceptions import AirflowException
|
|
27
26
|
from airflow.providers.amazon.aws.hooks.neptune import NeptuneHook
|
|
28
27
|
from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
29
28
|
from airflow.providers.amazon.aws.triggers.neptune import (
|
|
@@ -32,9 +31,10 @@ from airflow.providers.amazon.aws.triggers.neptune import (
|
|
|
32
31
|
NeptuneClusterStoppedTrigger,
|
|
33
32
|
)
|
|
34
33
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
34
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
35
35
|
|
|
36
36
|
if TYPE_CHECKING:
|
|
37
|
-
from airflow.
|
|
37
|
+
from airflow.sdk import Context
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
def handle_waitable_exception(
|
|
@@ -24,7 +24,7 @@ from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
|
24
24
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
25
25
|
|
|
26
26
|
if TYPE_CHECKING:
|
|
27
|
-
from airflow.
|
|
27
|
+
from airflow.sdk import Context
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
class QuickSightCreateIngestionOperator(AwsBaseOperator[QuickSightHook]):
|
|
@@ -23,7 +23,6 @@ from datetime import timedelta
|
|
|
23
23
|
from typing import TYPE_CHECKING, Any
|
|
24
24
|
|
|
25
25
|
from airflow.configuration import conf
|
|
26
|
-
from airflow.exceptions import AirflowException
|
|
27
26
|
from airflow.providers.amazon.aws.hooks.rds import RdsHook
|
|
28
27
|
from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
29
28
|
from airflow.providers.amazon.aws.triggers.rds import (
|
|
@@ -36,12 +35,13 @@ from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
|
36
35
|
from airflow.providers.amazon.aws.utils.rds import RdsDbType
|
|
37
36
|
from airflow.providers.amazon.aws.utils.tags import format_tags
|
|
38
37
|
from airflow.providers.amazon.aws.utils.waiter_with_logging import wait
|
|
38
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
39
39
|
from airflow.utils.helpers import prune_dict
|
|
40
40
|
|
|
41
41
|
if TYPE_CHECKING:
|
|
42
42
|
from mypy_boto3_rds.type_defs import TagTypeDef
|
|
43
43
|
|
|
44
|
-
from airflow.
|
|
44
|
+
from airflow.sdk import Context
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
class RdsBaseOperator(AwsBaseOperator[RdsHook]):
|
|
@@ -22,7 +22,6 @@ from datetime import timedelta
|
|
|
22
22
|
from typing import TYPE_CHECKING, Any
|
|
23
23
|
|
|
24
24
|
from airflow.configuration import conf
|
|
25
|
-
from airflow.exceptions import AirflowException
|
|
26
25
|
from airflow.providers.amazon.aws.hooks.redshift_cluster import RedshiftHook
|
|
27
26
|
from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
28
27
|
from airflow.providers.amazon.aws.triggers.redshift_cluster import (
|
|
@@ -34,10 +33,11 @@ from airflow.providers.amazon.aws.triggers.redshift_cluster import (
|
|
|
34
33
|
)
|
|
35
34
|
from airflow.providers.amazon.aws.utils import validate_execute_complete_event
|
|
36
35
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
36
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
37
37
|
from airflow.utils.helpers import prune_dict
|
|
38
38
|
|
|
39
39
|
if TYPE_CHECKING:
|
|
40
|
-
from airflow.
|
|
40
|
+
from airflow.sdk import Context
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
class RedshiftCreateClusterOperator(AwsBaseOperator[RedshiftHook]):
|
|
@@ -20,12 +20,12 @@ from __future__ import annotations
|
|
|
20
20
|
from typing import TYPE_CHECKING, Any
|
|
21
21
|
|
|
22
22
|
from airflow.configuration import conf
|
|
23
|
-
from airflow.exceptions import AirflowException
|
|
24
23
|
from airflow.providers.amazon.aws.hooks.redshift_data import RedshiftDataHook
|
|
25
24
|
from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
26
25
|
from airflow.providers.amazon.aws.triggers.redshift_data import RedshiftDataTrigger
|
|
27
26
|
from airflow.providers.amazon.aws.utils import validate_execute_complete_event
|
|
28
27
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
28
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
29
29
|
|
|
30
30
|
if TYPE_CHECKING:
|
|
31
31
|
from mypy_boto3_redshift_data.type_defs import (
|
|
@@ -33,7 +33,7 @@ if TYPE_CHECKING:
|
|
|
33
33
|
GetStatementResultResponseTypeDef,
|
|
34
34
|
)
|
|
35
35
|
|
|
36
|
-
from airflow.
|
|
36
|
+
from airflow.sdk import Context
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
class RedshiftDataOperator(AwsBaseOperator[RedshiftDataHook]):
|
|
@@ -28,16 +28,16 @@ from typing import TYPE_CHECKING
|
|
|
28
28
|
import pytz
|
|
29
29
|
from dateutil import parser
|
|
30
30
|
|
|
31
|
-
from airflow.exceptions import AirflowException
|
|
32
31
|
from airflow.providers.amazon.aws.hooks.s3 import S3Hook
|
|
33
32
|
from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
34
33
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
34
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
35
35
|
from airflow.utils.helpers import exactly_one
|
|
36
36
|
|
|
37
37
|
if TYPE_CHECKING:
|
|
38
38
|
from datetime import datetime
|
|
39
39
|
|
|
40
|
-
from airflow.
|
|
40
|
+
from airflow.sdk import Context
|
|
41
41
|
|
|
42
42
|
BUCKET_DOES_NOT_EXIST_MSG = "Bucket with name: %s doesn't exist"
|
|
43
43
|
|
|
@@ -26,7 +26,6 @@ from typing import TYPE_CHECKING, Any, ClassVar
|
|
|
26
26
|
from botocore.exceptions import ClientError
|
|
27
27
|
|
|
28
28
|
from airflow.configuration import conf
|
|
29
|
-
from airflow.exceptions import AirflowException
|
|
30
29
|
from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
|
|
31
30
|
from airflow.providers.amazon.aws.hooks.sagemaker import (
|
|
32
31
|
LogState,
|
|
@@ -43,12 +42,13 @@ from airflow.providers.amazon.aws.utils import trim_none_values, validate_execut
|
|
|
43
42
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
44
43
|
from airflow.providers.amazon.aws.utils.sagemaker import ApprovalStatus
|
|
45
44
|
from airflow.providers.amazon.aws.utils.tags import format_tags
|
|
45
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
46
46
|
from airflow.utils.helpers import prune_dict
|
|
47
47
|
|
|
48
48
|
if TYPE_CHECKING:
|
|
49
49
|
from airflow.providers.common.compat.openlineage.facet import Dataset
|
|
50
50
|
from airflow.providers.openlineage.extractors.base import OperatorLineage
|
|
51
|
-
from airflow.
|
|
51
|
+
from airflow.sdk import Context
|
|
52
52
|
|
|
53
53
|
# DEFAULT_CONN_ID: str = "aws_default"
|
|
54
54
|
CHECK_INTERVAL_SECOND: int = 30
|
|
@@ -23,7 +23,6 @@ from functools import cached_property
|
|
|
23
23
|
from typing import TYPE_CHECKING
|
|
24
24
|
|
|
25
25
|
from airflow.configuration import conf
|
|
26
|
-
from airflow.exceptions import AirflowException
|
|
27
26
|
from airflow.providers.amazon.aws.hooks.sagemaker_unified_studio import (
|
|
28
27
|
SageMakerNotebookHook,
|
|
29
28
|
)
|
|
@@ -33,10 +32,10 @@ from airflow.providers.amazon.aws.links.sagemaker_unified_studio import (
|
|
|
33
32
|
from airflow.providers.amazon.aws.triggers.sagemaker_unified_studio import (
|
|
34
33
|
SageMakerNotebookJobTrigger,
|
|
35
34
|
)
|
|
36
|
-
from airflow.providers.common.compat.sdk import BaseOperator
|
|
35
|
+
from airflow.providers.common.compat.sdk import AirflowException, BaseOperator
|
|
37
36
|
|
|
38
37
|
if TYPE_CHECKING:
|
|
39
|
-
from airflow.
|
|
38
|
+
from airflow.sdk import Context
|
|
40
39
|
|
|
41
40
|
|
|
42
41
|
class SageMakerNotebookOperator(BaseOperator):
|
|
@@ -27,7 +27,7 @@ from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
|
27
27
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
28
28
|
|
|
29
29
|
if TYPE_CHECKING:
|
|
30
|
-
from airflow.
|
|
30
|
+
from airflow.sdk import Context
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
class SnsPublishOperator(AwsBaseOperator[SnsHook]):
|
|
@@ -26,7 +26,7 @@ from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
|
26
26
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
27
27
|
|
|
28
28
|
if TYPE_CHECKING:
|
|
29
|
-
from airflow.
|
|
29
|
+
from airflow.sdk import Context
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
class SqsPublishOperator(AwsBaseOperator[SqsHook]):
|
|
@@ -27,7 +27,7 @@ from airflow.providers.amazon.aws.utils import validate_execute_complete_event
|
|
|
27
27
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
28
28
|
|
|
29
29
|
if TYPE_CHECKING:
|
|
30
|
-
from airflow.
|
|
30
|
+
from airflow.sdk import Context
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
class SsmRunCommandOperator(AwsBaseOperator[SsmHook]):
|
|
@@ -22,7 +22,6 @@ from datetime import timedelta
|
|
|
22
22
|
from typing import TYPE_CHECKING, Any
|
|
23
23
|
|
|
24
24
|
from airflow.configuration import conf
|
|
25
|
-
from airflow.exceptions import AirflowException
|
|
26
25
|
from airflow.providers.amazon.aws.hooks.step_function import StepFunctionHook
|
|
27
26
|
from airflow.providers.amazon.aws.links.step_function import (
|
|
28
27
|
StateMachineDetailsLink,
|
|
@@ -32,9 +31,10 @@ from airflow.providers.amazon.aws.operators.base_aws import AwsBaseOperator
|
|
|
32
31
|
from airflow.providers.amazon.aws.triggers.step_function import StepFunctionsExecutionCompleteTrigger
|
|
33
32
|
from airflow.providers.amazon.aws.utils import validate_execute_complete_event
|
|
34
33
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
34
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
35
35
|
|
|
36
36
|
if TYPE_CHECKING:
|
|
37
|
-
from airflow.
|
|
37
|
+
from airflow.sdk import Context
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
class StepFunctionStartExecutionOperator(AwsBaseOperator[StepFunctionHook]):
|
|
@@ -225,11 +225,12 @@ class SecretsManagerBackend(BaseSecretsBackend, LoggingMixin):
|
|
|
225
225
|
return standardized_secret
|
|
226
226
|
return secret
|
|
227
227
|
|
|
228
|
-
def get_variable(self, key: str) -> str | None:
|
|
228
|
+
def get_variable(self, key: str, team_name: str | None = None) -> str | None:
|
|
229
229
|
"""
|
|
230
230
|
Get Airflow Variable.
|
|
231
231
|
|
|
232
232
|
:param key: Variable Key
|
|
233
|
+
:param team_name: Team name associated to the task trying to access the variable (if any)
|
|
233
234
|
:return: Variable Value
|
|
234
235
|
"""
|
|
235
236
|
if self.variables_prefix is None:
|
|
@@ -143,11 +143,12 @@ class SystemsManagerParameterStoreBackend(BaseSecretsBackend, LoggingMixin):
|
|
|
143
143
|
|
|
144
144
|
return self._get_secret(self.connections_prefix, conn_id, self.connections_lookup_pattern)
|
|
145
145
|
|
|
146
|
-
def get_variable(self, key: str) -> str | None:
|
|
146
|
+
def get_variable(self, key: str, team_name: str | None = None) -> str | None:
|
|
147
147
|
"""
|
|
148
148
|
Get Airflow Variable.
|
|
149
149
|
|
|
150
150
|
:param key: Variable Key
|
|
151
|
+
:param team_name: Team name associated to the task trying to access the variable (if any)
|
|
151
152
|
:return: Variable Value
|
|
152
153
|
"""
|
|
153
154
|
if self.variables_prefix is None:
|
|
@@ -20,14 +20,13 @@ from __future__ import annotations
|
|
|
20
20
|
from collections.abc import Sequence
|
|
21
21
|
from typing import TYPE_CHECKING, Any
|
|
22
22
|
|
|
23
|
+
from airflow.providers.amazon.aws.hooks.athena import AthenaHook
|
|
23
24
|
from airflow.providers.amazon.aws.sensors.base_aws import AwsBaseSensor
|
|
24
25
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
26
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
25
27
|
|
|
26
28
|
if TYPE_CHECKING:
|
|
27
|
-
from airflow.
|
|
28
|
-
|
|
29
|
-
from airflow.exceptions import AirflowException
|
|
30
|
-
from airflow.providers.amazon.aws.hooks.athena import AthenaHook
|
|
29
|
+
from airflow.sdk import Context
|
|
31
30
|
|
|
32
31
|
|
|
33
32
|
class AthenaSensor(AwsBaseSensor[AthenaHook]):
|
|
@@ -21,14 +21,14 @@ from datetime import timedelta
|
|
|
21
21
|
from typing import TYPE_CHECKING, Any
|
|
22
22
|
|
|
23
23
|
from airflow.configuration import conf
|
|
24
|
-
from airflow.exceptions import AirflowException
|
|
25
24
|
from airflow.providers.amazon.aws.hooks.batch_client import BatchClientHook
|
|
26
25
|
from airflow.providers.amazon.aws.sensors.base_aws import AwsBaseSensor
|
|
27
26
|
from airflow.providers.amazon.aws.triggers.batch import BatchJobTrigger
|
|
28
27
|
from airflow.providers.amazon.aws.utils.mixins import aws_template_fields
|
|
28
|
+
from airflow.providers.common.compat.sdk import AirflowException
|
|
29
29
|
|
|
30
30
|
if TYPE_CHECKING:
|
|
31
|
-
from airflow.
|
|
31
|
+
from airflow.sdk import Context
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
class BatchSensor(AwsBaseSensor[BatchClientHook]):
|