MCPcopy
hub / github.com/minio/minio-go / main

Function main

examples/s3/composeobject.go:32–98  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

30)
31
32func main() {
33 // Note: YOUR-ACCESSKEYID, YOUR-SECRETACCESSKEY, my-testfile, my-bucketname and
34 // my-objectname are dummy values, please replace them with original values.
35
36 // Requests are always secure (HTTPS) by default. Set secure=false to enable insecure (HTTP) access.
37 // This boolean value is the last argument for New().
38
39 // New returns an Amazon S3 compatible client object. API compatibility (v2 or v4) is automatically
40 // determined based on the Endpoint value.
41 s3Client, err := minio.New("s3.amazonaws.com", &minio.Options{
42 Creds: credentials.NewStaticV4("YOUR-ACCESSKEYID", "YOUR-SECRETACCESSKEY", ""),
43 Secure: true,
44 })
45 if err != nil {
46 log.Fatalln(err)
47 }
48
49 // Enable trace.
50 // s3Client.TraceOn(os.Stderr)
51
52 // Prepare source decryption key (here we assume same key to
53 // decrypt all source objects.)
54 decKey, _ := encrypt.NewSSEC([]byte{1, 2, 3})
55
56 // Source objects to concatenate. We also specify decryption
57 // key for each
58 src1 := minio.CopySrcOptions{
59 Bucket: "bucket1",
60 Object: "object1",
61 Encryption: decKey,
62 MatchETag: "31624deb84149d2f8ef9c385918b653a",
63 }
64
65 src2 := minio.CopySrcOptions{
66 Bucket: "bucket2",
67 Object: "object2",
68 Encryption: decKey,
69 MatchETag: "f8ef9c385918b653a31624deb84149d2",
70 }
71
72 src3 := minio.CopySrcOptions{
73 Bucket: "bucket3",
74 Object: "object3",
75 Encryption: decKey,
76 MatchETag: "5918b653a31624deb84149d2f8ef9c38",
77 }
78
79 // Create slice of sources.
80 srcs := []minio.CopySrcOptions{src1, src2, src3}
81
82 // Prepare destination encryption key
83 encKey, _ := encrypt.NewSSEC([]byte{8, 9, 0})
84
85 // Create destination info
86 dst := minio.CopyDestOptions{
87 Bucket: "bucket",
88 Object: "object",
89 Encryption: encKey,

Callers

nothing calls this directly

Calls 3

NewStaticV4Function · 0.92
NewSSECFunction · 0.92
ComposeObjectMethod · 0.80

Tested by

no test coverage detected