class_docstr: A DataStoreStorage defines the interface of communication between the
  higher-level datastores and the actual storage system.
  
  Both the ContentAddressedStore and the TaskDataStore use these methods to
  read/write/list from the actual storage system. These methods are meant to
  be low-level; they are in a class to provide better abstraction but this
  class itself is not meant to be initialized.
docstr: Gets objects from the datastore
  
  Note that objects may be fetched in parallel so if order is important
  for your consistency model, the caller is responsible for calling this
  multiple times in the proper order.
  
  Parameters
  ----------
  keys : List[string]
      Keys to fetch
  
  Returns
  -------
  CloseAfterUse :
      A CloseAfterUse which should be used in a with statement. The data
      in the CloseAfterUse will be an iterator over (key, file_path, metadata)
      tuples. File_path and metadata will be None if the key was missing.
      Metadata will be None if no metadata is present; otherwise it is
      a dictionary of metadata associated with the object.
  
      Note that the file at `file_path` may no longer be accessible outside
      the scope of the returned object.
  
      The order of items in the list is not to be relied on (ie: rely on the key
      in the returned tuple and not on the order of the list). This function will,
      however, return as many elements as passed in even in the presence of
      duplicate keys.
docstr_tok: ["Gets","objects","from","the","datastore","Note","that","objects","may","be","fetched","in","parallel","so","if","order","is","important","for","your","consistency","model",",","the","caller","is","responsible","for","calling","this","multiple","times","in","the","proper","order",".","Parameters","--","--","--","--","--","keys",":","List","[","string","]","Keys","to","fetch","Returns","--","--","--","-","CloseAfterUse",":","A","CloseAfterUse","which","should","be","used","in","a","with","statement",".","The","data","in","the","CloseAfterUse","will","be","an","iterator","over","(","key",",","file_path",",","metadata",")","tuples",".","File_path","and","metadata","will","be","None","if","the","key","was","missing",".","Metadata","will","be","None","if","no","metadata","is","present",";","otherwise","it","is","a","dictionary","of","metadata","associated","with","the","object",".","Note","that","the","file","at","`","file_path","`","may","no","longer","be","accessible","outside","the","scope","of","the","returned","object",".","The","order","of","items","in","the","list","is","not","to","be","relied","on","(","ie",":","rely","on","the","key","in","the","returned","tuple","and","not","on","the","order","of","the","list",")",".","This","function","will",",","however",",","return","as","many","elements","as","passed","in","even","in","the","presence","of","duplicate","keys","."]
code: def load_bytes(self, keys):
      """
      Gets objects from the datastore
  
      Note that objects may be fetched in parallel so if order is important
      for your consistency model, the caller is responsible for calling this
      multiple times in the proper order.
  
      Parameters
      ----------
      keys : List[string]
          Keys to fetch
  
      Returns
      -------
      CloseAfterUse :
          A CloseAfterUse which should be used in a with statement. The data
          in the CloseAfterUse will be an iterator over (key, file_path, metadata)
          tuples. File_path and metadata will be None if the key was missing.
          Metadata will be None if no metadata is present; otherwise it is
          a dictionary of metadata associated with the object.
  
          Note that the file at `file_path` may no longer be accessible outside
          the scope of the returned object.
  
          The order of items in the list is not to be relied on (ie: rely on the key
          in the returned tuple and not on the order of the list). This function will,
          however, return as many elements as passed in even in the presence of
          duplicate keys.
      """
      raise NotImplementedError
  
imports: from collections import namedtuple
  import re
  from .exceptions import DataException
label_desc: Use image node_id 14 for calling the DataStoreStorage obj's underlying member method code with example usage: obj.load_bytes(keys) without return types