This is the multi-page printable view of this section. .
Go Quickstart Guide
MinIO Go SDK
SILO implements the S3-compatible server contract, so Go applications can use the upstream MinIO Go SDK directly. The current major module path is github.com/minio/minio-go/v7.
SDK releases and Go requirements evolve independently of SILO. Check the current releases and package documentation before pinning a version.
Install the module
From an existing Go module:
Configure the connection
S3_ENDPOINT is a host and optional port, without an http:// or https:// prefix. Keep credentials outside source control and set S3_USE_SSL=true when the endpoint serves TLS.
Create a bucket and upload an object
Save the following as main.go:
Run it with:
Use the SDK’s API documentation and maintained examples for presigned URLs, object locking, encryption, notifications, multipart operations, and other APIs.
Production checklist
- Use TLS and verify the server certificate.
- Load credentials from a secret manager or protected environment.
- Grant the application only the bucket and object permissions it needs.
- Pin and test the SDK and Go versions together.
- Apply request deadlines and handle retries, cancellation, and incomplete multipart uploads explicitly.
See Identity and Access Management for server-side policy configuration.