AWS S3 包中的 Upload() 和 PutObject() 方法都是用于将文件上传到 S3 存储桶中。它们的区别在于:
以下是 Upload() 和 PutObject() 的示例代码:
// 使用 Upload() 方法上传文件 uploader := s3manager.NewUploader(sess) _, err := uploader.Upload(&s3manager.UploadInput{ Bucket: aws.String(bucket), Key: aws.String("example.txt"), Body: strings.NewReader("This is an example"), }) if err != nil { log.Fatalf("Failed to upload file: %v", err) }
// 使用 PutObject() 方法上传对象 svc := s3.New(sess) _, err := svc.PutObject(&s3.PutObjectInput{ Body: strings.NewReader("This is an example"), Bucket: aws.String(bucket), Key: aws.String("example.txt"), Metadata: map[string]*string{ "key": aws.String("value"), }, }) if err != nil { log.Fatalf("Failed to upload file: %v", err) }