github.com/qiniu/go-sdk/v7@v7.27.0/examples/rs_move/main.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  
     7  	"github.com/qiniu/go-sdk/v7/auth"
     8  	"github.com/qiniu/go-sdk/v7/storage"
     9  )
    10  
    11  var (
    12  	accessKey = os.Getenv("QINIU_ACCESS_KEY")
    13  	secretKey = os.Getenv("QINIU_SECRET_KEY")
    14  	bucket    = os.Getenv("QINIU_TEST_BUCKET")
    15  )
    16  
    17  func main() {
    18  	mac := auth.New(accessKey, secretKey)
    19  
    20  	cfg := storage.Config{
    21  		// 是否使用https域名进行资源管理
    22  		UseHTTPS: false,
    23  	}
    24  	// 指定空间所在的区域,如果不指定将自动探测
    25  	// 如果没有特殊需求,默认不需要指定
    26  	// cfg.Zone=&storage.ZoneHuabei
    27  	bucketManager := storage.NewBucketManager(mac, &cfg)
    28  
    29  	srcBucket := bucket
    30  	srcKey := "github.png"
    31  	// 目标空间可以和源空间相同,但是不能为跨机房的空间
    32  	destBucket := srcBucket
    33  	// 目标文件名可以和源文件名相同,也可以不同
    34  	destKey := "github-new.png"
    35  	// 如果目标文件存在,是否强制覆盖,如果不覆盖,默认返回614 file exists
    36  	force := false
    37  	err := bucketManager.Move(srcBucket, srcKey, destBucket, destKey, force)
    38  	if err != nil {
    39  		fmt.Println(err)
    40  		return
    41  	}
    42  }