This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 9d91bb435d D401 Support in Microsoft providers (#37327)
9d91bb435d is described below
commit 9d91bb435d7d67f77162dc694a8329f090c4f95f
Author: Vincent Kling <[email protected]>
AuthorDate: Mon Feb 12 11:45:16 2024 +0100
D401 Support in Microsoft providers (#37327)
Signed-off-by: Vincent Kling <[email protected]>
---
airflow/providers/microsoft/azure/hooks/adx.py | 6 +++---
airflow/providers/microsoft/azure/hooks/asb.py | 4 ++--
.../providers/microsoft/azure/hooks/base_azure.py | 6 +++---
airflow/providers/microsoft/azure/hooks/batch.py | 14 ++++++-------
.../microsoft/azure/hooks/container_instance.py | 2 +-
.../microsoft/azure/hooks/container_registry.py | 4 ++--
.../microsoft/azure/hooks/container_volume.py | 4 ++--
airflow/providers/microsoft/azure/hooks/cosmos.py | 18 ++++++++--------
.../microsoft/azure/hooks/data_factory.py | 6 +++---
.../providers/microsoft/azure/hooks/data_lake.py | 8 ++++----
.../providers/microsoft/azure/hooks/fileshare.py | 4 ++--
airflow/providers/microsoft/azure/hooks/synapse.py | 12 +++++------
airflow/providers/microsoft/azure/hooks/wasb.py | 16 +++++++--------
.../microsoft/azure/log/wasb_task_handler.py | 4 ++--
airflow/providers/microsoft/azure/operators/adx.py | 4 ++--
airflow/providers/microsoft/azure/operators/asb.py | 10 ++++-----
.../microsoft/azure/operators/data_factory.py | 6 +++---
.../providers/microsoft/azure/operators/synapse.py | 10 ++++-----
.../microsoft/azure/sensors/data_factory.py | 2 +-
airflow/providers/microsoft/azure/sensors/wasb.py | 8 ++++----
.../microsoft/azure/transfers/sftp_to_wasb.py | 2 +-
.../microsoft/azure/triggers/data_factory.py | 4 ++--
airflow/providers/microsoft/azure/triggers/wasb.py | 12 +++++------
airflow/providers/microsoft/psrp/hooks/psrp.py | 4 ++--
pyproject.toml | 24 ----------------------
25 files changed, 85 insertions(+), 109 deletions(-)
diff --git a/airflow/providers/microsoft/azure/hooks/adx.py
b/airflow/providers/microsoft/azure/hooks/adx.py
index bbe46c4a1f..87872e8457 100644
--- a/airflow/providers/microsoft/azure/hooks/adx.py
+++ b/airflow/providers/microsoft/azure/hooks/adx.py
@@ -45,7 +45,7 @@ if TYPE_CHECKING:
class AzureDataExplorerHook(BaseHook):
"""
- Interacts with Azure Data Explorer (Kusto).
+ Interact with Azure Data Explorer (Kusto).
**Cluster**:
@@ -85,7 +85,7 @@ class AzureDataExplorerHook(BaseHook):
@classmethod
@add_managed_identity_connection_widgets
def get_connection_form_widgets(cls) -> dict[str, Any]:
- """Returns connection widgets to add to connection form."""
+ """Return connection widgets to add to connection form."""
from flask_appbuilder.fieldwidgets import BS3PasswordFieldWidget,
BS3TextFieldWidget
from flask_babel import lazy_gettext
from wtforms import PasswordField, StringField
@@ -103,7 +103,7 @@ class AzureDataExplorerHook(BaseHook):
@classmethod
def get_ui_field_behaviour(cls) -> dict[str, Any]:
- """Returns custom field behaviour."""
+ """Return custom field behaviour."""
return {
"hidden_fields": ["schema", "port", "extra"],
"relabeling": {
diff --git a/airflow/providers/microsoft/azure/hooks/asb.py
b/airflow/providers/microsoft/azure/hooks/asb.py
index 6155165554..530d71f4fb 100644
--- a/airflow/providers/microsoft/azure/hooks/asb.py
+++ b/airflow/providers/microsoft/azure/hooks/asb.py
@@ -48,7 +48,7 @@ class BaseAzureServiceBusHook(BaseHook):
@classmethod
@add_managed_identity_connection_widgets
def get_connection_form_widgets(cls) -> dict[str, Any]:
- """Returns connection widgets to add to connection form."""
+ """Return connection widgets to add to connection form."""
from flask_appbuilder.fieldwidgets import BS3TextFieldWidget
from flask_babel import lazy_gettext
from wtforms import PasswordField, StringField
@@ -62,7 +62,7 @@ class BaseAzureServiceBusHook(BaseHook):
@classmethod
def get_ui_field_behaviour(cls) -> dict[str, Any]:
- """Returns custom field behaviour."""
+ """Return custom field behaviour."""
return {
"hidden_fields": ["port", "host", "extra", "login", "password"],
"relabeling": {"schema": "Connection String"},
diff --git a/airflow/providers/microsoft/azure/hooks/base_azure.py
b/airflow/providers/microsoft/azure/hooks/base_azure.py
index 9ec7aedd4b..70496d8796 100644
--- a/airflow/providers/microsoft/azure/hooks/base_azure.py
+++ b/airflow/providers/microsoft/azure/hooks/base_azure.py
@@ -50,7 +50,7 @@ class AzureBaseHook(BaseHook):
@classmethod
@add_managed_identity_connection_widgets
def get_connection_form_widgets(cls) -> dict[str, Any]:
- """Returns connection widgets to add to connection form."""
+ """Return connection widgets to add to connection form."""
from flask_appbuilder.fieldwidgets import BS3TextFieldWidget
from flask_babel import lazy_gettext
from wtforms import StringField
@@ -62,7 +62,7 @@ class AzureBaseHook(BaseHook):
@classmethod
def get_ui_field_behaviour(cls) -> dict[str, Any]:
- """Returns custom field behaviour."""
+ """Return custom field behaviour."""
import json
return {
@@ -93,7 +93,7 @@ class AzureBaseHook(BaseHook):
def get_conn(self) -> Any:
"""
- Authenticates the resource using the connection id passed during init.
+ Authenticate the resource using the connection id passed during init.
:return: the authenticated client.
"""
diff --git a/airflow/providers/microsoft/azure/hooks/batch.py
b/airflow/providers/microsoft/azure/hooks/batch.py
index f65b97f5a1..d4517fd170 100644
--- a/airflow/providers/microsoft/azure/hooks/batch.py
+++ b/airflow/providers/microsoft/azure/hooks/batch.py
@@ -53,7 +53,7 @@ class AzureBatchHook(BaseHook):
@classmethod
@add_managed_identity_connection_widgets
def get_connection_form_widgets(cls) -> dict[str, Any]:
- """Returns connection widgets to add to connection form."""
+ """Return connection widgets to add to connection form."""
from flask_appbuilder.fieldwidgets import BS3TextFieldWidget
from flask_babel import lazy_gettext
from wtforms import StringField
@@ -64,7 +64,7 @@ class AzureBatchHook(BaseHook):
@classmethod
def get_ui_field_behaviour(cls) -> dict[str, Any]:
- """Returns custom field behaviour."""
+ """Return custom field behaviour."""
return {
"hidden_fields": ["schema", "port", "host", "extra"],
"relabeling": {
@@ -136,7 +136,7 @@ class AzureBatchHook(BaseHook):
**kwargs,
) -> PoolAddParameter:
"""
- Configures a pool.
+ Configure a pool.
:param pool_id: A string that uniquely identifies the Pool within the
Account
@@ -221,7 +221,7 @@ class AzureBatchHook(BaseHook):
def create_pool(self, pool: PoolAddParameter) -> None:
"""
- Creates a pool if not already existing.
+ Create a pool if not already existing.
:param pool: the pool object to create
@@ -296,7 +296,7 @@ class AzureBatchHook(BaseHook):
**kwargs,
) -> JobAddParameter:
"""
- Configures a job for use in the pool.
+ Configure a job for use in the pool.
:param job_id: A string that uniquely identifies the job within the
account
:param pool_id: A string that identifies the pool
@@ -312,7 +312,7 @@ class AzureBatchHook(BaseHook):
def create_job(self, job: JobAddParameter) -> None:
"""
- Creates a job in the pool.
+ Create a job in the pool.
:param job: The job object to create
"""
@@ -334,7 +334,7 @@ class AzureBatchHook(BaseHook):
**kwargs,
) -> TaskAddParameter:
"""
- Creates a task.
+ Create a task.
:param task_id: A string that identifies the task to create
:param command_line: The command line of the Task.
diff --git a/airflow/providers/microsoft/azure/hooks/container_instance.py
b/airflow/providers/microsoft/azure/hooks/container_instance.py
index f84a202500..a3547bfa1a 100644
--- a/airflow/providers/microsoft/azure/hooks/container_instance.py
+++ b/airflow/providers/microsoft/azure/hooks/container_instance.py
@@ -66,7 +66,7 @@ class AzureContainerInstanceHook(AzureBaseHook):
def get_conn(self) -> Any:
"""
- Authenticates the resource using the connection id passed during init.
+ Authenticate the resource using the connection id passed during init.
:return: the authenticated client.
"""
diff --git a/airflow/providers/microsoft/azure/hooks/container_registry.py
b/airflow/providers/microsoft/azure/hooks/container_registry.py
index acc704dfdf..1903e9c347 100644
--- a/airflow/providers/microsoft/azure/hooks/container_registry.py
+++ b/airflow/providers/microsoft/azure/hooks/container_registry.py
@@ -49,7 +49,7 @@ class AzureContainerRegistryHook(BaseHook):
@classmethod
@add_managed_identity_connection_widgets
def get_connection_form_widgets(cls) -> dict[str, Any]:
- """Returns connection widgets to add to connection form."""
+ """Return connection widgets to add to connection form."""
from flask_appbuilder.fieldwidgets import BS3TextFieldWidget
from flask_babel import lazy_gettext
from wtforms import StringField
@@ -67,7 +67,7 @@ class AzureContainerRegistryHook(BaseHook):
@classmethod
def get_ui_field_behaviour(cls) -> dict[str, Any]:
- """Returns custom field behaviour."""
+ """Return custom field behaviour."""
return {
"hidden_fields": ["schema", "port", "extra"],
"relabeling": {
diff --git a/airflow/providers/microsoft/azure/hooks/container_volume.py
b/airflow/providers/microsoft/azure/hooks/container_volume.py
index 5fa926bc1b..6e2700bf1e 100644
--- a/airflow/providers/microsoft/azure/hooks/container_volume.py
+++ b/airflow/providers/microsoft/azure/hooks/container_volume.py
@@ -46,7 +46,7 @@ class AzureContainerVolumeHook(BaseHook):
@classmethod
@add_managed_identity_connection_widgets
def get_connection_form_widgets(cls) -> dict[str, Any]:
- """Returns connection widgets to add to connection form."""
+ """Return connection widgets to add to connection form."""
from flask_appbuilder.fieldwidgets import BS3PasswordFieldWidget,
BS3TextFieldWidget
from flask_babel import lazy_gettext
from wtforms import PasswordField, StringField
@@ -67,7 +67,7 @@ class AzureContainerVolumeHook(BaseHook):
@classmethod
def get_ui_field_behaviour(cls) -> dict[str, Any]:
- """Returns custom field behaviour."""
+ """Return custom field behaviour."""
return {
"hidden_fields": ["schema", "port", "host", "extra"],
"relabeling": {
diff --git a/airflow/providers/microsoft/azure/hooks/cosmos.py
b/airflow/providers/microsoft/azure/hooks/cosmos.py
index cf56924609..a33213c8b1 100644
--- a/airflow/providers/microsoft/azure/hooks/cosmos.py
+++ b/airflow/providers/microsoft/azure/hooks/cosmos.py
@@ -44,7 +44,7 @@ from airflow.providers.microsoft.azure.utils import (
class AzureCosmosDBHook(BaseHook):
"""
- Interacts with Azure CosmosDB.
+ Interact with Azure CosmosDB.
login should be the endpoint uri, password should be the master key
optionally, you can use the following extras to default these values
@@ -62,7 +62,7 @@ class AzureCosmosDBHook(BaseHook):
@classmethod
@add_managed_identity_connection_widgets
def get_connection_form_widgets(cls) -> dict[str, Any]:
- """Returns connection widgets to add to connection form."""
+ """Return connection widgets to add to connection form."""
from flask_appbuilder.fieldwidgets import BS3TextFieldWidget
from flask_babel import lazy_gettext
from wtforms import StringField
@@ -86,7 +86,7 @@ class AzureCosmosDBHook(BaseHook):
@classmethod
def get_ui_field_behaviour(cls) -> dict[str, Any]:
- """Returns custom field behaviour."""
+ """Return custom field behaviour."""
return {
"hidden_fields": ["schema", "port", "host", "extra"],
"relabeling": {
@@ -180,7 +180,7 @@ class AzureCosmosDBHook(BaseHook):
return coll_name
def does_collection_exist(self, collection_name: str, database_name: str)
-> bool:
- """Checks if a collection exists in CosmosDB."""
+ """Check if a collection exists in CosmosDB."""
if collection_name is None:
raise AirflowBadRequest("Collection name cannot be None.")
@@ -205,7 +205,7 @@ class AzureCosmosDBHook(BaseHook):
database_name: str | None = None,
partition_key: str | None = None,
) -> None:
- """Creates a new collection in the CosmosDB database."""
+ """Create a new collection in the CosmosDB database."""
if collection_name is None:
raise AirflowBadRequest("Collection name cannot be None.")
@@ -229,7 +229,7 @@ class AzureCosmosDBHook(BaseHook):
)
def does_database_exist(self, database_name: str) -> bool:
- """Checks if a database exists in CosmosDB."""
+ """Check if a database exists in CosmosDB."""
if database_name is None:
raise AirflowBadRequest("Database name cannot be None.")
@@ -247,7 +247,7 @@ class AzureCosmosDBHook(BaseHook):
return True
def create_database(self, database_name: str) -> None:
- """Creates a new database in CosmosDB."""
+ """Create a new database in CosmosDB."""
if database_name is None:
raise AirflowBadRequest("Database name cannot be None.")
@@ -267,14 +267,14 @@ class AzureCosmosDBHook(BaseHook):
self.get_conn().create_database(database_name)
def delete_database(self, database_name: str) -> None:
- """Deletes an existing database in CosmosDB."""
+ """Delete an existing database in CosmosDB."""
if database_name is None:
raise AirflowBadRequest("Database name cannot be None.")
self.get_conn().delete_database(database_name)
def delete_collection(self, collection_name: str, database_name: str |
None = None) -> None:
- """Deletes an existing collection in the CosmosDB database."""
+ """Delete an existing collection in the CosmosDB database."""
if collection_name is None:
raise AirflowBadRequest("Collection name cannot be None.")
diff --git a/airflow/providers/microsoft/azure/hooks/data_factory.py
b/airflow/providers/microsoft/azure/hooks/data_factory.py
index 83181e89c0..c6f20cd64e 100644
--- a/airflow/providers/microsoft/azure/hooks/data_factory.py
+++ b/airflow/providers/microsoft/azure/hooks/data_factory.py
@@ -159,7 +159,7 @@ class AzureDataFactoryHook(BaseHook):
@classmethod
@add_managed_identity_connection_widgets
def get_connection_form_widgets(cls) -> dict[str, Any]:
- """Returns connection widgets to add to connection form."""
+ """Return connection widgets to add to connection form."""
from flask_appbuilder.fieldwidgets import BS3TextFieldWidget
from flask_babel import lazy_gettext
from wtforms import StringField
@@ -175,7 +175,7 @@ class AzureDataFactoryHook(BaseHook):
@classmethod
def get_ui_field_behaviour(cls) -> dict[str, Any]:
- """Returns custom field behaviour."""
+ """Return custom field behaviour."""
return {
"hidden_fields": ["schema", "port", "host", "extra"],
"relabeling": {
@@ -817,7 +817,7 @@ class AzureDataFactoryHook(BaseHook):
timeout: int = 60 * 60 * 24 * 7,
) -> bool:
"""
- Waits for a pipeline run to match an expected status.
+ Wait for a pipeline run to match an expected status.
:param run_id: The pipeline run identifier.
:param expected_statuses: The desired status(es) to check against a
pipeline run's current status.
diff --git a/airflow/providers/microsoft/azure/hooks/data_lake.py
b/airflow/providers/microsoft/azure/hooks/data_lake.py
index 0b247ac7fc..3777e0e582 100644
--- a/airflow/providers/microsoft/azure/hooks/data_lake.py
+++ b/airflow/providers/microsoft/azure/hooks/data_lake.py
@@ -68,7 +68,7 @@ class AzureDataLakeHook(BaseHook):
@classmethod
@add_managed_identity_connection_widgets
def get_connection_form_widgets(cls) -> dict[str, Any]:
- """Returns connection widgets to add to connection form."""
+ """Return connection widgets to add to connection form."""
from flask_appbuilder.fieldwidgets import BS3TextFieldWidget
from flask_babel import lazy_gettext
from wtforms import StringField
@@ -82,7 +82,7 @@ class AzureDataLakeHook(BaseHook):
@classmethod
def get_ui_field_behaviour(cls) -> dict[str, Any]:
- """Returns custom field behaviour."""
+ """Return custom field behaviour."""
return {
"hidden_fields": ["schema", "port", "host", "extra"],
"relabeling": {
@@ -277,7 +277,7 @@ class AzureDataLakeStorageV2Hook(BaseHook):
@classmethod
@add_managed_identity_connection_widgets
def get_connection_form_widgets(cls) -> dict[str, Any]:
- """Returns connection widgets to add to connection form."""
+ """Return connection widgets to add to connection form."""
from flask_appbuilder.fieldwidgets import BS3PasswordFieldWidget,
BS3TextFieldWidget
from flask_babel import lazy_gettext
from wtforms import PasswordField, StringField
@@ -293,7 +293,7 @@ class AzureDataLakeStorageV2Hook(BaseHook):
@classmethod
def get_ui_field_behaviour(cls) -> dict[str, Any]:
- """Returns custom field behaviour."""
+ """Return custom field behaviour."""
return {
"hidden_fields": ["schema", "port"],
"relabeling": {
diff --git a/airflow/providers/microsoft/azure/hooks/fileshare.py
b/airflow/providers/microsoft/azure/hooks/fileshare.py
index a051dbadad..37c8647954 100644
--- a/airflow/providers/microsoft/azure/hooks/fileshare.py
+++ b/airflow/providers/microsoft/azure/hooks/fileshare.py
@@ -45,7 +45,7 @@ class AzureFileShareHook(BaseHook):
@classmethod
@add_managed_identity_connection_widgets
def get_connection_form_widgets(cls) -> dict[str, Any]:
- """Returns connection widgets to add to connection form."""
+ """Return connection widgets to add to connection form."""
from flask_appbuilder.fieldwidgets import BS3PasswordFieldWidget,
BS3TextFieldWidget
from flask_babel import lazy_gettext
from wtforms import PasswordField, StringField
@@ -59,7 +59,7 @@ class AzureFileShareHook(BaseHook):
@classmethod
def get_ui_field_behaviour(cls) -> dict[str, Any]:
- """Returns custom field behaviour."""
+ """Return custom field behaviour."""
return {
"hidden_fields": ["schema", "port", "host", "extra"],
"relabeling": {
diff --git a/airflow/providers/microsoft/azure/hooks/synapse.py
b/airflow/providers/microsoft/azure/hooks/synapse.py
index 397c82640d..06c149a3c9 100644
--- a/airflow/providers/microsoft/azure/hooks/synapse.py
+++ b/airflow/providers/microsoft/azure/hooks/synapse.py
@@ -72,7 +72,7 @@ class AzureSynapseHook(BaseHook):
@classmethod
@add_managed_identity_connection_widgets
def get_connection_form_widgets(cls) -> dict[str, Any]:
- """Returns connection widgets to add to connection form."""
+ """Return connection widgets to add to connection form."""
from flask_appbuilder.fieldwidgets import BS3TextFieldWidget
from flask_babel import lazy_gettext
from wtforms import StringField
@@ -84,7 +84,7 @@ class AzureSynapseHook(BaseHook):
@classmethod
def get_ui_field_behaviour(cls) -> dict[str, Any]:
- """Returns custom field behaviour."""
+ """Return custom field behaviour."""
return {
"hidden_fields": ["schema", "port", "extra"],
"relabeling": {
@@ -179,7 +179,7 @@ class AzureSynapseHook(BaseHook):
timeout: int = 60 * 60 * 24 * 7,
) -> bool:
"""
- Waits for a job run to match an expected status.
+ Wait for a job run to match an expected status.
:param job_id: The job run identifier.
:param expected_statuses: The desired status(es) to check against a
job run's current status.
@@ -255,7 +255,7 @@ class AzureSynapsePipelineHook(BaseHook):
@classmethod
def get_connection_form_widgets(cls) -> dict[str, Any]:
- """Returns connection widgets to add to connection form."""
+ """Return connection widgets to add to connection form."""
from flask_appbuilder.fieldwidgets import BS3TextFieldWidget
from flask_babel import lazy_gettext
from wtforms import StringField
@@ -266,7 +266,7 @@ class AzureSynapsePipelineHook(BaseHook):
@classmethod
def get_ui_field_behaviour(cls) -> dict[str, Any]:
- """Returns custom field behaviour."""
+ """Return custom field behaviour."""
return {
"hidden_fields": ["schema", "port", "extra"],
"relabeling": {"login": "Client ID", "password": "Secret", "host":
"Synapse Workspace URL"},
@@ -362,7 +362,7 @@ class AzureSynapsePipelineHook(BaseHook):
timeout: int = 60 * 60 * 24 * 7,
) -> bool:
"""
- Waits for a pipeline run to match an expected status.
+ Wait for a pipeline run to match an expected status.
:param run_id: The pipeline run identifier.
:param expected_statuses: The desired status(es) to check against a
pipeline run's current status.
diff --git a/airflow/providers/microsoft/azure/hooks/wasb.py
b/airflow/providers/microsoft/azure/hooks/wasb.py
index 7d05ac862b..f4919758ba 100644
--- a/airflow/providers/microsoft/azure/hooks/wasb.py
+++ b/airflow/providers/microsoft/azure/hooks/wasb.py
@@ -61,7 +61,7 @@ AsyncCredentials = Union[AsyncClientSecretCredential,
AsyncDefaultAzureCredentia
class WasbHook(BaseHook):
"""
- Interacts with Azure Blob Storage through the ``wasb://`` protocol.
+ Interact with Azure Blob Storage through the ``wasb://`` protocol.
These parameters have to be passed in Airflow Data Base: account_name and
account_key.
@@ -84,7 +84,7 @@ class WasbHook(BaseHook):
@classmethod
@add_managed_identity_connection_widgets
def get_connection_form_widgets(cls) -> dict[str, Any]:
- """Returns connection widgets to add to connection form."""
+ """Return connection widgets to add to connection form."""
from flask_appbuilder.fieldwidgets import BS3PasswordFieldWidget,
BS3TextFieldWidget
from flask_babel import lazy_gettext
from wtforms import PasswordField, StringField
@@ -104,7 +104,7 @@ class WasbHook(BaseHook):
@classmethod
def get_ui_field_behaviour(cls) -> dict[str, Any]:
- """Returns custom field behaviour."""
+ """Return custom field behaviour."""
return {
"hidden_fields": ["schema", "port"],
"relabeling": {
@@ -228,7 +228,7 @@ class WasbHook(BaseHook):
def _get_container_client(self, container_name: str) -> ContainerClient:
"""
- Instantiates a container client.
+ Instantiate a container client.
:param container_name: The name of the container
:return: ContainerClient
@@ -237,7 +237,7 @@ class WasbHook(BaseHook):
def _get_blob_client(self, container_name: str, blob_name: str) ->
BlobClient:
"""
- Instantiates a blob client.
+ Instantiate a blob client.
:param container_name: The name of the blob container
:param blob_name: The name of the blob. This needs not be existing
@@ -412,7 +412,7 @@ class WasbHook(BaseHook):
**kwargs,
) -> dict[str, Any]:
"""
- Creates a new blob from a data source with automatic chunking.
+ Create a new blob from a data source with automatic chunking.
:param container_name: The name of the container to upload data
:param blob_name: The name of the blob to upload. This need not exist
in the container
@@ -434,7 +434,7 @@ class WasbHook(BaseHook):
self, container_name, blob_name, offset: int | None = None, length:
int | None = None, **kwargs
) -> StorageStreamDownloader:
"""
- Downloads a blob to the StorageStreamDownloader.
+ Download a blob to the StorageStreamDownloader.
:param container_name: The name of the container containing the blob
:param blob_name: The name of the blob to download
@@ -494,7 +494,7 @@ class WasbHook(BaseHook):
def delete_blobs(self, container_name: str, *blobs, **kwargs) -> None:
"""
- Marks the specified blobs or snapshots for deletion.
+ Mark the specified blobs or snapshots for deletion.
:param container_name: The name of the container containing the blobs
:param blobs: The blobs to delete. This can be a single blob, or
multiple values
diff --git a/airflow/providers/microsoft/azure/log/wasb_task_handler.py
b/airflow/providers/microsoft/azure/log/wasb_task_handler.py
index a174f29cec..aa9a0ad0cd 100644
--- a/airflow/providers/microsoft/azure/log/wasb_task_handler.py
+++ b/airflow/providers/microsoft/azure/log/wasb_task_handler.py
@@ -66,7 +66,7 @@ class WasbTaskHandler(FileTaskHandler, LoggingMixin):
@cached_property
def hook(self):
- """Returns WasbHook."""
+ """Return WasbHook."""
remote_conn_id = conf.get("logging", "REMOTE_LOG_CONN_ID")
try:
from airflow.providers.microsoft.azure.hooks.wasb import WasbHook
@@ -221,7 +221,7 @@ class WasbTaskHandler(FileTaskHandler, LoggingMixin):
def wasb_write(self, log: str, remote_log_location: str, append: bool =
True) -> bool:
"""
- Writes the log to the remote_log_location. Fails silently if no hook
was created.
+ Write the log to the remote_log_location. Fails silently if no hook
was created.
:param log: the log to write to the remote_log_location
:param remote_log_location: the log's location in remote storage
diff --git a/airflow/providers/microsoft/azure/operators/adx.py
b/airflow/providers/microsoft/azure/operators/adx.py
index 630c6d497b..b37c104775 100644
--- a/airflow/providers/microsoft/azure/operators/adx.py
+++ b/airflow/providers/microsoft/azure/operators/adx.py
@@ -67,12 +67,12 @@ class AzureDataExplorerQueryOperator(BaseOperator):
@cached_property
def hook(self) -> AzureDataExplorerHook:
- """Returns new instance of AzureDataExplorerHook."""
+ """Return new instance of AzureDataExplorerHook."""
return AzureDataExplorerHook(self.azure_data_explorer_conn_id)
@deprecated(reason="use `hook` property instead.",
category=AirflowProviderDeprecationWarning)
def get_hook(self) -> AzureDataExplorerHook:
- """Returns new instance of AzureDataExplorerHook."""
+ """Return new instance of AzureDataExplorerHook."""
return self.hook
def execute(self, context: Context) -> KustoResultTable | str:
diff --git a/airflow/providers/microsoft/azure/operators/asb.py
b/airflow/providers/microsoft/azure/operators/asb.py
index de89b8731f..69b7674cc5 100644
--- a/airflow/providers/microsoft/azure/operators/asb.py
+++ b/airflow/providers/microsoft/azure/operators/asb.py
@@ -70,7 +70,7 @@ class AzureServiceBusCreateQueueOperator(BaseOperator):
self.azure_service_bus_conn_id = azure_service_bus_conn_id
def execute(self, context: Context) -> None:
- """Creates Queue in Azure Service Bus namespace, by connecting to
Service Bus Admin client in hook."""
+ """Create Queue in Azure Service Bus namespace, by connecting to
Service Bus Admin client in hook."""
hook =
AdminClientHook(azure_service_bus_conn_id=self.azure_service_bus_conn_id)
# create queue with name
@@ -117,7 +117,7 @@ class AzureServiceBusSendMessageOperator(BaseOperator):
self.azure_service_bus_conn_id = azure_service_bus_conn_id
def execute(self, context: Context) -> None:
- """Sends Message to the specific queue in Service Bus namespace."""
+ """Send Message to the specific queue in Service Bus namespace."""
# Create the hook
hook =
MessageHook(azure_service_bus_conn_id=self.azure_service_bus_conn_id)
@@ -288,7 +288,7 @@ class AzureServiceBusTopicCreateOperator(BaseOperator):
self.max_message_size_in_kilobytes = max_message_size_in_kilobytes
def execute(self, context: Context) -> str:
- """Creates Topic in Service Bus namespace, by connecting to Service
Bus Admin client."""
+ """Create Topic in Service Bus namespace, by connecting to Service Bus
Admin client."""
if self.topic_name is None:
raise TypeError("Topic name cannot be None.")
@@ -402,7 +402,7 @@ class
AzureServiceBusSubscriptionCreateOperator(BaseOperator):
self.azure_service_bus_conn_id = azure_service_bus_conn_id
def execute(self, context: Context) -> None:
- """Creates Subscription in Service Bus namespace, by connecting to
Service Bus Admin client."""
+ """Create Subscription in Service Bus namespace, by connecting to
Service Bus Admin client."""
if self.subscription_name is None:
raise TypeError("Subscription name cannot be None.")
if self.topic_name is None:
@@ -472,7 +472,7 @@ class
AzureServiceBusUpdateSubscriptionOperator(BaseOperator):
self.azure_service_bus_conn_id = azure_service_bus_conn_id
def execute(self, context: Context) -> None:
- """Updates Subscription properties, by connecting to Service Bus Admin
client."""
+ """Update Subscription properties, by connecting to Service Bus Admin
client."""
hook =
AdminClientHook(azure_service_bus_conn_id=self.azure_service_bus_conn_id)
with hook.get_conn() as service_mgmt_conn:
diff --git a/airflow/providers/microsoft/azure/operators/data_factory.py
b/airflow/providers/microsoft/azure/operators/data_factory.py
index 03d80c9f8d..b8595e84c9 100644
--- a/airflow/providers/microsoft/azure/operators/data_factory.py
+++ b/airflow/providers/microsoft/azure/operators/data_factory.py
@@ -40,7 +40,7 @@ if TYPE_CHECKING:
class AzureDataFactoryPipelineRunLink(LoggingMixin, BaseOperatorLink):
- """Constructs a link to monitor a pipeline run in Azure Data Factory."""
+ """Construct a link to monitor a pipeline run in Azure Data Factory."""
name = "Monitor Pipeline Run"
@@ -77,7 +77,7 @@ class AzureDataFactoryPipelineRunLink(LoggingMixin,
BaseOperatorLink):
class AzureDataFactoryRunPipelineOperator(BaseOperator):
"""
- Executes a data factory pipeline.
+ Execute a data factory pipeline.
.. seealso::
For more information on how to use this operator, take a look at the
guide:
@@ -235,7 +235,7 @@ class AzureDataFactoryRunPipelineOperator(BaseOperator):
def execute_complete(self, context: Context, event: dict[str, str]) ->
None:
"""
- Callback for when the trigger fires - returns immediately.
+ Return immediately - callback for when the trigger fires.
Relies on trigger to throw an exception, otherwise it assumes
execution was successful.
"""
diff --git a/airflow/providers/microsoft/azure/operators/synapse.py
b/airflow/providers/microsoft/azure/operators/synapse.py
index f4e0a9954e..6dea3aa78f 100644
--- a/airflow/providers/microsoft/azure/operators/synapse.py
+++ b/airflow/providers/microsoft/azure/operators/synapse.py
@@ -40,7 +40,7 @@ if TYPE_CHECKING:
class AzureSynapseRunSparkBatchOperator(BaseOperator):
"""
- Executes a Spark job on Azure Synapse.
+ Execute a Spark job on Azure Synapse.
.. see also::
For more information on how to use this operator, take a look at the
guide:
@@ -121,13 +121,13 @@ class AzureSynapseRunSparkBatchOperator(BaseOperator):
class AzureSynapsePipelineRunLink(BaseOperatorLink):
- """Constructs a link to monitor a pipeline run in Azure Synapse."""
+ """Construct a link to monitor a pipeline run in Azure Synapse."""
name = "Monitor Pipeline Run"
def get_fields_from_url(self, workspace_url):
"""
- Extracts the workspace_name, subscription_id and resource_group from
the Synapse workspace url.
+ Extract the workspace_name, subscription_id and resource_group from
the Synapse workspace url.
:param workspace_url: The workspace url.
"""
@@ -174,7 +174,7 @@ class AzureSynapsePipelineRunLink(BaseOperatorLink):
class AzureSynapseRunPipelineOperator(BaseOperator):
"""
- Executes a Synapse Pipeline.
+ Execute a Synapse Pipeline.
:param pipeline_name: The name of the pipeline to execute.
:param azure_synapse_conn_id: The Airflow connection ID for Azure Synapse.
@@ -266,7 +266,7 @@ class AzureSynapseRunPipelineOperator(BaseOperator):
def execute_complete(self, event: dict[str, str]) -> None:
"""
- Callback for when the trigger fires - returns immediately.
+ Return immediately - callback for when the trigger fires.
Relies on trigger to throw an exception, otherwise it assumes
execution was successful.
"""
diff --git a/airflow/providers/microsoft/azure/sensors/data_factory.py
b/airflow/providers/microsoft/azure/sensors/data_factory.py
index f5ca765e85..df2d9ab773 100644
--- a/airflow/providers/microsoft/azure/sensors/data_factory.py
+++ b/airflow/providers/microsoft/azure/sensors/data_factory.py
@@ -124,7 +124,7 @@ class
AzureDataFactoryPipelineRunStatusSensor(BaseSensorOperator):
def execute_complete(self, context: Context, event: dict[str, str]) ->
None:
"""
- Callback for when the trigger fires - returns immediately.
+ Return immediately - callback for when the trigger fires.
Relies on trigger to throw an exception, otherwise it assumes
execution was successful.
"""
diff --git a/airflow/providers/microsoft/azure/sensors/wasb.py
b/airflow/providers/microsoft/azure/sensors/wasb.py
index 89f0ac3ebf..e0c0112376 100644
--- a/airflow/providers/microsoft/azure/sensors/wasb.py
+++ b/airflow/providers/microsoft/azure/sensors/wasb.py
@@ -97,7 +97,7 @@ class WasbBlobSensor(BaseSensorOperator):
def execute_complete(self, context: Context, event: dict[str, str]) ->
None:
"""
- Callback for when the trigger fires - returns immediately.
+ Return immediately - callback for when the trigger fires.
Relies on trigger to throw an exception, otherwise it assumes
execution was successful.
"""
@@ -123,7 +123,7 @@ class WasbBlobSensor(BaseSensorOperator):
)
class WasbBlobAsyncSensor(WasbBlobSensor):
"""
- Polls asynchronously for the existence of a blob in a WASB container.
+ Poll asynchronously for the existence of a blob in a WASB container.
This class is deprecated and will be removed in a future release.
@@ -144,7 +144,7 @@ class WasbBlobAsyncSensor(WasbBlobSensor):
class WasbPrefixSensor(BaseSensorOperator):
"""
- Waits for blobs matching a prefix to arrive on Azure Blob Storage.
+ Wait for blobs matching a prefix to arrive on Azure Blob Storage.
:param container_name: Name of the container.
:param prefix: Prefix of the blob.
@@ -208,7 +208,7 @@ class WasbPrefixSensor(BaseSensorOperator):
def execute_complete(self, context: Context, event: dict[str, str]) ->
None:
"""
- Callback for when the trigger fires - returns immediately.
+ Return immediately - callback for when the trigger fires.
Relies on trigger to throw an exception, otherwise it assumes
execution was successful.
"""
diff --git a/airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py
b/airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py
index 7b0f783543..740884181c 100644
--- a/airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py
+++ b/airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py
@@ -134,7 +134,7 @@ class SFTPToWasbOperator(BaseOperator):
return sftp_files
def get_tree_behavior(self) -> tuple[str, str | None, str | None]:
- """Extracts from source path the tree behavior to interact with the
remote folder."""
+ """Extract from source path the tree behavior to interact with the
remote folder."""
self.check_wildcards_limit()
if self.source_path_contains_wildcard:
diff --git a/airflow/providers/microsoft/azure/triggers/data_factory.py
b/airflow/providers/microsoft/azure/triggers/data_factory.py
index 5ea687be46..238d548d65 100644
--- a/airflow/providers/microsoft/azure/triggers/data_factory.py
+++ b/airflow/providers/microsoft/azure/triggers/data_factory.py
@@ -55,7 +55,7 @@ class ADFPipelineRunStatusSensorTrigger(BaseTrigger):
self.poke_interval = poke_interval
def serialize(self) -> tuple[str, dict[str, Any]]:
- """Serializes ADFPipelineRunStatusSensorTrigger arguments and
classpath."""
+ """Serialize ADFPipelineRunStatusSensorTrigger arguments and
classpath."""
return (
"airflow.providers.microsoft.azure.triggers.data_factory.ADFPipelineRunStatusSensorTrigger",
{
@@ -143,7 +143,7 @@ class AzureDataFactoryTrigger(BaseTrigger):
self.end_time = end_time
def serialize(self) -> tuple[str, dict[str, Any]]:
- """Serializes AzureDataFactoryTrigger arguments and classpath."""
+ """Serialize AzureDataFactoryTrigger arguments and classpath."""
return (
"airflow.providers.microsoft.azure.triggers.data_factory.AzureDataFactoryTrigger",
{
diff --git a/airflow/providers/microsoft/azure/triggers/wasb.py
b/airflow/providers/microsoft/azure/triggers/wasb.py
index 6d74a3023b..7eb92d8991 100644
--- a/airflow/providers/microsoft/azure/triggers/wasb.py
+++ b/airflow/providers/microsoft/azure/triggers/wasb.py
@@ -25,7 +25,7 @@ from airflow.triggers.base import BaseTrigger, TriggerEvent
class WasbBlobSensorTrigger(BaseTrigger):
"""
- Checks for existence of the given blob in the provided container.
+ Check for existence of the given blob in the provided container.
WasbBlobSensorTrigger is fired as deferred class with params to run the
task in trigger worker.
@@ -52,7 +52,7 @@ class WasbBlobSensorTrigger(BaseTrigger):
self.public_read = public_read
def serialize(self) -> tuple[str, dict[str, Any]]:
- """Serializes WasbBlobSensorTrigger arguments and classpath."""
+ """Serialize WasbBlobSensorTrigger arguments and classpath."""
return (
"airflow.providers.microsoft.azure.triggers.wasb.WasbBlobSensorTrigger",
{
@@ -65,7 +65,7 @@ class WasbBlobSensorTrigger(BaseTrigger):
)
async def run(self) -> AsyncIterator[TriggerEvent]:
- """Makes async connection to Azure WASB and polls for existence of the
given blob name."""
+ """Make async connection to Azure WASB and polls for existence of the
given blob name."""
blob_exists = False
hook = WasbAsyncHook(wasb_conn_id=self.wasb_conn_id,
public_read=self.public_read)
try:
@@ -91,7 +91,7 @@ class WasbBlobSensorTrigger(BaseTrigger):
class WasbPrefixSensorTrigger(BaseTrigger):
"""
- Checks for the existence of a blob with the given prefix in the provided
container.
+ Check for the existence of a blob with the given prefix in the provided
container.
WasbPrefixSensorTrigger is fired as a deferred class with params to run
the task in trigger.
@@ -128,7 +128,7 @@ class WasbPrefixSensorTrigger(BaseTrigger):
self.public_read = public_read
def serialize(self) -> tuple[str, dict[str, Any]]:
- """Serializes WasbPrefixSensorTrigger arguments and classpath."""
+ """Serialize WasbPrefixSensorTrigger arguments and classpath."""
return (
"airflow.providers.microsoft.azure.triggers.wasb.WasbPrefixSensorTrigger",
{
@@ -142,7 +142,7 @@ class WasbPrefixSensorTrigger(BaseTrigger):
)
async def run(self) -> AsyncIterator[TriggerEvent]:
- """Makes async connection to Azure WASB and polls for existence of a
blob with given prefix."""
+ """Make async connection to Azure WASB and polls for existence of a
blob with given prefix."""
prefix_exists = False
hook = WasbAsyncHook(wasb_conn_id=self.wasb_conn_id,
public_read=self.public_read)
try:
diff --git a/airflow/providers/microsoft/psrp/hooks/psrp.py
b/airflow/providers/microsoft/psrp/hooks/psrp.py
index d77e73c278..0edb245302 100644
--- a/airflow/providers/microsoft/psrp/hooks/psrp.py
+++ b/airflow/providers/microsoft/psrp/hooks/psrp.py
@@ -116,7 +116,7 @@ class PsrpHook(BaseHook):
def get_conn(self) -> RunspacePool:
"""
- Returns a runspace pool.
+ Return a runspace pool.
The returned object must be used as a context manager.
"""
@@ -158,7 +158,7 @@ class PsrpHook(BaseHook):
@contextmanager
def invoke(self) -> Generator[PowerShell, None, None]:
"""
- Yields a PowerShell object to which commands can be added.
+ Yield a PowerShell object to which commands can be added.
Upon exit, the commands will be invoked.
"""
diff --git a/pyproject.toml b/pyproject.toml
index 8b6111e334..e0a7e35b5c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1371,30 +1371,6 @@ combine-as-imports = true
"airflow/providers/hashicorp/_internal_client/vault_client.py" = ["D401"]
"airflow/providers/hashicorp/hooks/vault.py" = ["D401"]
"airflow/providers/imap/hooks/imap.py" = ["D401"]
-"airflow/providers/microsoft/azure/hooks/adx.py" = ["D401"]
-"airflow/providers/microsoft/azure/hooks/asb.py" = ["D401"]
-"airflow/providers/microsoft/azure/hooks/base_azure.py" = ["D401"]
-"airflow/providers/microsoft/azure/hooks/batch.py" = ["D401"]
-"airflow/providers/microsoft/azure/hooks/container_instance.py" = ["D401"]
-"airflow/providers/microsoft/azure/hooks/container_registry.py" = ["D401"]
-"airflow/providers/microsoft/azure/hooks/container_volume.py" = ["D401"]
-"airflow/providers/microsoft/azure/hooks/cosmos.py" = ["D401"]
-"airflow/providers/microsoft/azure/hooks/data_factory.py" = ["D401"]
-"airflow/providers/microsoft/azure/hooks/data_lake.py" = ["D401"]
-"airflow/providers/microsoft/azure/hooks/fileshare.py" = ["D401"]
-"airflow/providers/microsoft/azure/hooks/synapse.py" = ["D401"]
-"airflow/providers/microsoft/azure/hooks/wasb.py" = ["D401"]
-"airflow/providers/microsoft/azure/log/wasb_task_handler.py" = ["D401"]
-"airflow/providers/microsoft/azure/operators/adx.py" = ["D401"]
-"airflow/providers/microsoft/azure/operators/asb.py" = ["D401"]
-"airflow/providers/microsoft/azure/operators/data_factory.py" = ["D401"]
-"airflow/providers/microsoft/azure/operators/synapse.py" = ["D401"]
-"airflow/providers/microsoft/azure/sensors/data_factory.py" = ["D401"]
-"airflow/providers/microsoft/azure/sensors/wasb.py" = ["D401"]
-"airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py" = ["D401"]
-"airflow/providers/microsoft/azure/triggers/data_factory.py" = ["D401"]
-"airflow/providers/microsoft/azure/triggers/wasb.py" = ["D401"]
-"airflow/providers/microsoft/psrp/hooks/psrp.py" = ["D401"]
"airflow/providers/mongo/hooks/mongo.py" = ["D401"]
"airflow/providers/mysql/hooks/mysql.py" = ["D401"]
"airflow/providers/mysql/transfers/s3_to_mysql.py" = ["D401"]