Fetches a fragment of a blob up to MAX_BLOB_FETCH_SIZE in length. Attempting
to fetch a fragment that extends beyond the boundaries of the blob will return
the amount of data from start_index until the end of the blob, which will be
a smaller size than requested. Requesting a fragment that is entirely outside
the boundaries of the blob will return an empty string. Attempting to fetch a
negative index will raise an exception.
Args
blob
A BlobInfo, BlobKey, string, or Unicode representation of
the BlobKey of the blob from which you want to fetch data.
start_index
The start index of blob data to fetch. This value must not be
negative.
end_index
The end index (inclusive) of the blob data to fetch. This value
must be greater than or equal to start_index.
rpc
Optional UserRPC object.
Returns
A string that contains partial data of a blob. If the indexes are legal but
outside of the boundaries of the blob, an empty string is returned.
Raises
TypeError
If start_index or end_index are not indexes, or if blob is
not a string, BlobKey or BlobInfo.
DataIndexOutOfRangeError
If start_index is set to a value that is less
than 0 or end_index is less than start_index.
BlobFetchSizeTooLargeError
If the requested blob fragment is larger than
MAX_BLOB_FETCH_SIZE.