code: def _create_path(obj_type, flow_name, run_id=None, step_name=None):
      create_path = "/flows/%s" % flow_name
      if obj_type == "flow":
          return create_path
      if obj_type == "run":
          return create_path + "/run"
      create_path += "/runs/%s/steps/%s" % (run_id, step_name)
      if obj_type == "step":
          return create_path + "/step"
      return create_path + "/task"
  
imports: import os
  import random
  import requests
  import time
  from metaflow.exception import MetaflowException, MetaflowTaggingError, MetaflowInternalError
  from metaflow.metaflow_config import SERVICE_RETRY_COUNT, SERVICE_HEADERS, SERVICE_URL
  from metaflow.metadata import MetadataProvider
  from metaflow.metadata.heartbeat import HB_URL_KEY
  from metaflow.sidecar import Message, MessageTypes, Sidecar
  from metaflow.util import version_parse
label_desc: Use image node_id 21 for calling the ServiceMetadataProvider obj's underlying member method code with example usage: obj._create_path(obj_type, flow_name, run_id, step_name) and returns: unknown, create_path, unknown, unknown