2019-04-09 14:39:42 -04:00
# MinIO Azure Gateway [![Slack](https://slack.min.io/slack?type=svg)](https://slack.min.io)
MinIO Gateway adds Amazon S3 compatibility to Microsoft Azure Blob Storage.
2017-07-10 12:35:20 -04:00
2019-04-09 14:39:42 -04:00
## Run MinIO Gateway for Microsoft Azure Blob Storage
2017-07-10 12:35:20 -04:00
### Using Docker
```
2021-07-12 20:04:07 -04:00
podman run \
-p 9000:9000 \
-p 9001:9001 \
--name azure-s3 \
2021-01-05 13:22:57 -05:00
-e "MINIO_ROOT_USER=azurestorageaccountname" \
-e "MINIO_ROOT_PASSWORD=azurestorageaccountkey" \
2021-07-12 20:04:07 -04:00
minio/minio gateway azure --console-address ":9001"
2017-07-10 12:35:20 -04:00
```
### Using Binary
```
2021-01-05 13:22:57 -05:00
export MINIO_ROOT_USER=azureaccountname
export MINIO_ROOT_PASSWORD=azureaccountkey
2017-07-10 12:35:20 -04:00
minio gateway azure
```
2021-06-17 23:27:04 -04:00
## Test using MinIO Console
2021-04-29 22:01:43 -04:00
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.
2021-06-17 23:27:04 -04:00
| Dashboard | Creating a bucket |
| ------------- | ------------- |
| ![Dashboard ](https://github.com/minio/minio/blob/master/docs/screenshots/pic1.png?raw=true ) | ![Dashboard ](https://github.com/minio/minio/blob/master/docs/screenshots/pic2.png?raw=true ) |
2019-04-09 14:39:42 -04:00
## Test using MinIO Client `mc`
2017-07-10 12:35:20 -04:00
`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`
```
2020-08-17 20:39:55 -04:00
mc alias set myazure http://gateway-ip:9000 azureaccountname azureaccountkey
2017-07-10 12:35:20 -04:00
```
### List containers on Microsoft Azure
```
mc ls myazure
[2017-02-22 01:50:43 PST] 0B ferenginar/
[2017-02-26 21:43:51 PST] 0B my-container/
[2017-02-26 22:10:11 PST] 0B test-container1/
```
2020-11-23 19:45:56 -05:00
### Use custom access/secret keys
2021-01-05 13:22:57 -05:00
If you do not want to share the credentials of the Azure blob storage with your users/applications, you can set the original credentials in the shell environment using `AZURE_STORAGE_ACCOUNT` and `AZURE_STORAGE_KEY` variables and assign different access/secret keys to `MINIO_ROOT_USER` and `MINIO_ROOT_PASSWORD` .
2020-11-23 19:45:56 -05:00
2017-07-10 12:35:20 -04:00
### Known limitations
2017-10-16 22:42:44 -04:00
Gateway inherits the following Azure limitations:
- Only read-only bucket policy supported at bucket level, all other variations will return API Notimplemented error.
- Bucket names with "." in the bucket name are not supported.
- Non-empty buckets get removed on a DeleteBucket() call.
2018-09-06 20:19:51 -04:00
- _List Multipart Uploads_ always returns empty list.
2017-10-16 22:42:44 -04:00
Other limitations:
- Bucket notification APIs are not supported.
2017-07-10 12:35:20 -04:00
## Explore Further
2019-04-09 14:39:42 -04:00
- [`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 )