go filesystem sdk: filesystem project
a go client for filesystem.
support user, bucket, file manager.
import (
gosdk "github.com/i-curve/filesystem-gosdk"
)
var client, _ = gosdk.NewClient("user", "auth", "api_host", "web_host")- create a new simple user.
client.AddUser(&gosdk.User{
Name: "user1",
})- delete a user
client.DeleteUser("user1")- create a new bucket
client.AddBucket(&gosdk.Bucket{
Name: "bucket",
})- delete a bucket
client.DeleteBucket("bucket")- upload file
f, _ := os.Open("client.txt")
err := client.UploadFile(gosdk.File{
Bucket: "bucket",
Key: "sdks/client.go",
}, f)- downlad file
f, err := os.Create("xxx.txt")
if err != nil {
t.Fatalf("create file error: %s", err.Error())
}
r, err := client.Download(gosdk.File{
Bucket: "bucket",
Key: "client.go",
})
if err != nil {
t.Fatalf("file download error: %s", err.Error())
}
io.Copy(f, r)- move file
client.MoveFile(gosdk.File{
Bucket: "bucket",
Key: "sdks/client.go",
}, gosdk.File{
Bucket: "bucket",
Key: "sdks/xxx.go",
})- copy file
client.CopyFile(gosdk.File{
Bucket: "bucket",
Key: "sdks/client.go",
}, gosdk.File{
Bucket: "bucket",
Key: "sdks/xxx.go",
})