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

Function main

examples/s3/restoreobject-select.go:32–77  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

30)
31
32func main() {
33 // Note: YOUR-ACCESSKEYID, YOUR-SECRETACCESSKEY, my-bucketname, my-objectname and
34 // my-testfile 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 opts := minio.RestoreRequest{}
50 opts.SetType(minio.RestoreSelect)
51 opts.SetTier(minio.TierStandard)
52
53 selectParameters := minio.SelectParameters{
54 Expression: "SELECT * FROM object",
55 ExpressionType: minio.QueryExpressionTypeSQL,
56 InputSerialization: minio.SelectObjectInputSerialization{
57 CSV: &minio.CSVInputOptions{
58 FileHeaderInfo: minio.CSVFileHeaderInfoUse,
59 },
60 },
61 OutputSerialization: minio.SelectObjectOutputSerialization{
62 CSV: &minio.CSVOutputOptions{},
63 },
64 }
65
66 opts.SetSelectParameters(selectParameters)
67
68 outputLocation := minio.OutputLocation{S3: minio.S3{BucketName: "your-bucket", Prefix: "sql-request-output.csv"}}
69 opts.SetOutputLocation(outputLocation)
70
71 err = s3Client.RestoreObject(context.Background(), "your-bucket", "input.csv", "", opts)
72 if err != nil {
73 log.Fatalln(err)
74 }
75
76 fmt.Println("Restore SQL request Succeeded.")
77}

Callers

nothing calls this directly

Calls 6

SetTypeMethod · 0.95
SetTierMethod · 0.95
SetSelectParametersMethod · 0.95
SetOutputLocationMethod · 0.95
NewStaticV4Function · 0.92
RestoreObjectMethod · 0.80

Tested by

no test coverage detected