def METHOD_NAME(
    self,
    path: str = None,
    schema: str = None,
    table: str = None,
    chunksize: int = None,
    error_log_file_path: str = None,
    on_error: Literal = None,
    credentials: dict = None,
    credentials_secret: str = None,
    vault_name: str = None,
    max_retries: int = None,
    retry_delay: timedelta = None,
    **kwargs,
) -> str:
    """
    Task run method.
    Args:
    - path (str, optional): The path to the local CSV file to be inserted.
    - schema (str, optional): The destination schema.
    - table (str, optional): The destination table.
    - chunksize (int, optional): The chunk size to use. By default 5000.
    - error_log_file_path (string, optional): Full path of an error file. Defaults to "log_file.log".
    - on_error (Literal, optional): What to do if error occur. Defaults to None.
    - credentials (dict, optional): The credentials to use for connecting with SQL Server.
    - credentials_secret (str, optional): The name of the Key Vault secret containing database credentials.
    (server, db_name, user, password)
    - vault_name (str): The name of the vault from which to fetch the secret.
    Returns:
        str: The output of the bcp CLI command.
    """
    if not credentials:
        if not credentials_secret:
            # attempt to read a default for the service principal secret name
            try:
                credentials_secret = PrefectSecret(
                    "AZURE_DEFAULT_SQLDB_SERVICE_PRINCIPAL_SECRET"
                ).METHOD_NAME()
            except ValueError:
                pass
        if credentials_secret:
            credentials_str = AzureKeyVaultSecret(
                credentials_secret, vault_name=vault_name
            ).METHOD_NAME()
            credentials = json.loads(credentials_str)
    fqn = f"{schema}.{table}" if schema else table
    server = credentials["server"]
    db_name = credentials["db_name"]
    uid = credentials["user"]
    pwd = credentials["password"]
    if "," in server:
        # A space after the comma is allowed in the ODBC connection string
        # but not in BCP's 'server' argument.
        server = server.replace(" ", "")
    if on_error == "skip":
        max_error = 0
    elif on_error == "fail":
        max_error = 1
    else:
        raise ValueError(
            "Please provide correct 'on_error' parameter value - 'skip' or 'fail'. "
        )
    command = f"/opt/mssql-tools/bin/bcp {fqn} in '{path}' -S {server} -d {db_name} -U {uid} -P '{pwd}' -c -F 2 -b {chunksize} -h 'TABLOCK' -e '{error_log_file_path}' -m {max_error}"
    run_command = super().METHOD_NAME(command=command, **kwargs)
    try:
        parse_logs(error_log_file_path)
    except:
        logger.warning("BCP logs couldn't be parsed.")
    return run_command