code: def column_schema_to_keys(column_schema: ColumnSchema) -> str:
      """
      Generate a hashing key from a Columns Schema. For example:
      - ColumnSchema(logical_type=Double) -> "Double"
      - ColumnSchema(semantic_tags={"index"}) -> "index"
      - ColumnSchema(logical_type=Double, semantic_tags={"index", "other"}) -> "Double,index,other"
  
      Args:
          column_schema (ColumnSchema):
  
      Returns:
          str: hashing key
      """
      logical_type = column_schema.logical_type
      tags = column_schema.semantic_tags
      lt_key = None
      if logical_type:
          lt_key = type(logical_type).__name__
  
      tags = sorted(tags)
      if len(tags) > 0:
          tag_key = ",".join(tags)
          return (
              f"{lt_key},{tag_key}" if lt_key is not None else tag_key
          )
  
      elif lt_key is not None:
          return lt_key
      else:
          return ANY
  
file_path: featuretools/featuretools/feature_discovery/utils.py
imports: import hashlib
  import json
  from functools import lru_cache
  from typing import Any, Dict, Tuple
  from woodwork.column_schema import ColumnSchema
  from featuretools.feature_discovery.type_defs import ANY
  from featuretools.primitives.base.primitive_base import PrimitiveBase
  from featuretools.primitives.utils import get_all_logical_type_names, get_all_primitives, serialize_primitive
label_desc: Use image node_id 1 for calling a global function with example usage: column_schema_to_keys(column_schema) and returns: unknown, lt_key, ANY