Backblaze release there cloud storage’s S3 compatible API about 2 week ago. Given that it is more reliable and cheaper, I tried to move my primary s3 backend from self-hosted MinIO to B2 Cloud Storage this morning but failed.
Apache2’s logs said Pod’s livenessProbe checked
/status.php but always got 400:
there is no log from nextcloud, even after set loglevel to debug:
and I don’t know how to get log from php side. Please somebody here told me how to get log from php side.
Since I only modified the S3 configuration file, I can only think that B2’s S3 API does not meet the requirements of nextcloud.
Here’s B2 said what they support or not:
Supported Calls The Backblaze S3 Compatible API returns calls in the same way the AWS S3 API does. Note that this may vary slightly from AWS S3 API documentation - this difference is expected based on the AWS S3 API. Here are the calls that are supported: Abort Multipart Upload Complete Multipart Upload Create Bucket Delete Bucket Delete Multiple Objects Delete Object Get Bucket ACL Get Bucket Location Get Bucket Object Versions Get Object Get Object ACL Head Bucket Head Object Initiate Multipart Upload List Buckets List Multipart Uploads List Objects v2 List Parts Put Bucket ACL Put Object Put Object Copy Upload Part Upload Part Copy Unsupported Features The Backblaze S3 Compatible API does not currently support the following features: ACLs (see above) IAM roles Object Locks Object Tagging Bucket Logging Legal Hold Website configuration Lifecycle Rules (supported by the Backblaze B2 Native API) Server-side Encryption
Full S3 API docs see links above.
image: tag: 18.0.4-apache pullPolicy: Always nextcloud: host: [masked] username: [masked] password: [masked] configs: s3.config.php: |- <?php $CONFIG = array ( 'objectstore' => array( 'class' => '\\OC\\Files\\ObjectStore\\S3', 'arguments' => array( 'bucket' => '[masked]', 'autocreate' => true, 'key' => '[masked]', 'secret' => '[masked]', 'hostname' => 's3.us-west-002.backblazeb2.com', 'port' => 443, 'region' => 'us-west-1', 'use_path_style' => false, 'use_ssl' => true ) ) ); internalDatabase: enabled: true externalDatabase: enabled: false type: mysql host: [masked] user: nextcloud password: [masked] database: [masked] mariadb: enabled: false persistence: enabled: true
us-west-1 works with other apps and nextcloud don’t work with
us-west-002 either I checked.
PS. I tried both nc18 and nc17.
What hpappend with B2’s storage
Infact, after the very first pod failed, there is some files in B2’s bucket generated by nextcloud.
I download that
urn:oid:5 file from B2’s cloud storage.
Seek for help
Is here anyone use B2’s S3 API as well and how about you?