面向应用的 Golang 统一存储层
資深大佬 : Xuanwo 50
Hi,我最近实现了一个库 storage,目标是成为面向应用的 Golang 统一存储层。
用起来的感觉大概是这样:
// Init a service. srv, store, err := coreutils.Open("qingstor://hmac:test_access_key:[email protected]: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) }
- 所有的设计决策都在 https://github.com/Xuanwo/storage/tree/master/docs/design
- 目前支持了 azblob, cos, dropbox, local fs, gcs, kodo, oss, qingstor, s3, uss
希望大家能来看看并提一些改进的意见~
大佬有話說 (6)