Hi,我最近实现了一个库 storage,目标是成为面向应用的 Golang 统一存储层。
用起来的感觉大概是这样:
// Init a service.
srv, store, err := coreutils.Open("qingstor://hmac:test_access_key:test_secret_key@https:qingstor.com:443/test_bucket_name")
if err != nil {
log.Fatalf("service init failed: %v", err)
}
// Use Storager API to maintain data.
ch := make(chan *types.Object, 1)
defer close(ch)
err := store.List("prefix", pairs.WithFileFunc(func(*types.Object){
ch <- o
}))
if err != nil {
log.Printf("storager listdir failed: %v", err)
}
希望大家能来看看并提一些改进的意见~
1
jaynos 2020-01-13 18:25:49 +08:00
莫名的感觉和 https://github.com/rclone/rclone 这个仓库实现的东西有点像
|
2
Xuanwo OP @jaynos 这个库的设计目标就是让大家可以轻松的实现 rclone 这样对接多个存储后端的应用,不需要再每个都实现一遍
|
3
hankai17 2020-01-13 18:51:09 +08:00 via Android
能压测么?
|
5
zunceng 2020-01-14 11:35:39 +08:00
现在各种对象存储 接口都是兼容 s3 的
写的多 每个都要测试 也挺累的 |