code: def prepare_metadata_consume(self):
      metadata = []
      # Metadata.PTP_TRACE_ID.append(metadata, )
      if not self._namespace is None:
          Metadata.PTP_SESSION_ID.append(metadata, self._namespace)
      # if not self._dst_party_id is None:
      #     Metadata.PTP_TARGET_NODE_ID.append(metadata, str(self._dst_party_id))
      if not self._src_party_id is None:
          Metadata.PTP_FROM_NODE_ID.append(
              metadata, str(self._src_party_id)
          )
      # Metadata.PTP_TOPIC.append(metadata,str(self._receive_topic))
      Metadata.PTP_TECH_PROVIDER_CODE.append(metadata, "FATE")
      Metadata.PTP_TRACE_ID.append(metadata, build_trace_id())
      return metadata
  
imports: import json
  import time
  from enum import Enum
  from logging import getLogger
  from typing import Dict, List, Any
  import grpc
  import numpy
  from fate.arch.federation.backends.osx import osx_pb2
  from fate.arch.federation.backends.osx.osx_pb2_grpc import PrivateTransferTransportStub
label_desc: Use image node_id 3 for calling the MQChannel obj's underlying member method code with example usage: obj.prepare_metadata_consume() and returns: metadata