code: func (d *driver) Reader(ctx context.Context, path string, offset int64) (io.ReadCloser, error) {
  	blobRef := d.client.GetContainerReference(d.container).GetBlobReference(path)
  	if ok, err := blobRef.Exists(); err != nil {
  		return nil, err
  	} else if !ok {
  		return nil, storagedriver.PathNotFoundError{Path: path}
  	}
  
  	err := blobRef.GetProperties(nil)
  	if err != nil {
  		return nil, err
  	}
  	info := blobRef.Properties
  	size := info.ContentLength
  	if offset >= size {
  		return ioutil.NopCloser(bytes.NewReader(nil)), nil
  	}
  
  	resp, err := blobRef.GetRange(&azure.GetBlobRangeOptions{
  		Range: &azure.BlobRange{
  			Start: uint64(offset),
  			End:   0,
  		},
  	})
  	if err != nil {
  		return nil, err
  	}
  	return resp, nil
  }
docs: // Reader retrieves an io.ReadCloser for the content stored at "path" with a
  // given byte offset.