    def get_data(self, key):
        """
        获取存储在本地磁盘上的数据。如果数据不存在，通过 obsutil 从远端获取并存储。
        :param key: 数据的唯一键。
        :return: 数据。
        """
        # if key in self.index:
        #     data_file = self.index[key]
        #     if os.path.exists(data_file):
        #         self.lru.move_to_end(key)
        #         with open(data_file, 'rb') as f:
        #             # print(f"Successfully get {key} from local")
        #             return pickle.load(f)


        # 如果数据不存在，使用 obsutil 从远端获取
        object_name = key  # 假设 key 对应于远端对象名称
        local_path = os.path.join(self.storage_dir, key)

        with self.connection.suppress_stdout:
            self.download_and_convert_to_pickle(self.connection.bucket, object_name, local_path)

        # 保存数据的位置
        # self.index[key] = local_path
        # self.save_index()
        # self.lru[key] = local_path
        #
        # file_size = os.path.getsize(local_path)
        # self.current_size += file_size

        # self.ensure_storage_limit()

        return local_path
获取存储在本地磁盘上的数据。如果数据不存在，通过 obsutil 从远端获取并存储。
:param key: 数据的唯一键。
:return: 数据。
opensora/dataset/virtual_disk.py