s3

package module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2021 License: Apache-2.0 Imports: 21 Imported by: 0

README

go-services-s3

Build Status License go storage dev

s3 services support for go-storage

Install

go get github.com/aos-dev/go-service-s3

Documentation

Overview

Package s3 provided support for AWS s3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html)

Code generated by go generate via internal/cmd/service; DO NOT EDIT.

Index

Constants

View Source
const (
	StorageClassStandard           = s3.ObjectStorageClassStandard
	StorageClassReducedRedundancy  = s3.ObjectStorageClassReducedRedundancy
	StorageClassGlacier            = s3.ObjectStorageClassGlacier
	StorageClassStandardIa         = s3.ObjectStorageClassStandardIa
	StorageClassOnezoneIa          = s3.ObjectStorageClassOnezoneIa
	StorageClassIntelligentTiering = s3.ObjectStorageClassIntelligentTiering
	StorageClassDeepArchive        = s3.ObjectStorageClassDeepArchive
)

All available storage classes are listed here.

View Source
const (
	ServerSideEncryptionAes256 = s3.ServerSideEncryptionAes256
	ServerSideEncryptionAwsKms = s3.ServerSideEncryptionAwsKms
)

All available server side algorithm are listed here.

View Source
const Type = "s3"

Type is the type for s3

Variables

View Source
var (
	// ErrServerSideEncryptionCustomerKey will be returned while server-side encryption customer key is invalid.
	ErrServerSideEncryptionCustomerKey = errors.New("invalid server-side encryption customer key")
)

Functions

func New

func New(pairs ...typ.Pair) (typ.Servicer, typ.Storager, error)

New will create both Servicer and Storager.

func NewServicer

func NewServicer(pairs ...typ.Pair) (typ.Servicer, error)

NewServicer will create Servicer only.

func NewStorager

func NewStorager(pairs ...typ.Pair) (typ.Storager, error)

NewStorager will create Storager only.

func WithDefaultServicePairs

func WithDefaultServicePairs(v DefaultServicePairs) Pair

WithDefaultServicePairs will apply default_service_pairs value to Options DefaultServicePairs set default pairs for service actions

func WithDefaultStoragePairs

func WithDefaultStoragePairs(v DefaultStoragePairs) Pair

WithDefaultStoragePairs will apply default_storage_pairs value to Options DefaultStoragePairs set default pairs for storager actions

func WithDisable100Continue

func WithDisable100Continue(v bool) Pair

WithDisable100Continue will apply disable_100_continue value to Options Disable100Continue set this to `true` to disable the SDK adding the `Expect: 100-Continue` header to PUT requests over 2MB of content

func WithExceptedBucketOwner

func WithExceptedBucketOwner(v string) Pair

WithExceptedBucketOwner will apply excepted_bucket_owner value to Options ExceptedBucketOwner the account ID of the excepted bucket owner

func WithForcePathStyle

func WithForcePathStyle(v bool) Pair

WithForcePathStyle will apply force_path_style value to Options ForcePathStyle see http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html for Amazon S3: Virtual Hosting of Buckets

func WithServerSideEncryption

func WithServerSideEncryption(v string) Pair

WithServerSideEncryption will apply server_side_encryption value to Options ServerSideEncryption the server-side encryption algorithm used when storing this object in Amazon

func WithServerSideEncryptionAwsKmsKeyID

func WithServerSideEncryptionAwsKmsKeyID(v string) Pair

WithServerSideEncryptionAwsKmsKeyID will apply server_side_encryption_aws_kms_key_id value to Options ServerSideEncryptionAwsKmsKeyID specifies the AWS KMS key ID to use for object encryption

func WithServerSideEncryptionBucketKeyEnabled

func WithServerSideEncryptionBucketKeyEnabled(v bool) Pair

WithServerSideEncryptionBucketKeyEnabled will apply server_side_encryption_bucket_key_enabled value to Options ServerSideEncryptionBucketKeyEnabled specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption using AWS KMS (SSE-KMS)

func WithServerSideEncryptionContext

func WithServerSideEncryptionContext(v string) Pair

WithServerSideEncryptionContext will apply server_side_encryption_context value to Options ServerSideEncryptionContext specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

func WithServerSideEncryptionCustomerAlgorithm

func WithServerSideEncryptionCustomerAlgorithm(v string) Pair

