Documentation ¶
Index ¶
- Variables
- func ExportRsaPrivateKeyToPem(key *rsa.PrivateKey, passphrase string) string
- func ListAll(store ObjectStorage, prefix, marker string) (<-chan Object, error)
- func MarshalObject(o Object) map[string]interface{}
- func ParseRsaPrivateKeyFromPath(path, passphrase string) (*rsa.PrivateKey, error)
- func ParseRsaPrivateKeyFromPem(privPEM string, passphrase string) (*rsa.PrivateKey, error)
- func Register(name string, register Creator)
- func Walk(root string, walkFn filepath.WalkFunc) error
- type COS
- func (c *COS) AbortUpload(key string, uploadID string)
- func (c *COS) CompleteUpload(key string, uploadID string, parts []*Part) error
- func (c *COS) Copy(dst, src string) error
- func (c *COS) Create() error
- func (c *COS) CreateMultipartUpload(key string) (*MultipartUpload, error)
- func (c *COS) Delete(key string) error
- func (c *COS) Get(key string, off, limit int64) (io.ReadCloser, error)
- func (c *COS) Head(key string) (Object, error)
- func (c *COS) List(prefix, marker string, limit int64) ([]Object, error)
- func (c *COS) ListAll(prefix, marker string) (<-chan Object, error)
- func (c *COS) ListUploads(marker string) ([]*PendingPart, string, error)
- func (c *COS) Put(key string, in io.Reader) error
- func (c *COS) String() string
- func (c *COS) UploadPart(key string, uploadID string, num int, body []byte) (*Part, error)
- type Contents
- type Creator
- type DataItem
- type DefaultObjectStorage
- func (s DefaultObjectStorage) AbortUpload(key string, uploadID string)
- func (s DefaultObjectStorage) CompleteUpload(key string, uploadID string, parts []*Part) error
- func (s DefaultObjectStorage) Create() error
- func (s DefaultObjectStorage) CreateMultipartUpload(key string) (*MultipartUpload, error)
- func (s DefaultObjectStorage) Head(key string) (Object, error)
- func (s DefaultObjectStorage) List(prefix, marker string, limit int64) ([]Object, error)
- func (s DefaultObjectStorage) ListAll(prefix, marker string) (<-chan Object, error)
- func (s DefaultObjectStorage) ListUploads(marker string) ([]*PendingPart, string, error)
- func (s DefaultObjectStorage) UploadPart(key string, uploadID string, num int, body []byte) (*Part, error)
- type Encryptor
- type File
- type FileSystem
- type ListBucketResult
- type ListResult
- type MtimeChanger
- type MultipartUpload
- type Object
- type ObjectStorage
- func CreateStorage(name, endpoint, accessKey, secretKey string) (ObjectStorage, error)
- func NewEncrypted(o ObjectStorage, enc Encryptor) ObjectStorage
- func NewSharded(name, endpoint, ak, sk string, shards int) (ObjectStorage, error)
- func WithMetrics(os ObjectStorage) ObjectStorage
- func WithPrefix(os ObjectStorage, prefix string) ObjectStorage
- type ObjectSummaries
- type Part
- type PendingPart
- type RestfulStorage
- func (s *RestfulStorage) Copy(dst, src string) error
- func (s *RestfulStorage) Delete(key string) error
- func (s *RestfulStorage) Get(key string, off, limit int64) (io.ReadCloser, error)
- func (s *RestfulStorage) Head(key string) (Object, error)
- func (s *RestfulStorage) List(prefix, marker string, limit int64) ([]Object, error)
- func (u *RestfulStorage) Put(key string, body io.Reader) error
- func (s *RestfulStorage) String() string
Constants ¶
This section is empty.
Variables ¶
var HEADER_NAMES = []string{"Content-MD5", "Content-Type", "Date"}
var UserAgent = "JuiceFS"
Functions ¶
func ExportRsaPrivateKeyToPem ¶
func ExportRsaPrivateKeyToPem(key *rsa.PrivateKey, passphrase string) string
func ListAll ¶
func ListAll(store ObjectStorage, prefix, marker string) (<-chan Object, error)
ListAll on all the keys that starts at marker from object storage.
func MarshalObject ¶
func ParseRsaPrivateKeyFromPath ¶
func ParseRsaPrivateKeyFromPath(path, passphrase string) (*rsa.PrivateKey, error)
func ParseRsaPrivateKeyFromPem ¶
func ParseRsaPrivateKeyFromPem(privPEM string, passphrase string) (*rsa.PrivateKey, error)
func Walk ¶ added in v0.10.0
Walk walks the file tree rooted at root, calling walkFn for each file or directory in the tree, including root. All errors that arise visiting files and directories are filtered by walkFn. The files are walked in lexical order, which makes the output deterministic but means that for very large directories Walk can be inefficient. Walk always follow symbolic links.
Types ¶
type COS ¶
type COS struct {
// contains filtered or unexported fields
}
func (*COS) AbortUpload ¶
func (*COS) CompleteUpload ¶
func (*COS) CreateMultipartUpload ¶
func (c *COS) CreateMultipartUpload(key string) (*MultipartUpload, error)
func (*COS) ListUploads ¶
func (c *COS) ListUploads(marker string) ([]*PendingPart, string, error)
type Creator ¶
type Creator func(bucket, accessKey, secretKey string) (ObjectStorage, error)
type DefaultObjectStorage ¶
type DefaultObjectStorage struct{}
func (DefaultObjectStorage) AbortUpload ¶
func (s DefaultObjectStorage) AbortUpload(key string, uploadID string)
func (DefaultObjectStorage) CompleteUpload ¶
func (s DefaultObjectStorage) CompleteUpload(key string, uploadID string, parts []*Part) error
func (DefaultObjectStorage) Create ¶
func (s DefaultObjectStorage) Create() error
func (DefaultObjectStorage) CreateMultipartUpload ¶
func (s DefaultObjectStorage) CreateMultipartUpload(key string) (*MultipartUpload, error)
func (DefaultObjectStorage) List ¶
func (s DefaultObjectStorage) List(prefix, marker string, limit int64) ([]Object, error)
func (DefaultObjectStorage) ListAll ¶
func (s DefaultObjectStorage) ListAll(prefix, marker string) (<-chan Object, error)
func (DefaultObjectStorage) ListUploads ¶
func (s DefaultObjectStorage) ListUploads(marker string) ([]*PendingPart, string, error)
func (DefaultObjectStorage) UploadPart ¶
type Encryptor ¶
type Encryptor interface { Encrypt(plaintext []byte) ([]byte, error) Decrypt(ciphertext []byte) ([]byte, error) }
func NewAESEncryptor ¶ added in v0.11.0
func NewRSAEncryptor ¶
func NewRSAEncryptor(privKey *rsa.PrivateKey) Encryptor
type FileSystem ¶
type ListBucketResult ¶ added in v0.1.4
type ListBucketResult struct { Contents []*Contents IsTruncated bool Prefix string Marker string MaxKeys string NextMarker string CommonPrefixes string }
ListObjectsOutput presents output for ListObjects.
type ListResult ¶ added in v0.11.0
type ListResult struct { ObjectSummaries []ObjectSummaries BucketName string Prefix string MaxKeys int }
ListOutput presents output for ListObjects.
type MultipartUpload ¶
type Object ¶
func UnmarshalObject ¶
type ObjectStorage ¶
type ObjectStorage interface { // Description of the object storage. String() string // Create the bucket if not existed. Create() error // Get the data for the given object specified by key. Get(key string, off, limit int64) (io.ReadCloser, error) // Put data read from a reader to an object specified by key. Put(key string, in io.Reader) error // Delete a object. Delete(key string) error // Head returns some information about the object or an error if not found. Head(key string) (Object, error) // List returns a list of objects. List(prefix, marker string, limit int64) ([]Object, error) // ListAll returns all the objects as an channel. ListAll(prefix, marker string) (<-chan Object, error) // CreateMultipartUpload starts to upload a large object part by part. CreateMultipartUpload(key string) (*MultipartUpload, error) // UploadPart upload a part of an object. UploadPart(key string, uploadID string, num int, body []byte) (*Part, error) // AbortUpload abort a multipart upload. AbortUpload(key string, uploadID string) // CompleteUpload finish an multipart upload. CompleteUpload(key string, uploadID string, parts []*Part) error // ListUploads lists existing multipart uploads. ListUploads(marker string) ([]*PendingPart, string, error) }
ObjectStorage is the interface for object storage. all of these API should be idempotent.
func CreateStorage ¶
func CreateStorage(name, endpoint, accessKey, secretKey string) (ObjectStorage, error)
func NewEncrypted ¶
func NewEncrypted(o ObjectStorage, enc Encryptor) ObjectStorage
NewEncrypted returns a encrypted object storage
func NewSharded ¶
func NewSharded(name, endpoint, ak, sk string, shards int) (ObjectStorage, error)
func WithMetrics ¶ added in v0.11.0
func WithMetrics(os ObjectStorage) ObjectStorage
WithMetrics returns a object storage that exposes metrics of requests.
func WithPrefix ¶
func WithPrefix(os ObjectStorage, prefix string) ObjectStorage
WithPrefix retuns a object storage that add a prefix to keys.
type ObjectSummaries ¶ added in v0.11.0
type RestfulStorage ¶
type RestfulStorage struct { DefaultObjectStorage // contains filtered or unexported fields }
func (*RestfulStorage) Copy ¶
func (s *RestfulStorage) Copy(dst, src string) error
func (*RestfulStorage) Delete ¶
func (s *RestfulStorage) Delete(key string) error
func (*RestfulStorage) Get ¶
func (s *RestfulStorage) Get(key string, off, limit int64) (io.ReadCloser, error)
func (*RestfulStorage) List ¶
func (s *RestfulStorage) List(prefix, marker string, limit int64) ([]Object, error)
func (*RestfulStorage) String ¶
func (s *RestfulStorage) String() string
Source Files ¶
- azure.go
- b2.go
- bos.go
- checksum.go
- cos.go
- encrypt.go
- eos.go
- file.go
- file_unix.go
- gs.go
- hdfs.go
- hdfs_kerberos.go
- ibmcos.go
- interface.go
- jss.go
- ks3.go
- mem.go
- metrics.go
- minio.go
- mss.go
- nos.go
- object_storage.go
- obs.go
- oos.go
- oss.go
- prefix.go
- qingstor.go
- qiniu.go
- redis.go
- restful.go
- s3.go
- scs.go
- scw.go
- sftp.go
- sharding.go
- space.go
- speedy.go
- swift.go
- ufile.go
- upyun.go
- wasabi.go
- webdav.go
- yovole.go