def __getitem__()

in oss-torch-connector/osstorchconnector/oss_map_dataset.py [0:0]


    def __getitem__(self, i: int) -> Any:
        if not self._from_tar:
            object = self._dataset_bucket_objects[i]
            log.debug("OssMapDataset get item [%d], key: %s, size: %d, label: %s", i, object.key, object.size, object.label)
            bucket, key = parse_oss_uri(object.key)
            if object.size <= 0:
                new_object = self._get_client().get_object(bucket, key, 0, label=object.label, type=2)           # mem
            else:
                new_object = self._get_client().get_object(bucket, key, object.size, label=object.label, type=0) # basic
        else:
            new_object = self._get_client().get_object(bucket=self._tar_bucket, key=self._tar_key, size=i,
                                                       label=self._tar_index_key, type=3)                        # tar
        return self._get_transformed_object_safe(new_object)