You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
2.5 KiB
60 lines
2.5 KiB
# MinIO B2 Gateway [![Slack](https://slack.min.io/slack?type=svg)](https://slack.min.io)
|
|
MinIO Gateway adds Amazon S3 compatibility to Backblaze B2 Cloud Storage.
|
|
|
|
## Run MinIO Gateway for Backblaze B2 Cloud Storage
|
|
Please follow this [guide](https://www.backblaze.com/b2/docs/quick_account.html) to create an account on backblaze.com to obtain your access credentials for B2 Cloud storage.
|
|
|
|
### Using Docker
|
|
```
|
|
docker run -p 9000:9000 --name b2-s3 \
|
|
-e "MINIO_ACCESS_KEY=b2_account_id" \
|
|
-e "MINIO_SECRET_KEY=b2_application_key" \
|
|
minio/minio gateway b2
|
|
```
|
|
|
|
### Using Binary
|
|
```
|
|
export MINIO_ACCESS_KEY=b2_account_id
|
|
export MINIO_SECRET_KEY=b2_application_key
|
|
minio gateway b2
|
|
```
|
|
|
|
## Test using MinIO Browser
|
|
MinIO Gateway comes with an embedded web based object browser. Point your web browser to http://127.0.0.1:9000 to ensure that your server has started successfully.
|
|
|
|
![Screenshot](https://raw.githubusercontent.com/minio/minio/master/docs/screenshots/minio-browser-gateway.png)
|
|
|
|
## Test using MinIO Client `mc`
|
|
`mc` provides a modern alternative to UNIX commands such as ls, cat, cp, mirror, diff etc. It supports filesystems and Amazon S3 compatible cloud storage services.
|
|
|
|
### Configure `mc`
|
|
```
|
|
mc config host add myb2 http://gateway-ip:9000 b2_account_id b2_application_key
|
|
```
|
|
|
|
### List buckets on Backblaze B2
|
|
```
|
|
mc ls myb2
|
|
[2017-02-22 01:50:43 PST] 0B ferenginar/
|
|
[2017-02-26 21:43:51 PST] 0B my-bucket/
|
|
[2017-02-26 22:10:11 PST] 0B test-bucket1/
|
|
```
|
|
|
|
### Known limitations
|
|
Gateway inherits the following B2 limitations:
|
|
|
|
- No support for CopyObject S3 API (yet).
|
|
- No support for CopyObjectPart S3 API (yet).
|
|
- Only read-only bucket policy supported at bucket level, all other variations will return API Notimplemented error.
|
|
- DeleteObject() might not delete the object right away on Backblaze B2, so you might see the object immediately after a Delete request.
|
|
- Multipart uploads don't return an MD5-hash ETag, not even with the `--compat` flag.
|
|
|
|
Other limitations:
|
|
|
|
- Bucket notification APIs are not supported.
|
|
- The PutObject S3 API only returns the md5sum of an uploaded file as it's ETag response when minio is started in `--compat` mode. Don't use this unless you are stuck with a client library where this check cannot be turned off (e.g. boto).
|
|
|
|
## Explore Further
|
|
- [`mc` command-line interface](https://docs.min.io/docs/minio-client-quickstart-guide)
|
|
- [`aws` command-line interface](https://docs.min.io/docs/aws-cli-with-minio)
|
|
- [`minio-go` Go SDK](https://docs.min.io/docs/golang-client-quickstart-guide)
|
|
|