class_docstr: A collection of parameters, metrics, and artifacts to create a ML model.
class_docstr_tok: ["A","collection","of","parameters",",","metrics",",","and","artifacts","to","create","a","ML","model","."]
docstr: Record a single artifact for this run.
  
  Overwrites any previous value recorded for the specified name.
  
  Args:
      name (str): The name of the artifact.
      value (str): The value.
      media_type (str): The MediaType (MIME type) of the value (default: None).
      is_output (bool): Determines direction of association to the
          run. Defaults to True (output artifact).
          If set to False then represented as input association.
docstr_tok: ["Record","a","single","artifact","for","this","run",".","Overwrites","any","previous","value","recorded","for","the","specified","name",".","Args",":","name","(","str",")",":","The","name","of","the","artifact",".","value","(","str",")",":","The","value",".","media_type","(","str",")",":","The","MediaType","(","MIME","type",")","of","the","value","(","default",":","None",")",".","is_output","(","bool",")",":","Determines","direction","of","association","to","the","run",".","Defaults","to","True","(","output","artifact",")",".","If","set","to","False","then","represented","as","input","association","."]
code: def log_artifact(
      self,
      name: str,
      value: str,
      media_type: Optional[str] = None,
      is_output: bool = True,
  ):
      """Record a single artifact for this run.
  
      Overwrites any previous value recorded for the specified name.
  
      Args:
          name (str): The name of the artifact.
          value (str): The value.
          media_type (str): The MediaType (MIME type) of the value (default: None).
          is_output (bool): Determines direction of association to the
              run. Defaults to True (output artifact).
              If set to False then represented as input association.
      """
      self._verify_trial_component_artifacts_length(is_output=is_output)
      if is_output:
          self._trial_component.output_artifacts[
              name
          ] = TrialComponentArtifact(value, media_type=media_type)
      else:
          self._trial_component.input_artifacts[
              name
          ] = TrialComponentArtifact(value, media_type=media_type)
  
imports: from __future__ import absolute_import
  import datetime
  import logging
  from enum import Enum
  from math import isnan, isinf
  from numbers import Number
  from typing import Optional, List, Dict, TYPE_CHECKING, Union
  import dateutil
  from numpy import array
  from sagemaker.apiutils import _utils
  from sagemaker.experiments import _api_types
  from sagemaker.experiments._api_types import TrialComponentArtifact, _TrialComponentStatusType
  from sagemaker.experiments._helper import _ArtifactUploader, _LineageArtifactTracker, _DEFAULT_ARTIFACT_PREFIX
  from sagemaker.experiments._environment import _RunEnvironment
  from sagemaker.experiments._run_context import _RunContext
  from sagemaker.experiments.experiment import Experiment
  from sagemaker.experiments._metrics import _MetricsManager
  from sagemaker.experiments.trial import _Trial
  from sagemaker.experiments.trial_component import _TrialComponent
  from sagemaker.utils import get_module, unique_name_from_base, format_tags, Tags, TagsDict
  from sagemaker.experiments._utils import guess_media_type, resolve_artifact_name, verify_length_of_true_and_predicted, validate_invoked_inside_run_context, get_tc_and_exp_config_from_job_env, verify_load_input_names, is_run_trial_component
label_desc: Use image node_id 9 for calling the Run obj's underlying member method code with example usage: obj.log_artifact(name, value, media_type, is_output) without return types