Categorygithub.com/geektheripper/vast-dsn/s3_dsn
package
0.0.1
Repository: https://github.com/geektheripper/vast-dsn.git
Documentation: pkg.go.dev

# 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, default https
  • region: string, default aws-east-1
  • disable-ssl: true|false, default false
  • s3-force-path-style: true|false, default false

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("...")