code: def read(self, size=-1):
          
          if self.closed:
              raise ValueError("I/O operation on closed file")
          with map_azure_exceptions(key=self.key):
              if size < 0:
                  size = self.size - self.pos
  
              end = min(self.pos + size - 1, self.size - 1)
              if self.pos > end:
                  return b''
              b = self.block_blob_service.get_blob_to_bytes(
                      container_name=self.container_name,
                      blob_name=self.key,
                      start_range=self.pos,
                      end_range=end,  # end_range is inclusive
                      max_connections=self.max_connections,
              )
              self.pos += len(b.content)
              return b.content
docs: Returns 'size' amount of bytes or less if there is no more data.
          If no size is given all data is returned. size can be >= 0.