def METHOD_NAME(  # noqa: PLR0913
    self,
    data_asset: _SPARK_FILE_PATH_ASSET_TYPES_UNION,
    abs_container: str = _MISSING,  # type: ignore[assignment] # _MISSING is used as sentinel value
    abs_name_starts_with: str = "",
    abs_delimiter: str = "/",
    abs_recursive_file_discovery: bool = False,
    **kwargs,
) -> None:
    """Builds and attaches the `AzureBlobStorageDataConnector` to the asset."""
    if kwargs:
        raise TypeError(
            f"_build_data_connector() got unexpected keyword arguments {list(kwargs.keys())}"
        )
    if abs_container is _MISSING:
        raise TypeError(
            f"'{data_asset.name}' is missing required argument 'abs_container'"
        )
    data_asset._data_connector = self.data_connector_type.build_data_connector(
        datasource_name=self.name,
        data_asset_name=data_asset.name,
        azure_client=self._get_azure_client(),
        batching_regex=data_asset.batching_regex,
        account_name=self._account_name,
        container=abs_container,
        name_starts_with=abs_name_starts_with,
        delimiter=abs_delimiter,
        recursive_file_discovery=abs_recursive_file_discovery,
        file_path_template_map_fn=AzureUrl.AZURE_BLOB_STORAGE_WASBS_URL_TEMPLATE.format,
    )
    # build a more specific `_test_connection_error_message`
    data_asset._test_connection_error_message = (
        self.data_connector_type.build_test_connection_error_message(
            data_asset_name=data_asset.name,
            batching_regex=data_asset.batching_regex,
            account_name=self._account_name,
            container=abs_container,
            name_starts_with=abs_name_starts_with,
            delimiter=abs_delimiter,
            recursive_file_discovery=abs_recursive_file_discovery,
        )
    )