awss3v2

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2023 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package awss3v2 provides s3iot.Uploader with aws-sdk-go-v2.

Index

Constants

This section is empty.

Variables

View Source
var DefaultThrottleWait = 5 * time.Second

DefaultThrottleWait is a default wait duration on throttle.

Functions

func NewAPI

func NewAPI(api S3API) s3api.S3API

NewAPI wraps s3.Client to s3api.S3API.

func NewAWSSDKDownloader

func NewAWSSDKDownloader(u s3manageriface.Downloader) s3iotiface.Downloader

NewAWSSDKDownloader wraps aws-sdk-go-v2 s3manager as s3iotiface.Downloader. Some fields of download status and result is not provided. Pause/resume feature is unavailable.

func NewAWSSDKUploader

func NewAWSSDKUploader(u s3manageriface.Uploader) s3iotiface.Uploader

NewAWSSDKUploader wraps aws-sdk-go-v2 s3manager as s3iotiface.Uploader. Some fields of download status and result is not provided. Pause/resume feature is unavailable.

func NewDownloader

func NewDownloader(c aws.Config, opts ...s3iot.DownloaderOption) *s3iot.Downloader

NewDownloader creates s3iot.Download from aws-sdk-go-v2 Config.

func NewUploader

func NewUploader(c aws.Config, opts ...s3iot.UploaderOption) *s3iot.Uploader

NewUploader creates s3iot.Uploader from aws-sdk-go-v2 Config.

Types

type ErrorClassifier

type ErrorClassifier struct {
	ThrottleWait time.Duration
}

ErrorClassifier classifies aws-sdk-go (v1) errors.

func (ErrorClassifier) IsRetryable

func (ErrorClassifier) IsRetryable(err error) bool

IsRetryable implements ErrorClassifier.

func (ErrorClassifier) IsThrottle

func (c ErrorClassifier) IsThrottle(err error) (time.Duration, bool)

IsThrottle implements ErrorClassifier.

type S3API

type S3API interface {
	AbortMultipartUpload(ctx context.Context, params *s3.AbortMultipartUploadInput, optFns ...func(*s3.Options)) (*s3.AbortMultipartUploadOutput, error)
	CompleteMultipartUpload(ctx context.Context, params *s3.CompleteMultipartUploadInput, optFns ...func(*s3.Options)) (*s3.CompleteMultipartUploadOutput, error)
	CreateMultipartUpload(ctx context.Context, params *s3.CreateMultipartUploadInput, optFns ...func(*s3.Options)) (*s3.CreateMultipartUploadOutput, error)
	GetObject(ctx context.Context, params *s3.GetObjectInput, optFns ...func(*s3.Options)) (*s3.GetObjectOutput, error)
	PutObject(ctx context.Context, params *s3.PutObjectInput, optFns ...func(*s3.Options)) (*s3.PutObjectOutput, error)
	UploadPart(ctx context.Context, params *s3.UploadPartInput, optFns ...func(*s3.Options)) (*s3.UploadPartOutput, error)
	DeleteObject(ctx context.Context, params *s3.DeleteObjectInput, optFns ...func(*s3.Options)) (*s3.DeleteObjectOutput, error)
	ListObjectsV2(ctx context.Context, params *s3.ListObjectsV2Input, optFns ...func(*s3.Options)) (*s3.ListObjectsV2Output, error)
}

S3API is the interface of S3 APIs used by s3iot.

Directories

Path Synopsis
internal
locationstore
Package locationstore provides s3.Client wrapper to store object location.
Package locationstore provides s3.Client wrapper to store object location.

Jump to

Keyboard shortcuts

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