Chris Lu 3 years ago
parent
commit
035b0bae29
1 changed files with 4 additions and 3 deletions
  1. 4 3
      weed/remote_storage/s3/s3_storage_client.go

+ 4 - 3
weed/remote_storage/s3/s3_storage_client.go

@@ -47,6 +47,7 @@ type s3RemoteStorageClient struct {
 func (s s3RemoteStorageClient) Traverse(remote remote_storage.RemoteStorageLocation, visitFn remote_storage.VisitFunc) (err error) {
 
 	_, bucket, pathKey := remote.NameBucketPath()
+	pathKey = pathKey[1:]
 
 	listInput := &s3.ListObjectsV2Input{
 		Bucket:              aws.String(bucket),
@@ -56,7 +57,7 @@ func (s s3RemoteStorageClient) Traverse(remote remote_storage.RemoteStorageLocat
 		ExpectedBucketOwner: nil,
 		FetchOwner:          nil,
 		MaxKeys:             nil, // aws.Int64(1000),
-		Prefix:              aws.String(pathKey[1:]),
+		Prefix:              aws.String(pathKey),
 		RequestPayer:        nil,
 		StartAfter:          nil,
 	}
@@ -65,10 +66,10 @@ func (s s3RemoteStorageClient) Traverse(remote remote_storage.RemoteStorageLocat
 		listErr := s.conn.ListObjectsV2Pages(listInput, func(page *s3.ListObjectsV2Output, lastPage bool) bool {
 			for _, content := range page.Contents {
 				key := (*content.Key)
-				if len(pathKey) == 1 {
+				if len(pathKey) == 0 {
 					key = "/" + key
 				} else {
-					key = key[len(pathKey)-1:]
+					key = key[len(pathKey):]
 				}
 				dir, name := util.FullPath(key).DirAndName()
 				if err := visitFn(dir, name, false, &filer_pb.RemoteEntry{