code: def compose_object(self, file_list, destination_file, content_type):
      
  
      xml_setting_list = ['<ComposeRequest>']
  
      for meta_data in file_list:
        xml_setting_list.append('<Component>')
        for key, val in meta_data.iteritems():
          xml_setting_list.append('<%s>%s</%s>' % (key, val, key))
        xml_setting_list.append('</Component>')
      xml_setting_list.append('</ComposeRequest>')
      xml = ''.join(xml_setting_list)
  
      if content_type is not None:
        headers = {'Content-Type': content_type}
      else:
        headers = None
      status, resp_headers, content = self.put_object(
          api_utils._quote_filename(destination_file) + '?compose',
          payload=xml,
          headers=headers)
      errors.check_status(status, [200], destination_file, resp_headers,
                          body=content)
docs: COMPOSE multiple objects together.
  
      Using the given list of files, calls the put object with the compose flag.
      This call merges all the files into the destination file.
  
      Args:
        file_list: list of dicts with the file name.
        destination_file: Path to the destination file.
        content_type: Content type for the destination file.