Hi,
Yes, B2 supports upload, but they have a mandatory SHA-1 hash requirement. This is fine, but they also require the hash to be sent at the beginning of the upload, which means it needs to be calculated and stored beforehand. Ideally the hash could be sent at the end of the request, so that it can be calculated on-the-fly, during transmission.
Our general sync transfer mechanism inserts these processing steps in-line, as we transmit (stream). We need B2 to accept the hash after upload, rather than before, to support this. Backblaze has said that this was something they would like to provide, to allow for efficient transmission, but it is not available yet. Once it is we will add upload capabilities.
They address this briefly in this post: