最近更新时间:2023-03-15 10:09:51
以下代码用于上传目录:
package main
import (
"github.com/ks3sdklib/aws-sdk-go/aws"
"github.com/ks3sdklib/aws-sdk-go/aws/credentials"
"github.com/ks3sdklib/aws-sdk-go/service/s3"
"github.com/ks3sdklib/aws-sdk-go/service/s3/s3manager"
"os"
)
var (
endpoint = os.Getenv("KS3_TEST_ENDPOINT")
accessKeyID = os.Getenv("KS3_TEST_ACCESS_KEY_ID")
accessKeySecret = os.Getenv("KS3_TEST_ACCESS_KEY_SECRET")
bucket = os.Getenv("KS3_TEST_BUCKET")
region = os.Getenv("KS3_TEST_REGION")
bucketEndpoint = os.Getenv("KS3_TEST_BUCKET_ENDPOINT")
client *s3.S3 = nil
)
func main() {
var cre = credentials.NewStaticCredentials(accessKeyID, accessKeySecret, "") //online
client = s3.New(&aws.Config{
//Region 可参考 [https://docs.ksyun.com/documents/6761](https://docs.ksyun.com/documents/6761)
Region: region,
Credentials: cre,
//Endpoint 可参考 [https://docs.ksyun.com/documents/6761](https://docs.ksyun.com/documents/6761)
Endpoint: endpoint,
DisableSSL: true, //是否禁用https
LogLevel: 0, //是否开启日志,0为关闭日志,1为开启日志
LogHTTPBody: false, //是否把HTTP请求body打入日志
S3ForcePathStyle: false,
Logger: nil, //打日志的位置
DomainMode: false, //是否开启自定义bucket绑定域名,当开启时 S3ForcePathStyle 参数不生效。
})
dir := "/Users/cqc/Desktop/terraFormTest"
uploader := s3manager.NewUploader(&s3manager.UploadOptions{
//分块大小 5MB
PartSize: 0,
//单文件内部操作的并发任务数
Parallel: 2,
//多文件操作时的并发任务数
Jobs: 2,
S3: client,
})
//dir 要上传的目录
//bucket 上传的目标桶
//prefix 桶下的路径
uploader.UploadDir(dir, bucket, "aaa/")
}
文档内容是否对您有帮助?
评价建议不能为空
非常感谢您的反馈,我们会继续努力做到更好!