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)