code: def get_logs_stream(
      self,
      ds_type,
      ds_root,
      stream,
      attempt,
      flow_name,
      run_id,
      step_name,
      task_id,
  ):
      from metaflow.mflog import LOG_SOURCES
  
      ds = self._get_flow_datastore(ds_type, ds_root, flow_name)
  
      task_ds = ds.get_task_datastore(
          run_id,
          step_name,
          task_id,
          data_metadata={"objects": {}, "info": {}},
      )
      return task_ds.load_logs(
          LOG_SOURCES, stream, attempt_override=attempt
      )
  
imports: from __future__ import print_function
  from collections import OrderedDict
  import os
  import sys
  import time
  from tempfile import NamedTemporaryFile
  from hashlib import sha1
  from metaflow.datastore import FlowDataStore
  from metaflow.datastore.content_addressed_store import BlobCache
  from metaflow.exception import MetaflowException
  from metaflow.metaflow_config import CLIENT_CACHE_PATH, CLIENT_CACHE_MAX_SIZE, CLIENT_CACHE_MAX_FLOWDATASTORE_COUNT, CLIENT_CACHE_MAX_TASKDATASTORE_COUNT
  from metaflow.plugins import DATASTORES
label_desc: Use image node_id 3 for calling the FileCache obj's underlying member method code with example usage: obj.get_logs_stream(ds_type, ds_root, stream, attempt, flow_name, run_id, step_name, task_id) and returns: task_ds