There are multiple variants with respect to how the artifacts are handled: (Reference: https://mlflow.org/docs/latest/tracking.html#how-runs-and-artifacts-are-recorded)
a. In this scenario, for artifact logging, the MLflow client interacts with the remote Tracking Server and artifact storage host:
- The MLflow client uses RestStore to send a REST request to fetch the artifact store URI location from the Tracking Server
- The Tracking Server responds with an artifact store URI location (an S3 storage URI in this case)
- The MLflow client creates an instance of an S3ArtifactRepository, connects to the remote AWS host using the boto client libraries, and uploads the artifacts to the S3 bucket URI location