|
- package cloudstorage
-
- import "fmt"
-
- //type ObjectStorageInfo interface {
- // NewClient() (ObjectStorageClient, error)
- //}
-
- type ObjectStorageClient interface {
- InitiateMultipartUpload(objectName string) (string, error)
- UploadPart()
- CompleteMultipartUpload() (string, error)
- AbortMultipartUpload()
- Close()
- }
-
- func NewObjectStorageClient(info ObjectStorage) (ObjectStorageClient, error) {
- switch info.Manufacturer {
- case AliCloud:
- return NewOSSClient(info), nil
- case HuaweiCloud:
- return &OBSClient{}, nil
- }
- return nil, fmt.Errorf("unknown cloud storage manufacturer %s", info.Manufacturer)
- }
|