# README
S3 DSN
S3
s3://[<credentials>@]<endpoint>[:(port)]?region=<region>&querys...
credentials:
<access-key-id>:<secret-access-key>
endpoint:
-
for aws s3, use default endpoint by sdk
some-domain
from custom endpoint or s3 alternatives
querys:
- protocol:
http|https
, defaulthttps
- region:
string
, defaultaws-east-1
- disable-ssl:
true|false
, defaultfalse
- s3-force-path-style:
true|false
, defaultfalse
S3 Bucket:
s3://[<credentials>@]<endpoint>[:(port)]/<bucket>[?region=<region>&querys...]
S3 Object:
s3://[<credentials>@]<endpoint>[:(port)]/<bucket>/<key>[?region=<region>&querys...]
S3 DSN Usage
import "github.com/geektheripper/vast-dsn/dsn/s3_dsn"
config, bucket, key, err = s3_dsn.ParseDSN("s3://minio.vastdns.example.com:9003/foobar/path/to/key?region=")
// error when got unexpected bucket
config, err := s3_dsn.ParseS3DSN("s3://access_key:secret_key@-?region=us-east-2")
// error when got unexpected key
config, bucket, err := s3_dsn.ParseS3BucketDSN("s3://access_key:[email protected]:9003/foobar?region=")
config, bucket, key, err = s3_dsn.ParseS3ObjectDSN("s3://minio.vastdns.example.com:9003/foobar/path/to/key?region=")
// panic when got error
config := s3_dsn.MustParseS3DSN("...")
config := s3_dsn.ParseS3BucketDSN("...")
config := s3_dsn.ParseS3ObjectDSN("...")