package test import ( commonConfig "cicv-data-closedloop/aarch64/jili/common/config" "cicv-data-closedloop/common/config/c_log" "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 init() { // 初始化日志配置 c_log.InitLog(commonConfig.LogDir, commonConfig.ControlLogPrefix) // 初始化本地配置文件(第1处配置,在本地文件) commonConfig.InitLocalConfig() commonConfig.InitOssConfig() //commonConfig.InitCloudConfig() } 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) { // 配置 OSS 客户端 endpoint := "http://oss-cn-beijing-gqzl-d01-a.ops.gqzl-cloud.com/" // 替换为实际的 OSS Endpoint accessKeyID := "nT7CCrjL6pcYGej6" // 替换为实际的 AccessKeyID accessKeySecret := "OPHAxk2c2YbG530ADx6KZi2PbcWHr7" // 替换为实际的 AccessKeySecret bucketName := "xinqi" // 替换为实际的 Bucket 名称 prefix := "1" // 替换为实际的前缀 // 创建 OSS 客户端 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) } // 列出指定前缀的所有对象 marker := "" for { lsRes, err := bucket.ListObjects(oss.Prefix(prefix), oss.Marker(marker)) if err != nil { log.Fatalf("Error listing objects: %v", err) } // 删除列出的对象 var objectsToDelete []string for _, object := range lsRes.Objects { objectsToDelete = append(objectsToDelete, object.Key) } if len(objectsToDelete) > 0 { _, err = bucket.DeleteObjects(objectsToDelete, oss.DeleteObjectsQuiet(true)) if err != nil { log.Fatalf("Error deleting objects: %v", err) } fmt.Printf("Deleted %d objects: %v\n", len(objectsToDelete), objectsToDelete) } // 如果没有更多对象,退出循环 if !lsRes.IsTruncated { break } marker = lsRes.NextMarker } fmt.Println("Finished deleting all objects with prefix.") } func TestOssConnect(t *testing.T) { // 1. 上传文件到oss err := commonConfig.OssBucket.PutObjectFromFile("jili/cloud-config.yaml", "C:\\Users\\15701\\Desktop\\部署\\20250407\\cloud-config.yaml") if err != nil { panic(err) } // 2. 下载oss文件到本地 //err := commonConfig.OssBucket.GetObjectToFile("test/cloud-config.yaml", "D:\\cloud-config-3.yaml") //if err != nil { // panic(err) //} //err := commonConfig.OssBucket.GetObjectToFile("oss-accesslog/dcl2025-04-01-11-00-00-0001", "D:\\dcl2025") //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) }