def get_item_metadata(self, handle):
metadata = {}<EOL>identifier = generate_identifier(handle)<EOL>prefix = self.fragments_key_prefix + '<STR_LIT:{}>'.format(identifier)<EOL>blob_generator = self._blobservice.list_blobs(<EOL>self.uuid,<EOL>include='<STR_LIT>',<EOL>prefix=prefix<EOL>)<EOL>for blob in blob_generator:<EOL><INDENT>metadata_key = blob.name.split('<STR_LIT:.>')[-<NUM_LIT:2>]<EOL>value_as_string = self.get_text(blob.name)<EOL>value = json.loads(value_as_string)<EOL>metadata[metadata_key] = value<EOL><DEDENT>return metadata<EOL>
Return dictionary containing all metadata associated with handle.

        In other words all the metadata added using the ``add_item_metadata``
        method.

        :param handle: handle for accessing an item before the dataset is
                       frozen
        :returns: dictionary containing item metadata