4 KiB
MinIO GCS Gateway ![Slack](https://slack.min.io/slack?type=svg)
MinIO GCS Gateway allows you to access Google Cloud Storage (GCS) with Amazon S3-compatible APIs
1. Run MinIO Gateway for GCS
1.1 Create a Service Account key for GCS and get the Credentials File
- Navigate to the API Console Credentials page.
- Select a project or create a new project. Note the project ID.
- Select the Create credentials dropdown on the Credentials page, and click Service account key.
- Select New service account from the Service account dropdown.
- Populate the Service account name and Service account ID.
- Click the dropdown for the Role and choose Storage > Storage Admin (Full control of GCS resources).
- Click the Create button to download a credentials file and rename it to
credentials.json
.
Note: For alternate ways to set up Application Default Credentials, see Setting Up Authentication for Server to Server Production Applications.
1.1 Run MinIO GCS Gateway Using Docker
docker run -p 9000:9000 --name gcs-s3 \
-v /path/to/credentials.json:/credentials.json \
-e "GOOGLE_APPLICATION_CREDENTIALS=/credentials.json" \
-e "MINIO_ACCESS_KEY=minioaccountname" \
-e "MINIO_SECRET_KEY=minioaccountkey" \
minio/minio gateway gcs yourprojectid
1.2 Run MinIO GCS Gateway Using the MinIO Binary
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json
export MINIO_ACCESS_KEY=minioaccesskey
export MINIO_SECRET_KEY=miniosecretkey
minio gateway gcs yourprojectid
2. Test Using MinIO Browser
MinIO Gateway comes with an embedded web-based object browser that outputs content to http://127.0.0.1:9000. To test that MinIO Gateway is running, open a web browser, navigate to http://127.0.0.1:9000, and ensure that the object browser is displayed.
3. Test Using MinIO Client
MinIO Client is a command-line tool called mc
that provides UNIX-like commands for interacting with the server (e.g. ls, cat, cp, mirror, diff, find, etc.). mc
supports file systems and Amazon S3-compatible cloud storage services (AWS Signature v2 and v4).
3.1 Configure the Gateway using MinIO Client
Use the following command to configure the gateway:
mc config host add mygcs http://gateway-ip:9000 minioaccesskey miniosecretkey
3.2 List Containers on GCS
Use the following command to list the containers on GCS:
mc ls mygcs
A response similar to this one should be displayed:
[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/
3.3 Known limitations
MinIO Gateway has the following limitations when used with GCS:
- It only supports read-only and write-only bucket policies at the bucket level; all other variations will return
API Not implemented
. - The
List Multipart Uploads
andList Object parts
commands always return empty lists. Therefore, the client must store all of the parts that it has uploaded and use that information when invoking the_Complete Multipart Upload
command.
Other limitations:
- Bucket notification APIs are not supported.