class_docstr: Interact with Alibaba Cloud OSS, using the oss2 library.
class_docstr_tok: ["Interact","with","Alibaba","Cloud","OSS",",","using","the","oss2","library","."]
docstr: Parse the OSS Url into a bucket name and key.
  
  :param ossurl: The OSS Url to parse.
  :return: the parsed bucket name and key
docstr_tok: ["Parse","the","OSS","Url","into","a","bucket","name","and","key",".",":","param","ossurl",":","The","OSS","Url","to","parse",".",":","return",":","the","parsed","bucket","name","and","key"]
code: def parse_oss_url(ossurl: str) -> tuple:
      """
      Parse the OSS Url into a bucket name and key.
  
      :param ossurl: The OSS Url to parse.
      :return: the parsed bucket name and key
      """
      parsed_url = urlsplit(ossurl)
  
      if not parsed_url.netloc:
          raise AirflowException(
              f'Please provide a bucket_name instead of "{ossurl}"'
          )
  
      bucket_name = parsed_url.netloc
      key = parsed_url.path.lstrip("/")
  
      return bucket_name, key
  
imports: from __future__ import annotations
  from functools import wraps
  from inspect import signature
  from typing import TYPE_CHECKING, Callable, TypeVar, cast
  from urllib.parse import urlsplit
  import oss2
  from oss2.exceptions import ClientError
  from airflow.exceptions import AirflowException
  from airflow.hooks.base import BaseHook
label_desc: Use image node_id 3 for calling the OSSHook obj's underlying member method code with example usage: obj.parse_oss_url(ossurl) and returns: bucket_name,  key