From 9c214b3f8aa506d04bcee2a5f405858b0d7d97d9 Mon Sep 17 00:00:00 2001 From: Sydonian <794346190@qq.com> Date: Thu, 5 Dec 2024 17:37:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=A0=B9=E6=8D=AE=E5=89=8D?= =?UTF-8?q?=E7=BC=80=E6=9F=A5=E6=89=BEObject=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.go | 8 -------- sdks/storage/cdsapi/object.go | 37 ++++++++++++++++++++++++++++++++++- 2 files changed, 36 insertions(+), 9 deletions(-) diff --git a/main.go b/main.go index c509ea1..e154996 100644 --- a/main.go +++ b/main.go @@ -32,19 +32,12 @@ func test1(url string) { return } - partLen, err := strconv.ParseInt(os.Args[3], 10, 64) - if err != nil { - fmt.Println(err) - return - } - startTime := time.Now() obj, err := cli.Object().Download(cdsapi.ObjectDownload{ UserID: 1, ObjectID: 470790, Offset: 0, Length: &openLen, - PartSize: partLen, }) if err != nil { fmt.Println(err) @@ -75,7 +68,6 @@ func test2(url string) { UserID: 1, ObjectID: 27151, Offset: 0, - PartSize: 100000000, // Length: &openLen, }) diff --git a/sdks/storage/cdsapi/object.go b/sdks/storage/cdsapi/object.go index f0743f6..1f37c16 100644 --- a/sdks/storage/cdsapi/object.go +++ b/sdks/storage/cdsapi/object.go @@ -25,6 +25,42 @@ func (c *Client) Object() *ObjectService { } } +const ObjectListPath = "/object/list" + +type ObjectList struct { + UserID cdssdk.UserID `form:"userID" binding:"required"` + PackageID cdssdk.PackageID `form:"packageID" binding:"required"` + PathPrefix string `form:"pathPrefix" binding:"required"` +} +type ObjectListResp struct { + Objects []cdssdk.Object `json:"objects"` +} + +func (c *ObjectService) List(req ObjectList) (*ObjectListResp, error) { + url, err := url.JoinPath(c.baseURL, ObjectListPath) + if err != nil { + return nil, err + } + + resp, err := http2.GetForm(url, http2.RequestParam{ + Query: req, + }) + if err != nil { + return nil, err + } + + jsonResp, err := ParseJSONResponse[response[ObjectListResp]](resp) + if err != nil { + return nil, err + } + + if jsonResp.Code == errorcode.OK { + return &jsonResp.Data, nil + } + + return nil, jsonResp.ToError() +} + const ObjectUploadPath = "/object/upload" type ObjectUpload struct { @@ -101,7 +137,6 @@ type ObjectDownload struct { ObjectID cdssdk.ObjectID `form:"objectID" json:"objectID" binding:"required"` Offset int64 `form:"offset" json:"offset,omitempty"` Length *int64 `form:"length" json:"length,omitempty"` - PartSize int64 `form:"partSize" json:"partSize,omitempty"` } type DownloadingObject struct { Path string