code: def get_subresource(self, subresource, key_name='', headers=None,
                          version_id=None):
          
          if not subresource:
              raise TypeError('get_subresource called with subresource=None')
          query_args = subresource
          if version_id:
              query_args += '&versionId=%s' % version_id
          response = self.connection.make_request('GET', self.name, key_name,
                                                  query_args=query_args,
                                                  headers=headers)
          body = response.read()
          if response.status != 200:
              raise self.connection.provider.storage_response_error(
                  response.status, response.reason, body)
          return body
docs: Get a subresource for a bucket or key.
  
          :type subresource: string
          :param subresource: The subresource to get.
  
          :type key_name: string
          :param key_name: The key to operate on, or None to operate on the
                           bucket.
  
          :type headers: dict
          :param headers: Additional HTTP headers to include in the request.
  
          :type src_version_id: string
          :param src_version_id: Optional. The version id of the key to operate
                                 on. If not specified, operate on the newest
                                 version.
  
          :rtype: string
          :returns: The value of the subresource.