aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chrislusf@users.noreply.github.com>2022-02-27 03:27:32 -0800
committerGitHub <noreply@github.com>2022-02-27 03:27:32 -0800
commit6c07af60147c3e27480a72ad258af020c0bebb7f (patch)
treec9ebc19ed2a1c7f590b0acde4d7dab2ff21b360c
parentc3792c8352d72b9dac5e6032e9b0710e032e18d2 (diff)
parentfb940dd807e47e6c4f86af9d59869f346997b137 (diff)
downloadseaweedfs-6c07af60147c3e27480a72ad258af020c0bebb7f.tar.xz
seaweedfs-6c07af60147c3e27480a72ad258af020c0bebb7f.zip
Merge pull request #2715 from gfx-labs/acl-pr
-rw-r--r--weed/replication/sink/s3sink/s3_sink.go6
-rw-r--r--weed/replication/sink/s3sink/s3_write.go3
2 files changed, 8 insertions, 1 deletions
diff --git a/weed/replication/sink/s3sink/s3_sink.go b/weed/replication/sink/s3sink/s3_sink.go
index c3da1ee3f..a118324c2 100644
--- a/weed/replication/sink/s3sink/s3_sink.go
+++ b/weed/replication/sink/s3sink/s3_sink.go
@@ -26,6 +26,7 @@ type S3Sink struct {
bucket string
dir string
endpoint string
+ acl string
filerSource *source.FilerSource
isIncremental bool
}
@@ -51,6 +52,7 @@ func (s3sink *S3Sink) Initialize(configuration util.Configuration, prefix string
glog.V(0).Infof("sink.s3.bucket: %v", configuration.GetString(prefix+"bucket"))
glog.V(0).Infof("sink.s3.directory: %v", configuration.GetString(prefix+"directory"))
glog.V(0).Infof("sink.s3.endpoint: %v", configuration.GetString(prefix+"endpoint"))
+ glog.V(0).Infof("sink.s3.acl: %v", configuration.GetString(prefix+"acl"))
glog.V(0).Infof("sink.s3.is_incremental: %v", configuration.GetString(prefix+"is_incremental"))
s3sink.isIncremental = configuration.GetBool(prefix + "is_incremental")
return s3sink.initialize(
@@ -60,6 +62,7 @@ func (s3sink *S3Sink) Initialize(configuration util.Configuration, prefix string
configuration.GetString(prefix+"bucket"),
configuration.GetString(prefix+"directory"),
configuration.GetString(prefix+"endpoint"),
+ configuration.GetString(prefix+"acl"),
)
}
@@ -67,11 +70,12 @@ func (s3sink *S3Sink) SetSourceFiler(s *source.FilerSource) {
s3sink.filerSource = s
}
-func (s3sink *S3Sink) initialize(awsAccessKeyId, awsSecretAccessKey, region, bucket, dir, endpoint string) error {
+func (s3sink *S3Sink) initialize(awsAccessKeyId, awsSecretAccessKey, region, bucket, dir, endpoint, acl string) error {
s3sink.region = region
s3sink.bucket = bucket
s3sink.dir = dir
s3sink.endpoint = endpoint
+ s3sink.acl = acl
config := &aws.Config{
Region: aws.String(s3sink.region),
diff --git a/weed/replication/sink/s3sink/s3_write.go b/weed/replication/sink/s3sink/s3_write.go
index 3dde52616..7d8932fb0 100644
--- a/weed/replication/sink/s3sink/s3_write.go
+++ b/weed/replication/sink/s3sink/s3_write.go
@@ -39,6 +39,9 @@ func (s3sink *S3Sink) createMultipartUpload(key string, entry *filer_pb.Entry) (
Key: aws.String(key),
ContentType: aws.String(entry.Attributes.Mime),
}
+ if s3sink.acl != "" {
+ input.ACL = aws.String(s3sink.acl)
+ }
result, err := s3sink.conn.CreateMultipartUpload(input)