class_docstr: Helper class that interacts with the SageMaker training service.
class_docstr_tok: ["Helper","class","that","interacts","with","the","SageMaker","training","service","."]
docstr: Get the underlying SageMaker job name from job_name_prefix or func.
  
  Args:
      job_settings (_JobSettings): the job settings.
      func: the function to be executed.
  
  Returns:
      str : the training job name.
docstr_tok: ["Get","the","underlying","SageMaker","job","name","from","job_name_prefix","or","func",".","Args",":","job_settings","(","_JobSettings",")",":","the","job","settings",".","func",":","the","function","to","be","executed",".","Returns",":","str",":","the","training","job","name","."]
code: def _get_job_name(job_settings, func):
      """Get the underlying SageMaker job name from job_name_prefix or func.
  
      Args:
          job_settings (_JobSettings): the job settings.
          func: the function to be executed.
  
      Returns:
          str : the training job name.
      """
      from sagemaker.workflow.utilities import (
          load_step_compilation_context,
      )
  
      step_complication_context = load_step_compilation_context()
  
      job_name_prefix = job_settings.job_name_prefix
      if not job_name_prefix:
          job_name_prefix = func.__name__
          # remove all special characters in the beginning of function name
          job_name_prefix = re.sub(
              r"^[^a-zA-Z0-9]+", "", job_name_prefix
          )
          # convert all remaining special characters to '-'
          job_name_prefix = re.sub(
              r"[^a-zA-Z0-9-]", "-", job_name_prefix
          )
  
      if step_complication_context:
          return job_name_prefix
      return name_from_base(job_name_prefix)
  
imports: from __future__ import absolute_import
  import dataclasses
  import os
  import re
  import shutil
  import sys
  import json
  import secrets
  from typing import Callable, Dict, List, Optional, Tuple, Union, TYPE_CHECKING
  from urllib.parse import urlparse
  from io import BytesIO
  from sagemaker.config.config_schema import REMOTE_FUNCTION_ENVIRONMENT_VARIABLES, REMOTE_FUNCTION_IMAGE_URI, REMOTE_FUNCTION_DEPENDENCIES, REMOTE_FUNCTION_PRE_EXECUTION_COMMANDS, REMOTE_FUNCTION_PRE_EXECUTION_SCRIPT, REMOTE_FUNCTION_INCLUDE_LOCAL_WORKDIR, REMOTE_FUNCTION_INSTANCE_TYPE, REMOTE_FUNCTION_JOB_CONDA_ENV, REMOTE_FUNCTION_ROLE_ARN, REMOTE_FUNCTION_S3_ROOT_URI, REMOTE_FUNCTION_S3_KMS_KEY_ID, REMOTE_FUNCTION_VOLUME_KMS_KEY_ID, REMOTE_FUNCTION_TAGS, REMOTE_FUNCTION_VPC_CONFIG_SUBNETS, REMOTE_FUNCTION_VPC_CONFIG_SECURITY_GROUP_IDS, REMOTE_FUNCTION_ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION
  from sagemaker.experiments._run_context import _RunContext
  from sagemaker.experiments.run import Run
  from sagemaker.image_uris import get_base_python_image_uri
  from sagemaker import image_uris
  from sagemaker.remote_function.checkpoint_location import CheckpointLocation
  from sagemaker.session import get_execution_role, _logs_for_job, Session
  from sagemaker.utils import name_from_base, _tmpdir, resolve_value_from_config, format_tags, Tags
  from sagemaker.s3 import s3_path_join, S3Uploader
  from sagemaker import vpc_utils
  from sagemaker.remote_function.core.stored_function import StoredFunction, _SerializedData
  from sagemaker.remote_function.core.pipeline_variables import Context
  from sagemaker.remote_function.runtime_environment.runtime_environment_manager import RuntimeEnvironmentManager, _DependencySettings
  from sagemaker.remote_function import logging_config
  from sagemaker.remote_function.spark_config import SparkConfig
  from sagemaker.spark import defaults
  from sagemaker.remote_function.custom_file_filter import CustomFileFilter, copy_workdir, resolve_custom_file_filter_from_config_file
label_desc: Use image node_id 8 for calling the _Job obj's underlying member method code with example usage: obj._get_job_name(job_settings, func) and returns: name_from_base, job_name_prefix