Backblaze B2/S3 Supported?

Is Backblaze B2/S3 supported with the s3:// backend. After several unsuccessful attempts, I gave up and went with b2://

Here’s what happened:

duplicacy init -e backup s3://s3.us-west-002.backblazeb2.com/bucket1
Enter S3 Access Key ID:xxxxxxx
Enter S3 Secret Access Key:xxxxxxx
Enter storage password for s3://s3.us-west-002.backblazeb2.com/bucket1:**********
Failed to download the configuration file from the storage: MissingRegion: could not find region configuration

There is no storage password. The -e option was for local/client encryption.

When I tried this without -e I received the same error. Thanks!

  1. Why would you use S3 gateway, introducing a bottleneck and another point of failure, while duplicacy directly supports B2?
  2. The error message tells you how to fix it: you need to specify the region in your s3 URI: e.g. “us-east-1”
  3. What exact issues do you have with b2 protocol? Post your logs and connection string. Edit out the api keys.

OK… I’ll reformat the URL as
duplicacy init -e backup s3://s3.us-west-002@backblazeb2.com/bucket1
and see if that is accepted.

Maybe I misread the B2 instructions, but I sensed that S3 was preferred as it is more widely supported.

B2 was developed to support the specific Backblaze architecture, where the few load balancers give out upload links to storage nodes directly to customers.

Then later they added the whole other pile of services and hardware to provide s3 access to capture customers that cannot use B2 protocol, specifically because S3 existed for longer there is a lot of software that supports S3 but not B2. Apparently, capturing those customers they deemed to be worth the additional expense maintaining that whole S3 gateway hardware. You can read more here: How the Amazon S3 API Design Ends Up Costing You Money. See sections “Load Balancing vs Contract Architecture” and further the eventual vs strong consistency.

In other words, B2 is better fitted to the storage architecture, as it was designed for it (they even call it Native), while s3 is a heavy wrapper on top of it to reach people that are familiar with s3 and have software that works with s3: they could just say — hey, replace the url with Backblaze, and stop paying Amazon and start paying us.

This is not the only option though, for example, Minio can be used as an s3 gateway to b2 as well.

Duplicacy works with B2 directly, so the whole point is moot: there is no compelling reason to use the s3 workaround.

Edit: that article is not 100% truthful. For example they say “ the fact that B2 is sustainable service offered at ¼ of S3’s price.” but in reality Backblaze never was and still is not profitable. But this is a separate discussion.

I think it shall be s3://us-west-002@s3.us-west-002.backblazeb2.com/bucket1. The region goes before @ and the actual URL — after.

My advice to use B2 instead still stands however.

Thanks for that. I may give it a go, but you’ve convinced me to run with native B2, vs S3.

2 Likes