WithServerSideEncryptionCustomerAlgorithm will apply server_side_encryption_customer_algorithm value to Options ServerSideEncryptionCustomerAlgorithm specifies the algorithm to use to when encrypting the object. The header value must be `AES256`.

func WithServerSideEncryptionCustomerKey

func WithServerSideEncryptionCustomerKey(v []byte) Pair

WithServerSideEncryptionCustomerKey will apply server_side_encryption_customer_key value to Options ServerSideEncryptionCustomerKey specifies the customer-provided encryption key for Amazon S3 to use to encrypt/decrypt the source object. It must be 32-byte AES-256 key.

func WithStorageClass

func WithStorageClass(v string) Pair

WithStorageClass will apply storage_class value to Options StorageClass

func WithUseAccelerate

func WithUseAccelerate(v bool) Pair

WithUseAccelerate will apply use_accelerate value to Options UseAccelerate set this to `true` to enable S3 Accelerate feature

func WithUseArnRegion

func WithUseArnRegion(v bool) Pair

WithUseArnRegion will apply use_arn_region value to Options UseArnRegion set this to `true` to have the S3 service client to use the region specified in the ARN, when an ARN is provided as an argument to a bucket parameter

Types

type DefaultServicePairs

type DefaultServicePairs struct {
	Create []Pair
	Delete []Pair
	Get    []Pair
	List   []Pair
}

DefaultServicePairs is default pairs for specific action

type DefaultStoragePairs

type DefaultStoragePairs struct {
	CompleteMultipart []Pair
	Create            []Pair
	CreateMultipart   []Pair
	Delete            []Pair
	List              []Pair
	ListMultipart     []Pair
	Metadata          []Pair
	Read              []Pair
	Stat              []Pair
	Write             []Pair
	WriteMultipart    []Pair
}

DefaultStoragePairs is default pairs for specific action

type ObjectMetadata

type ObjectMetadata struct {
	// ServerSideEncryption
	ServerSideEncryption string
	// ServerSideEncryptionAwsKmsKeyID
	ServerSideEncryptionAwsKmsKeyID string
	// ServerSideEncryptionBucketKeyEnabled
	ServerSideEncryptionBucketKeyEnabled bool
	// ServerSideEncryptionContext
	ServerSideEncryptionContext string
	// ServerSideEncryptionCustomerAlgorithm
	ServerSideEncryptionCustomerAlgorithm string
	// ServerSideEncryptionCustomerKeyMd5
	ServerSideEncryptionCustomerKeyMd5 string
	// StorageClass
	StorageClass string
}

ObjectMetadata stores service metadata for object.

func GetObjectMetadata

func GetObjectMetadata(o *Object) ObjectMetadata

GetObjectMetadata will get ObjectMetadata from Object.

- This function should not be called by service implementer. - The returning ObjectMetadata is read only and should not be modified.

type Service

type Service struct {
	typ.UnimplementedServicer
	// contains filtered or unexported fields
}

Service is the s3 service config.

func (*Service) Create

func (s *Service) Create(name string, pairs ...Pair) (store Storager, err error)

Create will create a new storager instance.

This function will create a context by default.

func (*Service) CreateWithContext

func (s *Service) CreateWithContext(ctx context.Context, name string, pairs ...Pair) (store Storager, err error)

CreateWithContext will create a new storager instance.

func (*Service) Delete

func (s *Service) Delete(name string, pairs ...Pair) (err error)

Delete will delete a storager instance.

This function will create a context by default.

func (*Service) DeleteWithContext

func (s *Service) DeleteWithContext(ctx context.Context, name string, pairs ...Pair) (err error)

DeleteWithContext will delete a storager instance.

func (*Service) Get

func (s *Service) Get(name string, pairs ...Pair) (store Storager, err error)

Get will get a valid storager instance for service.

This function will create a context by default.

func (*Service) GetWithContext

func (s *Service) GetWithContext(ctx context.Context, name string, pairs ...Pair) (store Storager, err error)

GetWithContext will get a valid storager instance for service.

func (*Service) List

func (s *Service) List(pairs ...Pair) (sti *StoragerIterator, err error)

List will list all storager instances under this service.

This function will create a context by default.

func (*Service) ListWithContext

func (s *Service) ListWithContext(ctx context.Context, pairs ...Pair) (sti *StoragerIterator, err error)

ListWithContext will list all storager instances under this service.

func (*Service) String

func (s *Service) String() string

String implements Servicer.String

type Storage

