docs: def create_file_from_stream(
          self, share_name, directory_name, file_name, stream, count,
          content_settings=None, metadata=None, progress_callback=None,
          max_connections=1, max_retries=5, retry_wait=1.0, timeout=None):
          '''
          Creates a new file from a file/stream, or updates the content of an
          existing file, with automatic chunking and progress notifications.
  
          :param str share_name:
              Name of existing share.
          :param str directory_name:
              The path to the directory.
          :param str file_name:
              Name of file to create or update.
          :param io.IOBase stream:
              Opened file/stream to upload as the file content.
          :param int count:
              Number of bytes to read from the stream. This is required, a
              file cannot be created if the count is unknown.
          :param ~azure.storage.file.models.ContentSettings content_settings:
              ContentSettings object used to set file properties.
          :param metadata:
              Name-value pairs associated with the file as metadata.
          :type metadata: a dict mapping str to str
          :param progress_callback:
              Callback for progress with signature function(current, total) where
              current is the number of bytes transfered so far and total is the
              size of the file, or None if the total size is unknown.
          :type progress_callback: callback function in format of func(current, total)
          :param int max_connections:
              Maximum number of parallel connections to use when the file size
              exceeds 64MB.
              Set to 1 to upload the file chunks sequentially.
              Set to 2 or more to upload the file chunks in parallel. This uses
              more system resources but will upload faster.
              Note that parallel upload requires the stream to be seekable.
          :param int max_retries:
              Number of times to retry upload of file chunk if an error occurs.
          :param int retry_wait:
              Sleep time in secs between retries.
          :param int timeout:
              The timeout parameter is expressed in seconds. This method may make 
              multiple calls to the Azure service and the timeout will apply to 
              each call individually.
          '''
          _validate_not_none('share_name', share_name)
          _validate_not_none('file_name', file_name)
          _validate_not_none('stream', stream)
          _validate_not_none('count', count)
  
          if count < 0:
              raise TypeError(_ERROR_VALUE_NEGATIVE.format('count'))
  
          self.create_file(
              share_name,
              directory_name,
              file_name,
              count,
              content_settings,
              metadata,
              timeout
          )
  
          _upload_file_chunks(
              self,
              share_name,
              directory_name,
              file_name,
              count,
              self.MAX_RANGE_SIZE,
              stream,
              max_connections,
              max_retries,
              retry_wait,
              progress_callback,
              timeout
          )