1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package test
- import (
- "cicv-data-closedloop/common/util"
- "cicv-data-closedloop/tools/plugin-compile/package/config"
- "fmt"
- "github.com/aliyun/aliyun-oss-go-sdk/oss"
- "log"
- "testing"
- )
- func TestCompareSize(t *testing.T) {
- config.InitOss(true)
- // 1 下载oss文件到本地
- err := config.OssBucket.GetObjectToFile("1709907833304/demo.py", "D:\\demo.py")
- if err != nil {
- panic(err)
- }
- // 2 获取oss的Content-Type文件大小
- size, _ := util.GetOSSFileSize(config.OssBucket, "1709907833304/demo.py")
- fmt.Println("云上文件大小为", size)
- // 3 获取本地文件大小
- fileSize, err := util.GetFileSize("D:\\demo.py")
- fmt.Println("本地文件大小为", fileSize)
- // 4 比较大小
- }
- func TestDeleteDir(t *testing.T) {
- // 配置阿里云 Access Key ID、Access Key Secret 和 Endpoint
- accessKeyID := "yourAccessKeyID"
- accessKeySecret := "yourAccessKeySecret"
- endpoint := "http://oss-cn-hangzhou.aliyuncs.com" // 根据你的 region 修改
- bucketName := "yourBucketName"
- prefix := "yourPrefix/"
- // 创建客户端
- client, err := oss.New(endpoint, accessKeyID, accessKeySecret)
- if err != nil {
- log.Fatalf("Error creating OSS client: %v", err)
- }
- // 获取 bucket
- bucket, err := client.Bucket(bucketName)
- if err != nil {
- log.Fatalf("Error getting bucket: %v", err)
- }
- // 列出符合前缀的对象
- opts := oss.ListObjectsOptions{
- Prefix: prefix,
- Delimiter: "",
- MaxKeys: 1000, // 设置每次返回的最大对象数,可以根据需要调整
- }
- for {
- lor, err := bucket.ListObjects(opts)
- if err != nil {
- log.Fatalf("Error listing objects: %v", err)
- }
- // 遍历并删除对象
- for _, obj := range lor.Objects {
- err = bucket.DeleteObject(obj.Key)
- if err != nil {
- log.Printf("Error deleting object %s: %v", obj.Key, err)
- // 你可以选择如何处理删除失败的情况,例如记录日志或重新尝试
- } else {
- fmt.Printf("Deleted object: %s\n", obj.Key)
- }
- }
- // 如果没有更多对象,退出循环
- if !lor.IsTruncated {
- break
- }
- // 更新 ListObjectsOptions 以获取下一页对象
- opts.Marker = lor.NextMarker
- }
- fmt.Println("All objects with the specified prefix have been deleted.")
- }
|