type Storage struct {
	typ.UnimplementedStorager
	typ.UnimplementedMultiparter
	// contains filtered or unexported fields
}

Storage is the s3 object storage service.

func (*Storage) CompleteMultipart

func (s *Storage) CompleteMultipart(o *Object, parts []*Part, pairs ...Pair) (err error)

CompleteMultipart will complete a multipart upload and construct an Object.

This function will create a context by default.

func (*Storage) CompleteMultipartWithContext

func (s *Storage) CompleteMultipartWithContext(ctx context.Context, o *Object, parts []*Part, pairs ...Pair) (err error)

CompleteMultipartWithContext will complete a multipart upload and construct an Object.

func (*Storage) Create

func (s *Storage) Create(path string, pairs ...Pair) (o *Object)

Create will create a new object without any api call.

This function will create a context by default.

func (*Storage) CreateMultipart

func (s *Storage) CreateMultipart(path string, pairs ...Pair) (o *Object, err error)

CreateMultipart will create a new multipart.

This function will create a context by default.

func (*Storage) CreateMultipartWithContext

func (s *Storage) CreateMultipartWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)

CreateMultipartWithContext will create a new multipart.

func (*Storage) Delete

func (s *Storage) Delete(path string, pairs ...Pair) (err error)

Delete will delete an Object from service.

This function will create a context by default.

func (*Storage) DeleteWithContext

func (s *Storage) DeleteWithContext(ctx context.Context, path string, pairs ...Pair) (err error)

DeleteWithContext will delete an Object from service.

func (*Storage) List

func (s *Storage) List(path string, pairs ...Pair) (oi *ObjectIterator, err error)

List will return list a specific path.

This function will create a context by default.

func (*Storage) ListMultipart

func (s *Storage) ListMultipart(o *Object, pairs ...Pair) (pi *PartIterator, err error)

ListMultipart will list parts belong to this multipart.

This function will create a context by default.

func (*Storage) ListMultipartWithContext

func (s *Storage) ListMultipartWithContext(ctx context.Context, o *Object, pairs ...Pair) (pi *PartIterator, err error)

ListMultipartWithContext will list parts belong to this multipart.

func (*Storage) ListWithContext

func (s *Storage) ListWithContext(ctx context.Context, path string, pairs ...Pair) (oi *ObjectIterator, err error)

ListWithContext will return list a specific path.

func (*Storage) Metadata

func (s *Storage) Metadata(pairs ...Pair) (meta *StorageMeta, err error)

Metadata will return current storager metadata.

This function will create a context by default.

func (*Storage) MetadataWithContext

func (s *Storage) MetadataWithContext(ctx context.Context, pairs ...Pair) (meta *StorageMeta, err error)

MetadataWithContext will return current storager metadata.

func (*Storage) Read

func (s *Storage) Read(path string, w io.Writer, pairs ...Pair) (n int64, err error)

Read will read the file's data.

This function will create a context by default.

func (*Storage) ReadWithContext

func (s *Storage) ReadWithContext(ctx context.Context, path string, w io.Writer, pairs ...Pair) (n int64, err error)

ReadWithContext will read the file's data.

func (*Storage) Stat

func (s *Storage) Stat(path string, pairs ...Pair) (o *Object, err error)

Stat will stat a path to get info of an object.

This function will create a context by default.

func (*Storage) StatWithContext

func (s *Storage) StatWithContext(ctx context.Context, path string, pairs ...Pair) (o *Object, err error)

StatWithContext will stat a path to get info of an object.

func (*Storage) String

func (s *Storage) String() string

String implements Storager.String

func (*Storage) Write

func (s *Storage) Write(path string, r io.Reader, size int64, pairs ...Pair) (n int64, err error)

Write will write data into a file.

This function will create a context by default.

func (*Storage) WriteMultipart

func (s *Storage) WriteMultipart(o *Object, r io.Reader, size int64, index int, pairs ...Pair) (n int64, err error)

WriteMultipart will write content to a multipart.

This function will create a context by default.

func (*Storage) WriteMultipartWithContext

func (s *Storage) WriteMultipartWithContext(ctx context.Context, o *Object, r io.Reader, size int64, index int, pairs ...Pair) (n int64, err error)

WriteMultipartWithContext will write content to a multipart.

func (*Storage) WriteWithContext

func (s *Storage) WriteWithContext(ctx context.Context, path string, r io.Reader, size int64, pairs ...Pair) (n int64, err error)

WriteWithContext will write data into a file.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL