class_docstr: Stores artifacts on Cloudflare R2.
code: def __init__(
      self,
      artifact_uri,
      access_key_id=None,
      secret_access_key=None,
      session_token=None,
  ):
      # setup Cloudflare R2 backend to be endpoint_url, otherwise all s3 requests
      # will go to AWS S3 by default
      s3_endpoint_url = self.convert_r2_uri_to_s3_endpoint_url(
          artifact_uri
      )
      self._access_key_id = access_key_id
      self._secret_access_key = secret_access_key
      self._session_token = session_token
      self._s3_endpoint_url = s3_endpoint_url
      self.bucket, self.bucket_path = self.parse_s3_compliant_uri(
          artifact_uri
      )
      super().__init__(
          artifact_uri,
          access_key_id=access_key_id,
          secret_access_key=secret_access_key,
          session_token=session_token,
          addressing_style="virtual",
          s3_endpoint_url=s3_endpoint_url,
      )
  
file_path: mlflow/mlflow/store/artifact/r2_artifact_repo.py
imports: from urllib.parse import urlparse
  from mlflow.store.artifact.optimized_s3_artifact_repo import OptimizedS3ArtifactRepository
  from mlflow.store.artifact.s3_artifact_repo import _get_s3_client
label_desc: Use image node_id 1 to create a new R2ArtifactRepository object from inherited base classes: OptimizedS3ArtifactRepository with example: obj = R2ArtifactRepository(artifact_uri, access_key_id, secret_access_key, session_token)