OSDN Git Service

Create ossClient.go (#574)
[bytom/vapor.git] / vendor / github.com / aliyun / aliyun-oss-go-sdk / sample / bucket_policy.go
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_policy.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_policy.go
new file mode 100644 (file)
index 0000000..54349bb
--- /dev/null
@@ -0,0 +1,67 @@
+package sample
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// BucketPolicySample shows how to set, get and delete the bucket policy configuration
+func BucketPolicySample() {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create the bucket with default parameters
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // the policy string
+       var policyInfo string
+       policyInfo = `
+       {
+               "Version":"1",
+               "Statement":[
+                       {
+                               "Action":[
+                                       "oss:GetObject",
+                                       "oss:PutObject"
+                               ],
+                               "Effect":"Deny",
+                               "Principal":"[123456790]",
+                               "Resource":["acs:oss:*:1234567890:*/*"]
+                       }
+               ]
+       }`
+
+       // Set policy
+       err = client.SetBucketPolicy(bucketName, policyInfo)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get Bucket policy
+       ret, err := client.GetBucketPolicy(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Bucket policy:", ret)
+
+       // Delete Bucket policy
+       err = client.DeleteBucketPolicy(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete bucket
+       err = client.DeleteBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("BucketPolicySample completed")
+}