Skip to content

Commit 520e8fc

Browse files
authored
Merge branch 'main' into fix_in_mem
2 parents 9e421aa + 19b793a commit 520e8fc

File tree

10 files changed

+60
-627
lines changed

10 files changed

+60
-627
lines changed

components/file/s3/minio/oss_test.go

+5-2
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func TestMinioOss_Init(t *testing.T) {
5353

5454
func TestMinioOss_selectClient(t *testing.T) {
5555
minioOss := &MinioOss{
56-
client: make(map[string]*minio.Client),
56+
client: make(map[string]*minio.Core),
5757
meta: make(map[string]*MinioMetaData),
5858
}
5959
initCfg := &file.FileConfig{
@@ -66,7 +66,7 @@ func TestMinioOss_selectClient(t *testing.T) {
6666
_, err = minioOss.selectClient(meta)
6767
assert.Nil(t, err)
6868

69-
minioOss.client["extra"] = &minio.Client{}
69+
minioOss.client["extra"] = &minio.Core{}
7070
_, err = minioOss.selectClient(meta)
7171
assert.Equal(t, ErrNotSpecifyEndPoint, err)
7272

@@ -106,6 +106,9 @@ func TestMinioOss_Put(t *testing.T) {
106106
putReq.Metadata["fileSize"] = "a2"
107107
err = oss.Put(context.TODO(), putReq)
108108
assert.NotNil(t, err)
109+
110+
err = oss.Put(context.TODO(), putReq)
111+
assert.NotNil(t, err)
109112
}
110113

111114
func TestMinioOss_Get(t *testing.T) {

components/go.sum

+5-227
Large diffs are not rendered by default.

configs/config_file.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,4 @@
4848
"debug": true,
4949
"port_value": 34902
5050
}
51-
}
51+
}

demo/go.mod

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ module mosn.io/layotto/demo
33
go 1.14
44

55
require (
6-
github.com/go-ini/ini v1.63.2 // indirect
76
github.com/golang/protobuf v1.5.0
87
github.com/google/uuid v1.2.0
98
github.com/minio/minio-go/v7 v7.0.15

demo/go.sum

-10
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03
33
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
44
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
55
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
6-
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
76
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
87
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
98
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -13,8 +12,6 @@ github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymF
1312
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
1413
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
1514
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
16-
github.com/go-ini/ini v1.63.2 h1:kwN3umicd2HF3Tgvap4um1ZG52/WyKT9GGdPx0CJk6Y=
17-
github.com/go-ini/ini v1.63.2/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8=
1815
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
1916
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
2017
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@@ -60,8 +57,6 @@ github.com/layotto/proxy-wasm-go-sdk v0.14.1-0.20210929091432-0e4ff35b75af h1:47
6057
github.com/layotto/proxy-wasm-go-sdk v0.14.1-0.20210929091432-0e4ff35b75af/go.mod h1:qZ+4i6e2wHlhnhgpH0VG4QFzqd2BEvQbQFU0npt2e2k=
6158
github.com/minio/md5-simd v1.1.0 h1:QPfiOqlZH+Cj9teu0t9b1nTBfPbyTl16Of5MeuShdK4=
6259
github.com/minio/md5-simd v1.1.0/go.mod h1:XpBqgZULrMYD3R+M28PcmP0CkI7PEMzB3U77ZrKZ0Gw=
63-
github.com/minio/minio-go v6.0.14+incompatible h1:fnV+GD28LeqdN6vT2XdGKW8Qe/IfjJDswNVuni6km9o=
64-
github.com/minio/minio-go v6.0.14+incompatible/go.mod h1:7guKYtitv8dktvNUGrhzmNlA5wrAABTQXCoesZdFQO8=
6560
github.com/minio/minio-go/v7 v7.0.15 h1:r9/NhjJ+nXYrIYvbObhvc1wPj3YH1iDpJzz61uRKLyY=
6661
github.com/minio/minio-go/v7 v7.0.15/go.mod h1:pUV0Pc+hPd1nccgmzQF/EXh48l/Z/yps6QPF1aaie4g=
6762
github.com/minio/sha256-simd v0.1.1 h1:5QHSlgo3nt5yKOJrC7W8w7X+NFl8cMPZm96iu8kKUJU=
@@ -105,9 +100,7 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl
105100
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
106101
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
107102
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
108-
golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628=
109103
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
110-
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3 h1:0GoQqolDA55aaLxZyTzK/Y2ePZzZTUrRacwib7cNsYQ=
111104
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
112105
golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU=
113106
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
@@ -116,15 +109,13 @@ golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJ
116109
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
117110
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
118111
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
119-
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU=
120112
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
121113
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
122114
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
123115
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
124116
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae h1:Ih9Yo4hSPImZOpfGuA4bR/ORKTAbhZo2AbWNRCnevdo=
125117
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
126118
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
127-
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
128119
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
129120
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
130121
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -159,7 +150,6 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD
159150
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
160151
google.golang.org/protobuf v1.26.0-rc.1 h1:7QnIQpGRHE5RnLKnESfDoxm2dTapTZua5a0kS0A+VXQ=
161152
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
162-
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
163153
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
164154
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
165155
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

docs/img/file/minio.png

73.2 KB
Loading

docs/zh/_sidebar.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
- [Hello World](zh/start/rpc/helloworld.md)
1212
- [Dubbo JSON RPC](zh/start/rpc/dubbo_json_rpc.md)
1313
- 使用File API
14-
- [基于阿里云OSS](zh/start/file/start.md)
14+
- [基于Minio](zh/start/file/minio.md)
1515
- [API插件:注册您自己的API](zh/start/api_plugin/helloworld.md)
1616
- 集成 Istio
1717
- [作为 Istio 的数据面](zh/start/istio/start.md)

docs/zh/start/file/minio.md

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# 基于MinIO OSS实现文件的增删改查
2+
3+
## 快速开始
4+
5+
Layotto提供了访问文件的示例 [demo](https://github.com/mosn/layotto/blob/main/demo/file/client.go) ,该示例实现了文件的增删改查操作。
6+
7+
### 第一步:启动layotto
8+
9+
layotto提供了minio的配置文件[oss配置](https://github.com/mosn/layotto/blob/main/configs/config_file.json) ,如下图所示
10+
11+
![img.png](../../../img/file/minio.png)
12+
13+
### 第二步:启动MinIO服务
14+
访问[MinIO示例服务](play.min.io)
15+
16+
创建bucket,包含配置文件中的bucket
17+
18+
或者启动本地MinIO服务
19+
20+
参考[官方文档](http://docs.minio.org.cn/docs/master/minio-docker-quickstart-guide)
21+
```
22+
docker pull minio/minio
23+
docker run -p 9000:9000 minio/minio server /data --console-address ":9000" --address ":9090"
24+
```
25+
26+
### 第三步:启动测试demo
27+
28+
Layotto提供了访问文件的示例 [demo](https://github.com/mosn/layotto/blob/main/demo/file/client.go)
29+
30+
```go
31+
32+
cd ${projectpath}/demo/file
33+
go build client.go
34+
35+
./client bucket test //创建名为test的bucket
36+
./client put test/hello/layotto.txt "hello layotto" //上传文件到test bucket,前缀为hello,内容为"hello layotto"
37+
./client get test/hello/layotto.txt //获取 layotto.txt的内容
38+
./client list test/hello // 获取test bucket下的前缀为hello的所有文件列表
39+
./client stat test/hello/layotto.txt //获取layotto.txt文件的元数据
40+
./client del test/hello/layotto.txt //删除layotto.txt文件
41+
42+
```
43+
#### 细节以后再说,继续体验其他API
44+
通过左侧的导航栏,继续体验别的API吧!
45+
46+
#### 了解File API的实现原理
47+
48+
如果您对实现原理感兴趣,或者想扩展一些功能,可以阅读[File API的设计文档](zh/design/file/file-design.md)

docs/zh/start/file/start.md

-35
This file was deleted.

0 commit comments

Comments
 (0)