github.com/aliyun/aliyun-oss-go-sdk@v3.0.2+incompatible/sample/bucket_policy.go (about) 1 package sample 2 3 import ( 4 "fmt" 5 6 "github.com/aliyun/aliyun-oss-go-sdk/oss" 7 ) 8 9 // BucketPolicySample shows how to set, get and delete the bucket policy configuration 10 func BucketPolicySample() { 11 // New client 12 client, err := oss.New(endpoint, accessID, accessKey) 13 if err != nil { 14 HandleError(err) 15 } 16 17 // Create the bucket with default parameters 18 err = client.CreateBucket(bucketName) 19 if err != nil { 20 HandleError(err) 21 } 22 23 // the policy string 24 var policyInfo string 25 policyInfo = ` 26 { 27 "Version":"1", 28 "Statement":[ 29 { 30 "Action":[ 31 "oss:GetObject", 32 "oss:PutObject" 33 ], 34 "Effect":"Deny", 35 "Principal":"[123456790]", 36 "Resource":["acs:oss:*:1234567890:*/*"] 37 } 38 ] 39 }` 40 41 // Set policy 42 err = client.SetBucketPolicy(bucketName, policyInfo) 43 if err != nil { 44 HandleError(err) 45 } 46 47 // Get Bucket policy 48 ret, err := client.GetBucketPolicy(bucketName) 49 if err != nil { 50 HandleError(err) 51 } 52 fmt.Println("Bucket policy:", ret) 53 54 // Delete Bucket policy 55 err = client.DeleteBucketPolicy(bucketName) 56 if err != nil { 57 HandleError(err) 58 } 59 60 // Delete bucket 61 err = client.DeleteBucket(bucketName) 62 if err != nil { 63 HandleError(err) 64 } 65 66 fmt.Println("BucketPolicySample completed") 67 }