Class BlobWriter (2.17.0)

BlobWriter(blob, chunk_size=None, text_mode=False, ignore_flush=False, retry=<google.cloud.storage.retry.ConditionalRetryPolicy object>, **upload_kwargs)

A file-like object that writes to a blob.

Parameters

Name Description
blob 'google.cloud.storage.blob.Blob'

The blob to which to write.

chunk_size long

(Optional) The maximum number of bytes to buffer before sending data to the server, and the size of each request when data is sent. Writes are implemented as a "resumable upload", so chunk_size for writes must be exactly a multiple of 256KiB as with other resumable uploads. The default is the chunk_size of the blob, or 40 MiB.

text_mode bool

(Deprecated) A synonym for ignore_flush. For backwards-compatibility, if True, sets ignore_flush to True. Use ignore_flush instead. This parameter will be removed in a future release.

ignore_flush bool

Makes flush() do nothing instead of raise an error. flush() without closing is not supported by the remote service and therefore calling it on this class normally results in io.UnsupportedOperation. However, that behavior is incompatible with some consumers and wrappers of file objects in Python, such as zipfile.ZipFile or io.TextIOWrapper. Setting ignore_flush will cause flush() to successfully do nothing, for compatibility with those contexts. The correct way to actually flush data to the remote server is to close() (using this object as a context manager is recommended).

retry google.api_core.retry.Retry or google.cloud.storage.retry.ConditionalRetryPolicy

(Optional) How to retry the RPC. A None value will disable retries. A google.api_core.retry.Retry value will enable retries, and the object will define retriable response codes and errors and configure backoff and timeout options. A google.cloud.storage.retry.ConditionalRetryPolicy value wraps a Retry object and activates it only if certain conditions are met. This class exists to provide safe defaults for RPC calls that are not technically safe to retry normally (due to potential data duplication or other side-effects) but become safe to retry if a condition such as if_metageneration_match is set. See the retry.py source code and docstrings in this package (google.cloud.storage.retry) for information on retry types and how to configure them. Media operations (downloads and uploads) do not support non-default predicates in a Retry object. The default will always be used. Other configuration changes for Retry objects such as delays and deadlines are respected.

Methods

close

close()

Flush and close the IO object.

This method has no effect if the file is already closed.

flush

flush()

Flush write buffers, if applicable.

This is not implemented for read-only and non-blocking streams.

readable

readable()

Return whether object was opened for reading.

If False, read() will raise OSError.

seekable

seekable()

Return whether object supports random access.

If False, seek(), tell() and truncate() will raise OSError. This method may need to do a test seek().

tell

tell()

Return current stream position.

writable

writable()

Return whether object was opened for writing.

If False, write() will raise OSError.

write

write(b)

Write the given buffer to the IO stream.

Returns the number of bytes written, which is always the length of b in bytes.

Raises BlockingIOError if the buffer is full and the underlying raw stream cannot accept more data at the moment.