123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- 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("test/cloud-config.yaml", "D:\\cloud-config.yaml")
- //if err != nil {
- // panic(err)
- //}
- // 2. 下载oss文件到本地
- //err = commonConfig.OssBucket.GetObjectToFile("test/cloud-config.yaml", "D:\\cloud-config-2.yaml")
- //if err != nil {
- // panic(err)
- //}
- err := commonConfig.OssBucket.GetObjectToFile("oss-accesslog/dcl2025-04-01-11-00-00-0001", "D:\\dcl2025-04-01-11-00-00-0001l")
- 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)
- }
|