├── .gitignore ├── CHANGELOG.md ├── DEVGUIDE-CN.md ├── DEVGUIDE.md ├── LICENSE ├── README-CN.md ├── README.md ├── go.mod ├── go.sum ├── oss ├── api_op_accesspoint.go ├── api_op_accesspoint_publicaccessblock.go ├── api_op_accesspoint_publicaccessblock_test.go ├── api_op_accesspoint_test.go ├── api_op_bucket.go ├── api_op_bucket_accessmonitor.go ├── api_op_bucket_accessmonitor_test.go ├── api_op_bucket_archivedirectread.go ├── api_op_bucket_archivedirectread_test.go ├── api_op_bucket_cname.go ├── api_op_bucket_cname_test.go ├── api_op_bucket_cors.go ├── api_op_bucket_cros_test.go ├── api_op_bucket_encryption.go ├── api_op_bucket_encryption_test.go ├── api_op_bucket_httpsconfig.go ├── api_op_bucket_httpsconfig_test.go ├── api_op_bucket_inventory.go ├── api_op_bucket_inventory_test.go ├── api_op_bucket_lifecycle.go ├── api_op_bucket_lifecycle_test.go ├── api_op_bucket_logging.go ├── api_op_bucket_logging_test.go ├── api_op_bucket_metaquery.go ├── api_op_bucket_metaquery_test.go ├── api_op_bucket_objectfcaccesspoint.go ├── api_op_bucket_objectfcaccesspoint_test.go ├── api_op_bucket_policy.go ├── api_op_bucket_policy_test.go ├── api_op_bucket_publicaccessblock.go ├── api_op_bucket_publicaccessblock_test.go ├── api_op_bucket_redundancytransition.go ├── api_op_bucket_redundancytransition_test.go ├── api_op_bucket_referer.go ├── api_op_bucket_referer_test.go ├── api_op_bucket_replication.go ├── api_op_bucket_replication_test.go ├── api_op_bucket_resourcegroup.go ├── api_op_bucket_resourcegroup_test.go ├── api_op_bucket_style.go ├── api_op_bucket_style_test.go ├── api_op_bucket_tags.go ├── api_op_bucket_tags_test.go ├── api_op_bucket_test.go ├── api_op_bucket_transferAcceleration_test.go ├── api_op_bucket_transferacceleration.go ├── api_op_bucket_website.go ├── api_op_bucket_website_test.go ├── api_op_bucket_worm.go ├── api_op_bucket_worm_test.go ├── api_op_cloud_box.go ├── api_op_cloud_box_test.go ├── api_op_common.go ├── api_op_object.go ├── api_op_object_test.go ├── api_op_publicaccessblock.go ├── api_op_publicaccessblock_test.go ├── api_op_region.go ├── api_op_region_test.go ├── api_op_select_object.go ├── api_op_select_object_test.go ├── api_op_service.go ├── api_op_service_test.go ├── checkpoint.go ├── checkpoint_test.go ├── client.go ├── client_extension.go ├── client_integration_test.go ├── client_mock_test.go ├── client_paginators.go ├── client_presign.go ├── client_presign_test.go ├── client_test.go ├── config.go ├── config_test.go ├── copier.go ├── credentials │ ├── credentials.go │ ├── credentials_bench_test.go │ ├── credentials_test.go │ ├── ecs_role_credentials_provider.go │ ├── environment_credentials_provider.go │ ├── fetcher_credentials_provider.go │ ├── process_credentials_provider.go │ └── static_credentials_provider.go ├── crypto │ ├── aes_ctr.go │ ├── aes_ctr_cipher.go │ ├── aes_ctr_cipher_test.go │ ├── cipher.go │ ├── cipher_test.go │ ├── crypto_const.go │ ├── crypto_type.go │ ├── master_rsa_cipher.go │ └── master_rsa_cipher_test.go ├── defaults.go ├── downloader.go ├── downloader_mock_test.go ├── encryption_client.go ├── encryption_client_mock_test.go ├── endpoints.go ├── endpoints_test.go ├── enums.go ├── errors.go ├── filelike.go ├── filelike_mock_test.go ├── from_ptr.go ├── from_ptr_test.go ├── io_utils.go ├── io_utils_test.go ├── limiter.go ├── logger.go ├── logger_test.go ├── progress.go ├── retry │ ├── backoff.go │ ├── retry_test.go │ ├── retryable_error.go │ ├── retryer.go │ ├── standard.go │ └── types.go ├── signer │ ├── signer.go │ ├── signer_test.go │ ├── v1.go │ └── v4.go ├── to_ptr.go ├── to_ptr_test.go ├── transport │ ├── dialer.go │ ├── http.go │ └── http_test.go ├── types.go ├── types_test.go ├── uploader.go ├── uploader_mock_test.go ├── utils.go ├── utils_copy.go ├── utils_crc.go ├── utils_crc_test.go ├── utils_mime.go ├── utils_mime_test.go ├── utils_pool.go ├── utils_test.go ├── validation.go ├── version.go ├── xml_utils.go └── xml_utils_test.go └── sample ├── abort_bucket_worm.go ├── abort_multipart_upload.go ├── append_file.go ├── append_object.go ├── async_process_object.go ├── clean_restored_object.go ├── close_meta_query.go ├── complete_bucket_worm.go ├── complete_multipart_upload.go ├── copy_object.go ├── create_access_point.go ├── create_access_point_for_object_process.go ├── create_bucket_data_redundancy_transition.go ├── create_cname_token.go ├── create_select_object_meta.go ├── crypto └── kms.go ├── delete_access_point.go ├── delete_access_point_for_object_process.go ├── delete_access_point_policy.go ├── delete_access_point_policy_for_object_process.go ├── delete_access_point_public_access_block.go ├── delete_bucket.go ├── delete_bucket_cors.go ├── delete_bucket_data_redundancy_transition.go ├── delete_bucket_encryption.go ├── delete_bucket_inventory.go ├── delete_bucket_lifecycle.go ├── delete_bucket_logging.go ├── delete_bucket_policy.go ├── delete_bucket_public_access_block.go ├── delete_bucket_replication.go ├── delete_bucket_style.go ├── delete_bucket_tags.go ├── delete_bucket_website.go ├── delete_cname.go ├── delete_mutiple_objects.go ├── delete_object.go ├── delete_object_tagging.go ├── delete_public_access_block.go ├── delete_user_defined_log_fields_config.go ├── describe_regions.go ├── do_meta_query.go ├── enc-example.jpg ├── encryption_client.go ├── example.jpg ├── extent_bucket_worm.go ├── get_access_point.go ├── get_access_point_config_for_object_process.go ├── get_access_point_for_object_process.go ├── get_access_point_policy.go ├── get_access_point_policy_for_object_process.go ├── get_access_point_public_access_block.go ├── get_bucket_access_monitor.go ├── get_bucket_acl.go ├── get_bucket_archive_direct_read.go ├── get_bucket_cors.go ├── get_bucket_data_redundancy_transition.go ├── get_bucket_encryption.go ├── get_bucket_https_config.go ├── get_bucket_info.go ├── get_bucket_inventory.go ├── get_bucket_lifecycle.go ├── get_bucket_location.go ├── get_bucket_logging.go ├── get_bucket_policy.go ├── get_bucket_policy_status.go ├── get_bucket_public_access_block.go ├── get_bucket_referer.go ├── get_bucket_replication.go ├── get_bucket_replication_location.go ├── get_bucket_replication_progress.go ├── get_bucket_request_payment.go ├── get_bucket_resource_group.go ├── get_bucket_stat.go ├── get_bucket_style.go ├── get_bucket_tags.go ├── get_bucket_transfer_acceleration.go ├── get_bucket_versioning.go ├── get_bucket_website.go ├── get_bucket_worm.go ├── get_cname_token.go ├── get_meta_query_status.go ├── get_object.go ├── get_object_acl.go ├── get_object_meta.go ├── get_object_tagging.go ├── get_object_to_file.go ├── get_public_access_block.go ├── get_symlink.go ├── get_user_defined_log_fields_config.go ├── go.mod ├── go.sum ├── head_object.go ├── initiate_bucket_worm.go ├── initiate_multipart_upload.go ├── is_bucket_exist.go ├── is_object_exist.go ├── list_access_point_for_object_process.go ├── list_access_points.go ├── list_bucket_data_redundancy_transition.go ├── list_bucket_inventory.go ├── list_bucket_style.go ├── list_buckets.go ├── list_cloud_boxes.go ├── list_cname.go ├── list_multipart_uploads.go ├── list_object_versions.go ├── list_objects.go ├── list_objects_v2.go ├── list_parts.go ├── list_user_data_redundancy_transition.go ├── open_file.go ├── open_meta_query.go ├── option_object.go ├── post_object.go ├── presign.go ├── process_object.go ├── put_access_point_config_for_object_process.go ├── put_access_point_policy.go ├── put_access_point_policy_for_object_process.go ├── put_access_point_public_access_block.go ├── put_bucket.go ├── put_bucket_access_monitor.go ├── put_bucket_acl.go ├── put_bucket_archive_direct_read.go ├── put_bucket_cors.go ├── put_bucket_encryption.go ├── put_bucket_https_config.go ├── put_bucket_inventory.go ├── put_bucket_lifecycle.go ├── put_bucket_logging.go ├── put_bucket_policy.go ├── put_bucket_public_access_block.go ├── put_bucket_referer.go ├── put_bucket_replication.go ├── put_bucket_request_payment.go ├── put_bucket_resource_group.go ├── put_bucket_rtc.go ├── put_bucket_style.go ├── put_bucket_tags.go ├── put_bucket_transfer_acceleration.go ├── put_bucket_versioning.go ├── put_bucket_website.go ├── put_cname.go ├── put_object.go ├── put_object_acl.go ├── put_object_form_file.go ├── put_object_tagging.go ├── put_public_access_block.go ├── put_symlink.go ├── put_user_defined_log_fields_config.go ├── restore_object.go ├── select_object.go ├── upload_part.go ├── upload_part_copy.go └── write_get_object_response.go /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | .vs -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/aliyun/alibabacloud-oss-go-sdk-v2 2 | 3 | go 1.18 4 | 5 | require ( 6 | github.com/stretchr/testify v1.8.4 7 | golang.org/x/time v0.4.0 8 | ) 9 | 10 | require ( 11 | github.com/davecgh/go-spew v1.1.1 // indirect 12 | github.com/pmezard/go-difflib v1.0.0 // indirect 13 | gopkg.in/yaml.v3 v3.0.1 // indirect 14 | ) 15 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= 2 | github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= 3 | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= 4 | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= 5 | github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= 6 | github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= 7 | golang.org/x/time v0.4.0 h1:Z81tqI5ddIoXDPvVQ7/7CC9TnLM7ubaFG2qXYd5BbYY= 8 | golang.org/x/time v0.4.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= 9 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= 10 | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= 11 | gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= 12 | gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= 13 | -------------------------------------------------------------------------------- /oss/api_op_cloud_box_test.go: -------------------------------------------------------------------------------- 1 | package oss 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/signer" 7 | "github.com/stretchr/testify/assert" 8 | ) 9 | 10 | func TestMarshalInput_ListCloudBoxes(t *testing.T) { 11 | c := Client{} 12 | assert.NotNil(t, c) 13 | var request *ListCloudBoxesRequest 14 | var input *OperationInput 15 | var err error 16 | 17 | request = &ListCloudBoxesRequest{} 18 | input = &OperationInput{ 19 | OpName: "ListCloudBoxes", 20 | Method: "GET", 21 | Headers: map[string]string{ 22 | HTTPHeaderContentType: contentTypeXML, 23 | }, 24 | Parameters: map[string]string{ 25 | "cloudboxes": "", 26 | }, 27 | } 28 | 29 | input.OpMetadata.Set(signer.SubResource, []string{"cloudboxes"}) 30 | 31 | err = c.marshalInput(request, input, updateContentMd5) 32 | assert.Nil(t, err) 33 | 34 | request = &ListCloudBoxesRequest{ 35 | Marker: Ptr(""), 36 | MaxKeys: 10, 37 | Prefix: Ptr("/"), 38 | } 39 | input = &OperationInput{ 40 | OpName: "ListCloudBoxes", 41 | Method: "GET", 42 | Headers: map[string]string{ 43 | HTTPHeaderContentType: contentTypeXML, 44 | }, 45 | Parameters: map[string]string{ 46 | "cloudboxes": "", 47 | }, 48 | } 49 | 50 | input.OpMetadata.Set(signer.SubResource, []string{"cloudboxes"}) 51 | 52 | err = c.marshalInput(request, input, updateContentMd5) 53 | assert.Nil(t, err) 54 | assert.Equal(t, input.Parameters["cloudboxes"], "") 55 | assert.Equal(t, input.Parameters["marker"], "") 56 | assert.Equal(t, input.Parameters["max-keys"], "10") 57 | assert.Equal(t, input.Parameters["prefix"], "/") 58 | } 59 | -------------------------------------------------------------------------------- /oss/api_op_common.go: -------------------------------------------------------------------------------- 1 | package oss 2 | 3 | import ( 4 | "context" 5 | ) 6 | 7 | func (c *Client) InvokeOperation(ctx context.Context, input *OperationInput, optFns ...func(*Options)) (*OperationOutput, error) { 8 | if err := validateInput(input); err != nil { 9 | return nil, err 10 | } 11 | return c.invokeOperation(ctx, input, optFns) 12 | } 13 | -------------------------------------------------------------------------------- /oss/credentials/credentials.go: -------------------------------------------------------------------------------- 1 | package credentials 2 | 3 | import ( 4 | "context" 5 | "time" 6 | ) 7 | 8 | type Credentials struct { 9 | AccessKeyID string // Access key ID 10 | AccessKeySecret string // Access Key Secret 11 | SecurityToken string // Security Token 12 | Expires *time.Time // The time the credentials will expire at. 13 | } 14 | 15 | func (v Credentials) Expired() bool { 16 | if v.Expires != nil { 17 | return !v.Expires.After(time.Now().Round(0)) 18 | } 19 | return false 20 | } 21 | 22 | func (v Credentials) HasKeys() bool { 23 | return len(v.AccessKeyID) > 0 && len(v.AccessKeySecret) > 0 24 | } 25 | 26 | type CredentialsProvider interface { 27 | GetCredentials(ctx context.Context) (Credentials, error) 28 | } 29 | 30 | // CredentialsProviderFunc provides a helper wrapping a function value to 31 | // satisfy the CredentialsProvider interface. 32 | type CredentialsProviderFunc func(context.Context) (Credentials, error) 33 | 34 | // GetCredentials delegates to the function value the CredentialsProviderFunc wraps. 35 | func (fn CredentialsProviderFunc) GetCredentials(ctx context.Context) (Credentials, error) { 36 | return fn(ctx) 37 | } 38 | 39 | type AnonymousCredentialsProvider struct{} 40 | 41 | func NewAnonymousCredentialsProvider() CredentialsProvider { 42 | return &AnonymousCredentialsProvider{} 43 | } 44 | 45 | func (*AnonymousCredentialsProvider) GetCredentials(_ context.Context) (Credentials, error) { 46 | return Credentials{AccessKeyID: "", AccessKeySecret: ""}, nil 47 | } 48 | -------------------------------------------------------------------------------- /oss/credentials/environment_credentials_provider.go: -------------------------------------------------------------------------------- 1 | package credentials 2 | 3 | import ( 4 | "context" 5 | "fmt" 6 | "os" 7 | ) 8 | 9 | type EnvironmentVariableCredentialsProvider struct { 10 | } 11 | 12 | func (s *EnvironmentVariableCredentialsProvider) GetCredentials(ctx context.Context) (Credentials, error) { 13 | id := os.Getenv("OSS_ACCESS_KEY_ID") 14 | secret := os.Getenv("OSS_ACCESS_KEY_SECRET") 15 | if id == "" || secret == "" { 16 | return Credentials{}, fmt.Errorf("access key id or access key secret is empty!") 17 | } 18 | return Credentials{ 19 | AccessKeyID: id, 20 | AccessKeySecret: secret, 21 | SecurityToken: os.Getenv("OSS_SESSION_TOKEN"), 22 | }, nil 23 | } 24 | 25 | func NewEnvironmentVariableCredentialsProvider() CredentialsProvider { 26 | return &EnvironmentVariableCredentialsProvider{} 27 | } 28 | -------------------------------------------------------------------------------- /oss/credentials/static_credentials_provider.go: -------------------------------------------------------------------------------- 1 | package credentials 2 | 3 | import ( 4 | "context" 5 | ) 6 | 7 | type StaticCredentialsProvider struct { 8 | credentials Credentials 9 | } 10 | 11 | func NewStaticCredentialsProvider(id, secret string, tokens ...string) CredentialsProvider { 12 | token := "" 13 | if len(tokens) > 0 { 14 | token = tokens[0] 15 | } 16 | return StaticCredentialsProvider{ 17 | credentials: Credentials{ 18 | AccessKeyID: id, 19 | AccessKeySecret: secret, 20 | SecurityToken: token, 21 | }} 22 | } 23 | 24 | func (s StaticCredentialsProvider) GetCredentials(_ context.Context) (Credentials, error) { 25 | return s.credentials, nil 26 | } 27 | -------------------------------------------------------------------------------- /oss/crypto/aes_ctr.go: -------------------------------------------------------------------------------- 1 | package crypto 2 | 3 | import ( 4 | "crypto/aes" 5 | "crypto/cipher" 6 | "io" 7 | ) 8 | 9 | type aesCtr struct { 10 | block cipher.Block 11 | cipherData CipherData 12 | } 13 | 14 | func newAesCtr(cd CipherData) (Cipher, error) { 15 | block, err := aes.NewCipher(cd.Key) 16 | if err != nil { 17 | return nil, err 18 | } 19 | return &aesCtr{block, cd}, nil 20 | } 21 | 22 | func (c *aesCtr) Encrypt(src io.Reader) io.Reader { 23 | reader := &ctrEncryptReader{ 24 | encrypter: cipher.NewCTR(c.block, c.cipherData.IV), 25 | src: src, 26 | } 27 | return reader 28 | } 29 | 30 | type ctrEncryptReader struct { 31 | encrypter cipher.Stream 32 | src io.Reader 33 | } 34 | 35 | func (reader *ctrEncryptReader) Read(data []byte) (int, error) { 36 | plainText := make([]byte, len(data), len(data)) 37 | n, err := reader.src.Read(plainText) 38 | if n > 0 { 39 | plainText = plainText[0:n] 40 | reader.encrypter.XORKeyStream(data, plainText) 41 | } 42 | return n, err 43 | } 44 | 45 | func (c *aesCtr) Decrypt(src io.Reader) io.Reader { 46 | return &ctrDecryptReader{ 47 | decrypter: cipher.NewCTR(c.block, c.cipherData.IV), 48 | src: src, 49 | } 50 | } 51 | 52 | type ctrDecryptReader struct { 53 | decrypter cipher.Stream 54 | src io.Reader 55 | } 56 | 57 | func (reader *ctrDecryptReader) Read(data []byte) (int, error) { 58 | cryptoText := make([]byte, len(data), len(data)) 59 | n, err := reader.src.Read(cryptoText) 60 | if n > 0 { 61 | cryptoText = cryptoText[0:n] 62 | reader.decrypter.XORKeyStream(data, cryptoText) 63 | } 64 | return n, err 65 | } 66 | -------------------------------------------------------------------------------- /oss/crypto/aes_ctr_cipher_test.go: -------------------------------------------------------------------------------- 1 | package crypto 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/stretchr/testify/assert" 7 | ) 8 | 9 | func TestContentEncryptCipherError(t *testing.T) { 10 | masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey) 11 | contentProvider := CreateAesCtrCipher(masterRsaCipher) 12 | cc, err := contentProvider.ContentCipher() 13 | assert.Nil(t, err) 14 | 15 | var cipherData CipherData 16 | cipherData.RandomKeyIv(31, 15) 17 | 18 | _, err = cc.Clone(cipherData) 19 | assert.NotNil(t, err) 20 | } 21 | 22 | func TestCreateCipherDataError(t *testing.T) { 23 | // crypto bucket 24 | masterRsaCipher, _ := CreateMasterRsa(matDesc, "", "") 25 | contentProvider := CreateAesCtrCipher(masterRsaCipher) 26 | 27 | v := contentProvider.(aesCtrCipherBuilder) 28 | _, err := v.createCipherData() 29 | assert.NotNil(t, err) 30 | } 31 | 32 | func TestContentCipherCDError(t *testing.T) { 33 | var cd CipherData 34 | 35 | // crypto bucket 36 | masterRsaCipher, _ := CreateMasterRsa(matDesc, "", "") 37 | contentProvider := CreateAesCtrCipher(masterRsaCipher) 38 | 39 | v := contentProvider.(aesCtrCipherBuilder) 40 | _, err := v.contentCipherCD(cd) 41 | assert.NotNil(t, err) 42 | 43 | _, err = contentProvider.ContentCipherEnv(Envelope{}) 44 | assert.NotNil(t, err) 45 | } 46 | -------------------------------------------------------------------------------- /oss/crypto/cipher.go: -------------------------------------------------------------------------------- 1 | package crypto 2 | 3 | import ( 4 | "io" 5 | ) 6 | 7 | // Cipher is interface for encryption or decryption of an object 8 | type Cipher interface { 9 | Encrypter 10 | Decrypter 11 | } 12 | 13 | // Encrypter is interface with only encrypt method 14 | type Encrypter interface { 15 | Encrypt(io.Reader) io.Reader 16 | } 17 | 18 | // Decrypter is interface with only decrypt method 19 | type Decrypter interface { 20 | Decrypt(io.Reader) io.Reader 21 | } 22 | 23 | // CryptoEncrypter provides close method for Encrypter 24 | type CryptoEncrypter struct { 25 | Body io.Reader 26 | Encrypter io.Reader 27 | isClosed bool 28 | } 29 | 30 | // Close lets the CryptoEncrypter satisfy io.ReadCloser interface 31 | func (rc *CryptoEncrypter) Close() error { 32 | rc.isClosed = true 33 | if closer, ok := rc.Body.(io.ReadCloser); ok { 34 | return closer.Close() 35 | } 36 | return nil 37 | } 38 | 39 | // Read lets the CryptoEncrypter satisfy io.ReadCloser interface 40 | func (rc *CryptoEncrypter) Read(b []byte) (int, error) { 41 | if rc.isClosed { 42 | return 0, io.EOF 43 | } 44 | return rc.Encrypter.Read(b) 45 | } 46 | 47 | // CryptoDecrypter provides close method for Decrypter 48 | type CryptoDecrypter struct { 49 | Body io.Reader 50 | Decrypter io.Reader 51 | isClosed bool 52 | } 53 | 54 | // Close lets the CryptoDecrypter satisfy io.ReadCloser interface 55 | func (rc *CryptoDecrypter) Close() error { 56 | rc.isClosed = true 57 | if closer, ok := rc.Body.(io.ReadCloser); ok { 58 | return closer.Close() 59 | } 60 | return nil 61 | } 62 | 63 | // Read lets the CryptoDecrypter satisfy io.ReadCloser interface 64 | func (rc *CryptoDecrypter) Read(b []byte) (int, error) { 65 | if rc.isClosed { 66 | return 0, io.EOF 67 | } 68 | return rc.Decrypter.Read(b) 69 | } 70 | -------------------------------------------------------------------------------- /oss/crypto/cipher_test.go: -------------------------------------------------------------------------------- 1 | package crypto 2 | 3 | import ( 4 | "io" 5 | "math/rand" 6 | "strings" 7 | "testing" 8 | "time" 9 | 10 | "github.com/stretchr/testify/assert" 11 | ) 12 | 13 | var ( 14 | letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") 15 | ) 16 | 17 | func randStr(n int) string { 18 | b := make([]rune, n) 19 | randMarker := rand.New(rand.NewSource(time.Now().UnixNano())) 20 | for i := range b { 21 | b[i] = letters[randMarker.Intn(len(letters))] 22 | } 23 | return string(b) 24 | } 25 | 26 | func randLowStr(n int) string { 27 | return strings.ToLower(randStr(n)) 28 | } 29 | 30 | func TestAesCtr(t *testing.T) { 31 | var cipherData CipherData 32 | cipherData.RandomKeyIv(32, 16) 33 | cipher, _ := newAesCtr(cipherData) 34 | 35 | byteReader := strings.NewReader(randLowStr(100)) 36 | enReader := cipher.Encrypt(byteReader) 37 | encrypter := &CryptoEncrypter{Body: byteReader, Encrypter: enReader} 38 | encrypter.Close() 39 | buff := make([]byte, 10) 40 | n, err := encrypter.Read(buff) 41 | assert.Equal(t, 0, n) 42 | assert.Equal(t, io.EOF, err) 43 | 44 | deReader := cipher.Encrypt(byteReader) 45 | Decrypter := &CryptoDecrypter{Body: byteReader, Decrypter: deReader} 46 | Decrypter.Close() 47 | buff = make([]byte, 10) 48 | n, err = Decrypter.Read(buff) 49 | assert.Equal(t, 0, n) 50 | assert.Equal(t, io.EOF, err) 51 | } 52 | -------------------------------------------------------------------------------- /oss/crypto/crypto_const.go: -------------------------------------------------------------------------------- 1 | package crypto 2 | 3 | // encryption Algorithm 4 | const ( 5 | RsaCryptoWrap string = "RSA/NONE/PKCS1Padding" 6 | KmsAliCryptoWrap string = "KMS/ALICLOUD" 7 | AesCtrAlgorithm string = "AES/CTR/NoPadding" 8 | ) 9 | -------------------------------------------------------------------------------- /oss/from_ptr.go: -------------------------------------------------------------------------------- 1 | package oss 2 | 3 | import "time" 4 | 5 | // ToBool returns bool value if the pointer is not nil. 6 | // Returns a bool zero value if the pointer is nil. 7 | func ToBool(p *bool) (v bool) { 8 | if p == nil { 9 | return v 10 | } 11 | 12 | return *p 13 | } 14 | 15 | // ToInt returns int value if the pointer is not nil. 16 | // Returns a int zero value if the pointer is nil. 17 | func ToInt(p *int) (v int) { 18 | if p == nil { 19 | return v 20 | } 21 | 22 | return *p 23 | } 24 | 25 | // ToInt64 returns int value if the pointer is not nil. 26 | // Returns a int64 zero value if the pointer is nil. 27 | func ToInt64(p *int64) (v int64) { 28 | if p == nil { 29 | return v 30 | } 31 | 32 | return *p 33 | } 34 | 35 | // ToString returns bool value if the pointer is not nil. 36 | // Returns a string zero value if the pointer is nil. 37 | func ToString(p *string) (v string) { 38 | if p == nil { 39 | return v 40 | } 41 | 42 | return *p 43 | } 44 | 45 | // ToTime returns time.Time value if the pointer is not nil. 46 | // Returns a time.Time zero value if the pointer is nil. 47 | func ToTime(p *time.Time) (v time.Time) { 48 | if p == nil { 49 | return v 50 | } 51 | 52 | return *p 53 | } 54 | 55 | // ToDuration returns time.Duration value if the pointer is not nil. 56 | // Returns a time.Duration zero value if the pointer is nil. 57 | func ToDuration(p *time.Duration) (v time.Duration) { 58 | if p == nil { 59 | return v 60 | } 61 | 62 | return *p 63 | } 64 | -------------------------------------------------------------------------------- /oss/from_ptr_test.go: -------------------------------------------------------------------------------- 1 | package oss 2 | 3 | import ( 4 | "testing" 5 | "time" 6 | 7 | "github.com/stretchr/testify/assert" 8 | ) 9 | 10 | func TestFromPtr(t *testing.T) { 11 | assert.Equal(t, false, ToBool(nil)) 12 | assert.Equal(t, 0, ToInt(nil)) 13 | assert.Equal(t, "", ToString(nil)) 14 | assert.Equal(t, true, ToTime(nil).IsZero()) 15 | assert.Equal(t, time.Duration(0), ToDuration(nil)) 16 | 17 | assert.Equal(t, true, ToBool(Ptr(true))) 18 | assert.Equal(t, 10, ToInt(Ptr(10))) 19 | assert.Equal(t, "123", ToString(Ptr("123"))) 20 | now := time.Now() 21 | assert.Equal(t, now, ToTime(Ptr(now))) 22 | assert.Equal(t, 15*time.Second, ToDuration(Ptr(15*time.Second))) 23 | } 24 | -------------------------------------------------------------------------------- /oss/limiter.go: -------------------------------------------------------------------------------- 1 | package oss 2 | 3 | import ( 4 | "context" 5 | "time" 6 | 7 | "golang.org/x/time/rate" 8 | ) 9 | 10 | const ( 11 | BwTokenBucketSlotRx int = iota 12 | BwTokenBucketSlotTx 13 | BwTokenBucketSlots 14 | ) 15 | 16 | type BwTokenBucket struct { 17 | // Byte/S 18 | Bandwidth int64 19 | Limiter *rate.Limiter 20 | } 21 | 22 | type BwTokenBuckets [BwTokenBucketSlots]*BwTokenBucket 23 | 24 | func newBwTokenBucket(bandwidth int64) *BwTokenBucket { 25 | return &BwTokenBucket{ 26 | Bandwidth: bandwidth, 27 | Limiter: newEmptyTokenBucket(bandwidth), 28 | } 29 | } 30 | 31 | func newEmptyTokenBucket(bandwidth int64) *rate.Limiter { 32 | const defaultMaxBurstSize = 4 * 1024 * 1024 33 | maxBurstSize := (bandwidth * defaultMaxBurstSize) / (256 * 1024 * 1024) 34 | if maxBurstSize < defaultMaxBurstSize { 35 | maxBurstSize = defaultMaxBurstSize 36 | } 37 | tb := rate.NewLimiter(rate.Limit(bandwidth), int(maxBurstSize)) 38 | tb.AllowN(time.Now(), int(maxBurstSize)) 39 | return tb 40 | } 41 | 42 | func (tb *BwTokenBucket) LimitBandwidth(n int) { 43 | tb.Limiter.WaitN(context.Background(), n) 44 | } 45 | -------------------------------------------------------------------------------- /oss/progress.go: -------------------------------------------------------------------------------- 1 | package oss 2 | 3 | import "io" 4 | 5 | type ProgressFunc func(increment, transferred, total int64) 6 | 7 | type progressTracker struct { 8 | pr ProgressFunc 9 | written int64 10 | lwritten int64 // last written 11 | total int64 12 | } 13 | 14 | // NewProgress NewRequestProgress creates a tracker with progress reporting 15 | func NewProgress(pr ProgressFunc, total int64) io.Writer { 16 | return &progressTracker{ 17 | pr: pr, 18 | written: 0, 19 | lwritten: 0, 20 | total: total, 21 | } 22 | } 23 | 24 | func (p *progressTracker) Write(b []byte) (n int, err error) { 25 | n = len(b) 26 | p.written += int64(n) 27 | 28 | // Invokes the user's callback method to report progress 29 | if p.written > p.lwritten { 30 | p.pr(int64(n), p.written, p.total) 31 | } 32 | 33 | return 34 | } 35 | 36 | func (p *progressTracker) Reset() { 37 | p.lwritten = p.written 38 | p.written = 0 39 | } 40 | 41 | var _ RequestBodyTracker = (*progressTracker)(nil) 42 | -------------------------------------------------------------------------------- /oss/retry/retryer.go: -------------------------------------------------------------------------------- 1 | package retry 2 | 3 | import ( 4 | "fmt" 5 | "time" 6 | ) 7 | 8 | type Retryer interface { 9 | IsErrorRetryable(error) bool 10 | MaxAttempts() int 11 | RetryDelay(attempt int, opErr error) (time.Duration, error) 12 | } 13 | 14 | type NopRetryer struct{} 15 | 16 | func (NopRetryer) IsErrorRetryable(error) bool { return false } 17 | 18 | func (NopRetryer) MaxAttempts() int { return 1 } 19 | 20 | func (NopRetryer) RetryDelay(int, error) (time.Duration, error) { 21 | return 0, fmt.Errorf("not retrying any attempt errors") 22 | } 23 | -------------------------------------------------------------------------------- /oss/retry/standard.go: -------------------------------------------------------------------------------- 1 | package retry 2 | 3 | import ( 4 | "time" 5 | ) 6 | 7 | const ( 8 | DefaultMaxAttempts = 3 9 | DefaultMaxBackoff = 20 * time.Second 10 | DefaultBaseDelay = 200 * time.Millisecond 11 | ) 12 | 13 | var DefaultErrorRetryables = []ErrorRetryable{ 14 | &HTTPStatusCodeRetryable{}, 15 | &ServiceErrorCodeRetryable{}, 16 | &ConnectionErrorRetryable{}, 17 | } 18 | 19 | type Standard struct { 20 | maxAttempts int 21 | retryables []ErrorRetryable 22 | backoff BackoffDelayer 23 | } 24 | 25 | func NewStandard(fnOpts ...func(*RetryOptions)) *Standard { 26 | o := RetryOptions{ 27 | MaxAttempts: DefaultMaxAttempts, 28 | MaxBackoff: DefaultMaxBackoff, 29 | BaseDelay: DefaultBaseDelay, 30 | ErrorRetryables: DefaultErrorRetryables, 31 | } 32 | 33 | for _, fn := range fnOpts { 34 | fn(&o) 35 | } 36 | 37 | if o.MaxAttempts <= 0 { 38 | o.MaxAttempts = DefaultMaxAttempts 39 | } 40 | 41 | if o.BaseDelay <= 0 { 42 | o.BaseDelay = DefaultBaseDelay 43 | } 44 | 45 | if o.Backoff == nil { 46 | o.Backoff = NewFullJitterBackoff(o.BaseDelay, o.MaxBackoff) 47 | } 48 | 49 | return &Standard{ 50 | maxAttempts: o.MaxAttempts, 51 | retryables: o.ErrorRetryables, 52 | backoff: o.Backoff, 53 | } 54 | } 55 | 56 | func (s *Standard) MaxAttempts() int { 57 | return s.maxAttempts 58 | } 59 | 60 | func (s *Standard) IsErrorRetryable(err error) bool { 61 | for _, re := range s.retryables { 62 | if v := re.IsErrorRetryable(err); v { 63 | return v 64 | } 65 | } 66 | return false 67 | } 68 | 69 | func (s *Standard) RetryDelay(attempt int, err error) (time.Duration, error) { 70 | return s.backoff.BackoffDelay(attempt, err) 71 | } 72 | -------------------------------------------------------------------------------- /oss/retry/types.go: -------------------------------------------------------------------------------- 1 | package retry 2 | 3 | import "time" 4 | 5 | type RetryOptions struct { 6 | MaxAttempts int 7 | MaxBackoff time.Duration 8 | BaseDelay time.Duration 9 | Backoff BackoffDelayer 10 | ErrorRetryables []ErrorRetryable 11 | } 12 | 13 | type BackoffDelayer interface { 14 | BackoffDelay(attempt int, err error) (time.Duration, error) 15 | } 16 | 17 | type ErrorRetryable interface { 18 | IsErrorRetryable(error) bool 19 | } 20 | -------------------------------------------------------------------------------- /oss/signer/signer.go: -------------------------------------------------------------------------------- 1 | package signer 2 | 3 | import ( 4 | "context" 5 | "net/http" 6 | "time" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 9 | ) 10 | 11 | const ( 12 | SubResource = "SubResource" 13 | SignTime = "SignTime" 14 | ) 15 | 16 | type SigningContext struct { 17 | //input 18 | Product *string 19 | Region *string 20 | Bucket *string 21 | Key *string 22 | Request *http.Request 23 | 24 | SubResource []string 25 | AdditionalHeaders []string 26 | 27 | Credentials *credentials.Credentials 28 | 29 | AuthMethodQuery bool 30 | 31 | // input and output 32 | Time time.Time 33 | ClockOffset time.Duration 34 | 35 | // output 36 | SignedHeaders map[string]string 37 | StringToSign string 38 | 39 | // for test 40 | signTime *time.Time 41 | } 42 | 43 | type Signer interface { 44 | Sign(ctx context.Context, signingCtx *SigningContext) error 45 | } 46 | 47 | type NopSigner struct{} 48 | 49 | func (*NopSigner) Sign(ctx context.Context, signingCtx *SigningContext) error { 50 | return nil 51 | } 52 | -------------------------------------------------------------------------------- /oss/to_ptr.go: -------------------------------------------------------------------------------- 1 | package oss 2 | 3 | // Ptr returns a pointer to the provided value. 4 | func Ptr[T any](v T) *T { 5 | return &v 6 | } 7 | 8 | // SliceOfPtrs returns a slice of *T from the specified values. 9 | func SliceOfPtrs[T any](vv ...T) []*T { 10 | slc := make([]*T, len(vv)) 11 | for i := range vv { 12 | slc[i] = Ptr(vv[i]) 13 | } 14 | return slc 15 | } 16 | -------------------------------------------------------------------------------- /oss/to_ptr_test.go: -------------------------------------------------------------------------------- 1 | package oss 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/stretchr/testify/assert" 7 | ) 8 | 9 | func TestPtr(t *testing.T) { 10 | b := true 11 | pb := Ptr(b) 12 | assert.NotNil(t, pb) 13 | assert.Equal(t, b, *pb) 14 | } 15 | 16 | func TestSliceOfPtrs(t *testing.T) { 17 | arr := SliceOfPtrs[int]() 18 | assert.Equal(t, len(arr), 0) 19 | arr = SliceOfPtrs(1, 2, 3, 4, 5) 20 | for i, v := range arr { 21 | assert.Equal(t, i+1, *v) 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /oss/types_test.go: -------------------------------------------------------------------------------- 1 | package oss 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/stretchr/testify/assert" 7 | ) 8 | 9 | func TestOperationMetadata(t *testing.T) { 10 | m := OperationMetadata{} 11 | m.Get("key") 12 | assert.Nil(t, m.Get("key")) 13 | 14 | m.Set("key", "value") 15 | assert.Equal(t, "value", m.Get("key")) 16 | 17 | m.Add("key", "value2") 18 | assert.Equal(t, "value", m.Get("key")) 19 | vs := m.Values("key") 20 | assert.Len(t, vs, 2) 21 | assert.Equal(t, "value", vs[0]) 22 | assert.Equal(t, "value2", vs[1]) 23 | 24 | m.Set("key", "value3") 25 | assert.Equal(t, "value3", m.Get("key")) 26 | assert.Len(t, m.Values("key"), 1) 27 | 28 | assert.True(t, m.Has("key")) 29 | assert.False(t, m.Has("key1")) 30 | 31 | m.Add("key1", "value1-1") 32 | assert.True(t, m.Has("key")) 33 | assert.True(t, m.Has("key1")) 34 | 35 | m = OperationMetadata{} 36 | m.Add("key", "value") 37 | m.Add("key1", "value1") 38 | 39 | cm := m.Clone() 40 | 41 | assert.True(t, cm.Has("key")) 42 | assert.True(t, cm.Has("key1")) 43 | 44 | cm.Set("key2", "value2") 45 | 46 | assert.True(t, cm.Has("key")) 47 | assert.True(t, cm.Has("key1")) 48 | assert.True(t, cm.Has("key2")) 49 | 50 | assert.True(t, m.Has("key")) 51 | assert.True(t, m.Has("key1")) 52 | assert.False(t, m.Has("key2")) 53 | 54 | ms := m 55 | ms.Set("key2", "value2") 56 | assert.True(t, m.Has("key")) 57 | assert.True(t, m.Has("key1")) 58 | assert.True(t, m.Has("key2")) 59 | } 60 | -------------------------------------------------------------------------------- /oss/utils_crc_test.go: -------------------------------------------------------------------------------- 1 | package oss 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/stretchr/testify/assert" 7 | ) 8 | 9 | func TestCRC64(t *testing.T) { 10 | // hash first part 11 | d := "123456789" 12 | c := NewCRC64(0) 13 | c.Write([]byte(d)) 14 | sum := c.Sum64() 15 | assert.Equal(t, uint64(0x995dc9bbdf1939fa), sum) 16 | 17 | // hash second part 18 | d1 := "This is a test of the emergency broadcast system." 19 | c = NewCRC64(0) 20 | c.Write([]byte(d1)) 21 | sum1 := c.Sum64() 22 | assert.Equal(t, uint64(0x27db187fc15bbc72), sum1) 23 | 24 | //combine 25 | d2 := d + d1 26 | c = NewCRC64(0) 27 | c.Write([]byte(d2)) 28 | sum2 := c.Sum64() 29 | 30 | csum := CRC64Combine(sum, sum1, uint64(len(d1))) 31 | assert.Equal(t, sum2, csum) 32 | 33 | // init from first part 34 | c = NewCRC64(sum) 35 | c.Write([]byte(d1)) 36 | assert.Equal(t, sum2, c.Sum64()) 37 | 38 | //reset 39 | c = NewCRC64(sum) 40 | c.Write([]byte(d)) 41 | assert.NotEqual(t, sum2, c.Sum64()) 42 | c.Reset() 43 | c.Write([]byte(d1)) 44 | assert.Equal(t, sum2, c.Sum64()) 45 | } 46 | -------------------------------------------------------------------------------- /oss/utils_mime_test.go: -------------------------------------------------------------------------------- 1 | package oss 2 | 3 | import ( 4 | "testing" 5 | 6 | "github.com/stretchr/testify/assert" 7 | ) 8 | 9 | func TestTypeByExtension(t *testing.T) { 10 | filePath := "demo.html" 11 | typ := TypeByExtension(filePath) 12 | assert.Equal(t, "text/html", typ) 13 | 14 | filePath = "demo.htm" 15 | typ = TypeByExtension(filePath) 16 | assert.Equal(t, "text/html", typ) 17 | 18 | filePath = "demo.txt" 19 | typ = TypeByExtension(filePath) 20 | assert.Equal(t, "text/plain", typ) 21 | 22 | filePath = "demo" 23 | typ = TypeByExtension(filePath) 24 | assert.Equal(t, "", typ) 25 | } 26 | -------------------------------------------------------------------------------- /oss/validation.go: -------------------------------------------------------------------------------- 1 | package oss 2 | 3 | import ( 4 | "net/url" 5 | "strings" 6 | ) 7 | 8 | func isValidRegion(region string) bool { 9 | for _, v := range region { 10 | if !(('a' <= v && v <= 'z') || ('0' <= v && v <= '9') || v == '-') { 11 | return false 12 | } 13 | } 14 | return region != "" 15 | } 16 | 17 | func isValidEndpoint(endpoint *url.URL) bool { 18 | return (endpoint != nil) 19 | } 20 | 21 | func isValidBucketName(bucketName *string) bool { 22 | if bucketName == nil { 23 | return false 24 | } 25 | 26 | nameLen := len(*bucketName) 27 | if nameLen < 3 || nameLen > 63 { 28 | return false 29 | } 30 | 31 | if (*bucketName)[0] == '-' || (*bucketName)[nameLen-1] == '-' { 32 | return false 33 | } 34 | 35 | for _, v := range *bucketName { 36 | if !(('a' <= v && v <= 'z') || ('0' <= v && v <= '9') || v == '-') { 37 | return false 38 | } 39 | } 40 | return true 41 | } 42 | 43 | func isValidObjectName(objectName *string) bool { 44 | if objectName == nil || len(*objectName) == 0 { 45 | return false 46 | } 47 | return true 48 | } 49 | 50 | func isValidRange(r *string) bool { 51 | if _, err := ParseRange(*r); err != nil { 52 | return false 53 | } 54 | return true 55 | } 56 | 57 | var supportedMethod = map[string]struct{}{ 58 | "GET": {}, 59 | "PUT": {}, 60 | "HEAD": {}, 61 | "POST": {}, 62 | "DELETE": {}, 63 | "OPTIONS": {}, 64 | } 65 | 66 | func isValidMethod(method string) bool { 67 | if _, ok := supportedMethod[method]; ok { 68 | return true 69 | } 70 | return false 71 | } 72 | 73 | var supportedCopyDirective = map[string]struct{}{ 74 | "COPY": {}, 75 | "REPLACE": {}, 76 | } 77 | 78 | func isValidCopyDirective(value string) bool { 79 | upper := strings.ToUpper(value) 80 | if _, ok := supportedCopyDirective[upper]; ok { 81 | return true 82 | } 83 | return false 84 | } 85 | -------------------------------------------------------------------------------- /oss/version.go: -------------------------------------------------------------------------------- 1 | package oss 2 | 3 | import ( 4 | "bytes" 5 | "fmt" 6 | "sync" 7 | ) 8 | 9 | const ( 10 | major = "1" 11 | minor = "2" 12 | patch = "2" 13 | tag = "" 14 | 15 | SdkName = "alibabacloud-go-sdk-v2" 16 | ) 17 | 18 | var once sync.Once 19 | var version string 20 | 21 | func Version() string { 22 | once.Do(func() { 23 | ver := fmt.Sprintf("%s.%s.%s", major, minor, patch) 24 | verBuilder := bytes.NewBufferString(ver) 25 | if tag != "" && tag != "-" { 26 | _, err := verBuilder.WriteString(tag) 27 | if err != nil { 28 | verBuilder = bytes.NewBufferString(ver) 29 | } 30 | } 31 | version = verBuilder.String() 32 | }) 33 | return version 34 | } 35 | -------------------------------------------------------------------------------- /sample/abort_bucket_worm.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.AbortBucketWormRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.AbortBucketWorm(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to abort bucket worm %v", err) 46 | } 47 | 48 | log.Printf("abort bucket worm result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/abort_multipart_upload.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | var ( 27 | uploadId = "your upload id" 28 | ) 29 | if len(bucketName) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, bucket name required") 32 | } 33 | 34 | if len(region) == 0 { 35 | flag.PrintDefaults() 36 | log.Fatalf("invalid parameters, region required") 37 | } 38 | 39 | if len(objectName) == 0 { 40 | flag.PrintDefaults() 41 | log.Fatalf("invalid parameters, object name required") 42 | } 43 | 44 | cfg := oss.LoadDefaultConfig(). 45 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 46 | WithRegion(region) 47 | 48 | client := oss.NewClient(cfg) 49 | 50 | request := &oss.AbortMultipartUploadRequest{ 51 | Bucket: oss.Ptr(bucketName), 52 | Key: oss.Ptr(objectName), 53 | UploadId: oss.Ptr(uploadId), 54 | } 55 | result, err := client.AbortMultipartUpload(context.TODO(), request) 56 | if err != nil { 57 | log.Fatalf("failed to abort multipart upload %v", err) 58 | } 59 | log.Printf("abort multipart upload result:%#v\n", result) 60 | } 61 | -------------------------------------------------------------------------------- /sample/append_file.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(bucketName) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, bucket name required") 29 | } 30 | 31 | if len(region) == 0 { 32 | flag.PrintDefaults() 33 | log.Fatalf("invalid parameters, region required") 34 | } 35 | 36 | if len(objectName) == 0 { 37 | flag.PrintDefaults() 38 | log.Fatalf("invalid parameters, object name required") 39 | } 40 | 41 | cfg := oss.LoadDefaultConfig(). 42 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 43 | WithRegion(region) 44 | 45 | client := oss.NewClient(cfg) 46 | af, err := client.AppendFile(context.TODO(), bucketName, objectName) 47 | if err != nil { 48 | log.Fatalf("failed to append file %v", err) 49 | } 50 | log.Printf("append file af:%#v\n", af) 51 | n, err := af.Write([]byte("hi, append file")) 52 | if err != nil { 53 | log.Fatalf("failed to af write %v", err) 54 | } 55 | log.Printf("af write n:%#v\n", n) 56 | } 57 | -------------------------------------------------------------------------------- /sample/append_object.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | "strings" 8 | 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 10 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 11 | ) 12 | 13 | var ( 14 | region string 15 | bucketName string 16 | objectName string 17 | ) 18 | 19 | func init() { 20 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 21 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 22 | flag.StringVar(&objectName, "object", "", "The name of the object.") 23 | } 24 | 25 | func main() { 26 | flag.Parse() 27 | var ( 28 | position = int64(0) 29 | ) 30 | if len(bucketName) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, bucket name required") 33 | } 34 | 35 | if len(region) == 0 { 36 | flag.PrintDefaults() 37 | log.Fatalf("invalid parameters, region required") 38 | } 39 | 40 | if len(objectName) == 0 { 41 | flag.PrintDefaults() 42 | log.Fatalf("invalid parameters, object name required") 43 | } 44 | 45 | cfg := oss.LoadDefaultConfig(). 46 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 47 | WithRegion(region) 48 | 49 | client := oss.NewClient(cfg) 50 | 51 | request := &oss.AppendObjectRequest{ 52 | Bucket: oss.Ptr(bucketName), 53 | Key: oss.Ptr(objectName), 54 | Position: oss.Ptr(position), 55 | Body: strings.NewReader("hi append object"), 56 | } 57 | result, err := client.AppendObject(context.TODO(), request) 58 | if err != nil { 59 | log.Fatalf("failed to append object %v", err) 60 | } 61 | log.Printf("append object result:%#v\n", result) 62 | } 63 | -------------------------------------------------------------------------------- /sample/clean_restored_object.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 7 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 8 | "log" 9 | ) 10 | 11 | var ( 12 | region string 13 | bucketName string 14 | objectName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | flag.StringVar(&objectName, "object", "", "The name of the object.") 21 | } 22 | 23 | func main() { 24 | flag.Parse() 25 | if len(region) == 0 { 26 | flag.PrintDefaults() 27 | log.Fatalf("invalid parameters, region required") 28 | } 29 | if len(bucketName) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, bucket name required") 32 | } 33 | if len(objectName) == 0 { 34 | flag.PrintDefaults() 35 | log.Fatalf("invalid parameters, object name required") 36 | } 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | client := oss.NewClient(cfg) 41 | request := &oss.CleanRestoredObjectRequest{ 42 | Bucket: oss.Ptr(bucketName), 43 | Key: oss.Ptr(objectName), 44 | } 45 | result, err := client.CleanRestoredObject(context.TODO(), request) 46 | if err != nil { 47 | log.Fatalf("failed to clean restored object %v", err) 48 | } 49 | log.Printf("clean restored object result:%#v\n", result) 50 | } 51 | -------------------------------------------------------------------------------- /sample/close_meta_query.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.CloseMetaQueryRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.CloseMetaQuery(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to close meta query %v", err) 46 | } 47 | log.Printf("close meta query result:%#v\n", result) 48 | } 49 | -------------------------------------------------------------------------------- /sample/complete_bucket_worm.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | var ( 24 | wormId = "worm id" 25 | ) 26 | flag.Parse() 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.CompleteBucketWormRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | WormId: oss.Ptr(wormId), 46 | } 47 | result, err := client.CompleteBucketWorm(context.TODO(), request) 48 | if err != nil { 49 | log.Fatalf("failed to complete bucket worm %v", err) 50 | } 51 | 52 | log.Printf("complete bucket worm result:%#v\n", result) 53 | } 54 | -------------------------------------------------------------------------------- /sample/create_access_point.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ( 25 | accessPointName = "access point name" 26 | ) 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.CreateAccessPointRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | CreateAccessPointConfiguration: &oss.CreateAccessPointConfiguration{ 46 | AccessPointName: oss.Ptr(accessPointName), 47 | NetworkOrigin: oss.Ptr("internet"), 48 | }, 49 | } 50 | result, err := client.CreateAccessPoint(context.TODO(), request) 51 | if err != nil { 52 | log.Fatalf("failed to create access point %v", err) 53 | } 54 | 55 | log.Printf("create access point result:%#v\n", result) 56 | } 57 | -------------------------------------------------------------------------------- /sample/create_bucket_data_redundancy_transition.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.CreateBucketDataRedundancyTransitionRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | TargetRedundancyType: oss.Ptr("ZRS"), 43 | } 44 | result, err := client.CreateBucketDataRedundancyTransition(context.TODO(), request) 45 | if err != nil { 46 | log.Fatalf("failed to create bucket data redundancy transition %v", err) 47 | } 48 | 49 | log.Printf("create bucket data redundancy transition result:%#v\n", result) 50 | } 51 | -------------------------------------------------------------------------------- /sample/create_cname_token.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.CreateCnameTokenRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | BucketCnameConfiguration: &oss.BucketCnameConfiguration{ 43 | Domain: oss.Ptr("example.com"), 44 | }, 45 | } 46 | result, err := client.CreateCnameToken(context.TODO(), request) 47 | if err != nil { 48 | log.Fatalf("failed to create bucket cname token %v", err) 49 | } 50 | 51 | log.Printf("create bucket cname token result:%#v\n", result) 52 | } 53 | -------------------------------------------------------------------------------- /sample/create_select_object_meta.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(bucketName) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, bucket name required") 29 | } 30 | 31 | if len(region) == 0 { 32 | flag.PrintDefaults() 33 | log.Fatalf("invalid parameters, region required") 34 | } 35 | 36 | if len(objectName) == 0 { 37 | flag.PrintDefaults() 38 | log.Fatalf("invalid parameters, object name required") 39 | } 40 | 41 | cfg := oss.LoadDefaultConfig(). 42 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 43 | WithRegion(region) 44 | 45 | client := oss.NewClient(cfg) 46 | 47 | request := &oss.CreateSelectObjectMetaRequest{ 48 | Bucket: oss.Ptr(bucketName), 49 | Key: oss.Ptr(objectName), 50 | MetaRequest: &oss.CsvMetaRequest{ 51 | OverwriteIfExists: oss.Ptr(true), 52 | }, 53 | } 54 | 55 | result, err := client.CreateSelectObjectMeta(context.TODO(), request) 56 | if err != nil { 57 | log.Fatalf("failed to create select object meta %v", err) 58 | } 59 | log.Printf("create select object meta result:%#v\n", result) 60 | } 61 | -------------------------------------------------------------------------------- /sample/delete_access_point.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ( 25 | accessPointName = "access point name" 26 | ) 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.DeleteAccessPointRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | AccessPointName: oss.Ptr(accessPointName), 46 | } 47 | result, err := client.DeleteAccessPoint(context.TODO(), request) 48 | if err != nil { 49 | log.Fatalf("failed to delete access point %v", err) 50 | } 51 | log.Printf("delete access point result:%#v\n", result) 52 | } 53 | -------------------------------------------------------------------------------- /sample/delete_access_point_for_object_process.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ( 25 | objectProcessName = "access point for object process name" 26 | ) 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.DeleteAccessPointForObjectProcessRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | AccessPointForObjectProcessName: oss.Ptr(objectProcessName), 46 | } 47 | result, err := client.DeleteAccessPointForObjectProcess(context.TODO(), request) 48 | if err != nil { 49 | log.Fatalf("failed to delete access point for object process %v", err) 50 | } 51 | 52 | log.Printf("delete access point for object process result:%#v\n", result) 53 | } 54 | -------------------------------------------------------------------------------- /sample/delete_access_point_policy.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ( 25 | accessPointName = "access point name" 26 | ) 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.DeleteAccessPointPolicyRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | AccessPointName: oss.Ptr(accessPointName), 46 | } 47 | result, err := client.DeleteAccessPointPolicy(context.TODO(), request) 48 | if err != nil { 49 | log.Fatalf("failed to delete access point policy %v", err) 50 | } 51 | log.Printf("delete access point policy result:%#v\n", result) 52 | } 53 | -------------------------------------------------------------------------------- /sample/delete_access_point_policy_for_object_process.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ( 25 | objectProcessName = "access point for object process name" 26 | ) 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.DeleteAccessPointForObjectProcessRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | AccessPointForObjectProcessName: oss.Ptr(objectProcessName), 46 | } 47 | result, err := client.DeleteAccessPointForObjectProcess(context.TODO(), request) 48 | if err != nil { 49 | log.Fatalf("failed to delete access point policy for object process %v", err) 50 | } 51 | 52 | log.Printf("delete access point policy for object process result:%#v\n", result) 53 | } 54 | -------------------------------------------------------------------------------- /sample/delete_access_point_public_access_block.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ( 25 | accessPointName = "access point name" 26 | ) 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.DeleteAccessPointPublicAccessBlockRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | AccessPointName: oss.Ptr(accessPointName), 46 | } 47 | putResult, err := client.DeleteAccessPointPublicAccessBlock(context.TODO(), request) 48 | if err != nil { 49 | log.Fatalf("failed to delete access point public access block %v", err) 50 | } 51 | 52 | log.Printf("delete access point public access block result:%#v\n", putResult) 53 | } 54 | -------------------------------------------------------------------------------- /sample/delete_bucket.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.DeleteBucketRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.DeleteBucket(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to delete bucket %v", err) 46 | } 47 | log.Printf("delete bucket result:%#v\n", result) 48 | } 49 | -------------------------------------------------------------------------------- /sample/delete_bucket_cors.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.DeleteBucketCorsRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.DeleteBucketCors(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to delete bucket cors %v", err) 46 | } 47 | 48 | log.Printf("delete bucket cors result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/delete_bucket_data_redundancy_transition.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var id = "your bucket data redundancy transition task id" 25 | if len(bucketName) == 0 { 26 | flag.PrintDefaults() 27 | log.Fatalf("invalid parameters, bucket name required") 28 | } 29 | 30 | if len(region) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, region required") 33 | } 34 | 35 | cfg := oss.LoadDefaultConfig(). 36 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 37 | WithRegion(region) 38 | 39 | client := oss.NewClient(cfg) 40 | 41 | request := &oss.DeleteBucketDataRedundancyTransitionRequest{ 42 | Bucket: oss.Ptr(bucketName), 43 | RedundancyTransitionTaskid: oss.Ptr(id), 44 | } 45 | result, err := client.DeleteBucketDataRedundancyTransition(context.TODO(), request) 46 | if err != nil { 47 | log.Fatalf("failed to delete bucket data redundancy transition %v", err) 48 | } 49 | 50 | log.Printf("delete bucket data redundancy transition result:%#v\n", result) 51 | } 52 | -------------------------------------------------------------------------------- /sample/delete_bucket_encryption.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.DeleteBucketEncryptionRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.DeleteBucketEncryption(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to delete bucket encryption %v", err) 46 | } 47 | 48 | log.Printf("delete bucket encryption result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/delete_bucket_inventory.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var inventoryId = "inventory id" 25 | if len(bucketName) == 0 { 26 | flag.PrintDefaults() 27 | log.Fatalf("invalid parameters, bucket name required") 28 | } 29 | 30 | if len(region) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, region required") 33 | } 34 | 35 | cfg := oss.LoadDefaultConfig(). 36 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 37 | WithRegion(region) 38 | 39 | client := oss.NewClient(cfg) 40 | 41 | request := &oss.DeleteBucketInventoryRequest{ 42 | Bucket: oss.Ptr(bucketName), 43 | InventoryId: oss.Ptr(inventoryId), 44 | } 45 | result, err := client.DeleteBucketInventory(context.TODO(), request) 46 | if err != nil { 47 | log.Fatalf("failed to delete bucket inventory %v", err) 48 | } 49 | 50 | log.Printf("delete bucket inventory result:%#v\n", result) 51 | } 52 | -------------------------------------------------------------------------------- /sample/delete_bucket_lifecycle.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.DeleteBucketLifecycleRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.DeleteBucketLifecycle(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to delete bucket lifecycle %v", err) 46 | } 47 | 48 | log.Printf("delete bucket lifecycle result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/delete_bucket_logging.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | delRequest := &oss.DeleteBucketLoggingRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | delResult, err := client.DeleteBucketLogging(context.TODO(), delRequest) 44 | if err != nil { 45 | log.Fatalf("failed to delete bucket logging %v", err) 46 | } 47 | 48 | log.Printf("delete bucket logging result:%#v\n", delResult) 49 | } 50 | -------------------------------------------------------------------------------- /sample/delete_bucket_policy.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.DeleteBucketPolicyRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.DeleteBucketPolicy(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to delete bucket policy %v", err) 46 | } 47 | 48 | log.Printf("delete bucket policy result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/delete_bucket_public_access_block.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.DeleteBucketPublicAccessBlockRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.DeleteBucketPublicAccessBlock(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to delete bucket public access block %v", err) 46 | } 47 | 48 | log.Printf("delete bucket public access block result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/delete_bucket_replication.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ruleId = "replication id" 25 | if len(bucketName) == 0 { 26 | flag.PrintDefaults() 27 | log.Fatalf("invalid parameters, bucket name required") 28 | } 29 | 30 | if len(region) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, region required") 33 | } 34 | 35 | cfg := oss.LoadDefaultConfig(). 36 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 37 | WithRegion(region) 38 | 39 | client := oss.NewClient(cfg) 40 | 41 | request := &oss.DeleteBucketReplicationRequest{ 42 | Bucket: oss.Ptr(bucketName), 43 | ReplicationRules: &oss.ReplicationRules{ 44 | []string{ruleId}, 45 | }, 46 | } 47 | result, err := client.DeleteBucketReplication(context.TODO(), request) 48 | if err != nil { 49 | log.Fatalf("failed to delete bucket replication %v", err) 50 | } 51 | 52 | log.Printf("delete bucket replication result:%#v\n", result) 53 | } 54 | -------------------------------------------------------------------------------- /sample/delete_bucket_style.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var styleName = "style name" 25 | if len(bucketName) == 0 { 26 | flag.PrintDefaults() 27 | log.Fatalf("invalid parameters, bucket name required") 28 | } 29 | 30 | if len(region) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, region required") 33 | } 34 | 35 | cfg := oss.LoadDefaultConfig(). 36 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 37 | WithRegion(region) 38 | 39 | client := oss.NewClient(cfg) 40 | 41 | request := &oss.DeleteStyleRequest{ 42 | Bucket: oss.Ptr(bucketName), 43 | StyleName: oss.Ptr(styleName), 44 | } 45 | result, err := client.DeleteStyle(context.TODO(), request) 46 | if err != nil { 47 | log.Fatalf("failed to delete bucket style %v", err) 48 | } 49 | 50 | log.Printf("delete bucket style result:%#v\n", result) 51 | } 52 | -------------------------------------------------------------------------------- /sample/delete_bucket_tags.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.DeleteBucketTagsRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.DeleteBucketTags(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to delete bucket tags %v", err) 46 | } 47 | 48 | log.Printf("delete bucket tags result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/delete_bucket_website.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.DeleteBucketWebsiteRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.DeleteBucketWebsite(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to delete bucket website %v", err) 46 | } 47 | 48 | log.Printf("delete bucket website result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/delete_cname.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.DeleteCnameRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | BucketCnameConfiguration: &oss.BucketCnameConfiguration{ 43 | Domain: oss.Ptr("example.com"), 44 | }, 45 | } 46 | result, err := client.DeleteCname(context.TODO(), request) 47 | if err != nil { 48 | log.Fatalf("failed to delete bucket cname %v", err) 49 | } 50 | 51 | log.Printf("delete bucket cname result:%#v\n", result) 52 | } 53 | -------------------------------------------------------------------------------- /sample/delete_mutiple_objects.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | "strings" 8 | 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 10 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 11 | ) 12 | 13 | var ( 14 | region string 15 | bucketName string 16 | objects string 17 | ) 18 | 19 | func init() { 20 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 21 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 22 | flag.StringVar(&objects, "objects", "", "The name of the objects.") 23 | } 24 | 25 | func main() { 26 | flag.Parse() 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | if len(objects) == 0 { 38 | flag.PrintDefaults() 39 | log.Fatalf("invalid parameters, objects name required") 40 | } 41 | cfg := oss.LoadDefaultConfig(). 42 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 43 | WithRegion(region) 44 | client := oss.NewClient(cfg) 45 | var DeleteObjects []oss.DeleteObject 46 | objectSlice := strings.Split(objects, ",") 47 | for _, name := range objectSlice { 48 | DeleteObjects = append(DeleteObjects, oss.DeleteObject{Key: oss.Ptr(name)}) 49 | } 50 | request := &oss.DeleteMultipleObjectsRequest{ 51 | Bucket: oss.Ptr(bucketName), 52 | Objects: DeleteObjects, 53 | } 54 | result, err := client.DeleteMultipleObjects(context.TODO(), request) 55 | if err != nil { 56 | log.Fatalf("failed to delete multiple objects %v", err) 57 | } 58 | log.Printf("delete multiple objects result:%#v\n", result) 59 | } 60 | -------------------------------------------------------------------------------- /sample/delete_object.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(bucketName) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, bucket name required") 29 | } 30 | 31 | if len(region) == 0 { 32 | flag.PrintDefaults() 33 | log.Fatalf("invalid parameters, region required") 34 | } 35 | 36 | if len(objectName) == 0 { 37 | flag.PrintDefaults() 38 | log.Fatalf("invalid parameters, object name required") 39 | } 40 | 41 | cfg := oss.LoadDefaultConfig(). 42 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 43 | WithRegion(region) 44 | 45 | client := oss.NewClient(cfg) 46 | 47 | request := &oss.DeleteObjectRequest{ 48 | Bucket: oss.Ptr(bucketName), 49 | Key: oss.Ptr(objectName), 50 | } 51 | result, err := client.DeleteObject(context.TODO(), request) 52 | if err != nil { 53 | log.Fatalf("failed to delete object %v", err) 54 | } 55 | log.Printf("delete object result:%#v\n", result) 56 | } 57 | -------------------------------------------------------------------------------- /sample/delete_object_tagging.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(bucketName) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, bucket name required") 29 | } 30 | 31 | if len(region) == 0 { 32 | flag.PrintDefaults() 33 | log.Fatalf("invalid parameters, region required") 34 | } 35 | 36 | if len(objectName) == 0 { 37 | flag.PrintDefaults() 38 | log.Fatalf("invalid parameters, object name required") 39 | } 40 | 41 | cfg := oss.LoadDefaultConfig(). 42 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 43 | WithRegion(region) 44 | 45 | client := oss.NewClient(cfg) 46 | 47 | request := &oss.DeleteObjectTaggingRequest{ 48 | Bucket: oss.Ptr(bucketName), 49 | Key: oss.Ptr(objectName), 50 | } 51 | result, err := client.DeleteObjectTagging(context.TODO(), request) 52 | if err != nil { 53 | log.Fatalf("failed to delete object tagging %v", err) 54 | } 55 | log.Printf("delete object tagging result:%#v\n", result) 56 | } 57 | -------------------------------------------------------------------------------- /sample/delete_public_access_block.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | ) 15 | 16 | func init() { 17 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 18 | } 19 | 20 | func main() { 21 | flag.Parse() 22 | if len(region) == 0 { 23 | flag.PrintDefaults() 24 | log.Fatalf("invalid parameters, region required") 25 | } 26 | 27 | cfg := oss.LoadDefaultConfig(). 28 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 29 | WithRegion(region) 30 | 31 | client := oss.NewClient(cfg) 32 | 33 | request := &oss.DeletePublicAccessBlockRequest{} 34 | result, err := client.DeletePublicAccessBlock(context.TODO(), request) 35 | if err != nil { 36 | log.Fatalf("failed to delete public access block %v", err) 37 | } 38 | 39 | log.Printf("delete public access block result:%#v\n", result) 40 | } 41 | -------------------------------------------------------------------------------- /sample/delete_user_defined_log_fields_config.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.DeleteUserDefinedLogFieldsConfigRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.DeleteUserDefinedLogFieldsConfig(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to delete user defined log fields config %v", err) 46 | } 47 | 48 | log.Printf("delete user defined log fields config result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/describe_regions.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | ) 15 | 16 | func init() { 17 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 18 | } 19 | 20 | func main() { 21 | flag.Parse() 22 | if len(region) == 0 { 23 | flag.PrintDefaults() 24 | log.Fatalf("invalid parameters, region required") 25 | } 26 | 27 | cfg := oss.LoadDefaultConfig(). 28 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 29 | WithRegion(region) 30 | 31 | client := oss.NewClient(cfg) 32 | result, err := client.DescribeRegions(context.TODO(), &oss.DescribeRegionsRequest{}) 33 | if err != nil { 34 | log.Fatalf("failed to describe regions %v", err) 35 | } 36 | log.Printf("describe regions result:%#v\n", result) 37 | } 38 | -------------------------------------------------------------------------------- /sample/enc-example.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-oss-go-sdk-v2/2485947b694382ad036f1fdec754b4b4868d5522/sample/enc-example.jpg -------------------------------------------------------------------------------- /sample/example.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyun/alibabacloud-oss-go-sdk-v2/2485947b694382ad036f1fdec754b4b4868d5522/sample/example.jpg -------------------------------------------------------------------------------- /sample/extent_bucket_worm.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | var ( 24 | wormId = "worm id" 25 | ) 26 | flag.Parse() 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.ExtendBucketWormRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | WormId: oss.Ptr(wormId), 46 | ExtendWormConfiguration: &oss.ExtendWormConfiguration{ 47 | oss.Ptr(int32(3)), 48 | }, 49 | } 50 | result, err := client.ExtendBucketWorm(context.TODO(), request) 51 | if err != nil { 52 | log.Fatalf("failed to extend bucket worm %v", err) 53 | } 54 | 55 | log.Printf("extend bucket worm result:%#v\n", result) 56 | } 57 | -------------------------------------------------------------------------------- /sample/get_access_point.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ( 25 | accessPointName = "access point name" 26 | ) 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.GetAccessPointRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | AccessPointName: oss.Ptr(accessPointName), 46 | } 47 | result, err := client.GetAccessPoint(context.TODO(), request) 48 | if err != nil { 49 | log.Fatalf("failed to get access point %v", err) 50 | } 51 | log.Printf("get access point result:%#v\n", result) 52 | } 53 | -------------------------------------------------------------------------------- /sample/get_access_point_config_for_object_process.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ( 25 | objectProcessName = "access point for object process name" 26 | ) 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.GetAccessPointConfigForObjectProcessRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | AccessPointForObjectProcessName: oss.Ptr(objectProcessName), 46 | } 47 | result, err := client.GetAccessPointConfigForObjectProcess(context.TODO(), request) 48 | if err != nil { 49 | log.Fatalf("failed to get access point config for object process %v", err) 50 | } 51 | 52 | log.Printf("get access point config for object process result:%#v\n", result) 53 | } 54 | -------------------------------------------------------------------------------- /sample/get_access_point_for_object_process.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ( 25 | objectProcessName = "access point for object process name" 26 | ) 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.GetAccessPointForObjectProcessRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | AccessPointForObjectProcessName: oss.Ptr(objectProcessName), 46 | } 47 | result, err := client.GetAccessPointForObjectProcess(context.TODO(), request) 48 | if err != nil { 49 | log.Fatalf("failed to get access point for object process %v", err) 50 | } 51 | 52 | log.Printf("get access point for object process result:%#v\n", result) 53 | } 54 | -------------------------------------------------------------------------------- /sample/get_access_point_policy.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var accessPointName = "access point name" 25 | if len(bucketName) == 0 { 26 | flag.PrintDefaults() 27 | log.Fatalf("invalid parameters, bucket name required") 28 | } 29 | 30 | if len(region) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, region required") 33 | } 34 | 35 | cfg := oss.LoadDefaultConfig(). 36 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 37 | WithRegion(region) 38 | 39 | client := oss.NewClient(cfg) 40 | 41 | request := &oss.GetAccessPointPolicyRequest{ 42 | Bucket: oss.Ptr(bucketName), 43 | AccessPointName: oss.Ptr(accessPointName), 44 | } 45 | result, err := client.GetAccessPointPolicy(context.TODO(), request) 46 | if err != nil { 47 | log.Fatalf("failed to get access point policy %v", err) 48 | } 49 | 50 | log.Printf("get access point policy result:%#v\n", result) 51 | } 52 | -------------------------------------------------------------------------------- /sample/get_access_point_policy_for_object_process.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ( 25 | objectProcessName = "access point for object process name" 26 | ) 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.GetAccessPointForObjectProcessRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | AccessPointForObjectProcessName: oss.Ptr(objectProcessName), 46 | } 47 | result, err := client.GetAccessPointForObjectProcess(context.TODO(), request) 48 | if err != nil { 49 | log.Fatalf("failed to get access point policy for object process %v", err) 50 | } 51 | 52 | log.Printf("get access point policy for object process result:%#v\n", result) 53 | } 54 | -------------------------------------------------------------------------------- /sample/get_access_point_public_access_block.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ( 25 | accessPointName = "access point name" 26 | ) 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.GetAccessPointPublicAccessBlockRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | AccessPointName: oss.Ptr(accessPointName), 46 | } 47 | putResult, err := client.GetAccessPointPublicAccessBlock(context.TODO(), request) 48 | if err != nil { 49 | log.Fatalf("failed to get access point public access block %v", err) 50 | } 51 | 52 | log.Printf("get access point public access block result:%#v\n", putResult) 53 | } 54 | -------------------------------------------------------------------------------- /sample/get_bucket_access_monitor.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketAccessMonitorRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.GetBucketAccessMonitor(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket access monitor %v", err) 46 | } 47 | 48 | log.Printf("get bucket access monitor result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_acl.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | getRequest := &oss.GetBucketAclRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | getResult, err := client.GetBucketAcl(context.TODO(), getRequest) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket acl %v", err) 46 | } 47 | log.Printf("get bucket acl result:%#v\n", getResult) 48 | } 49 | -------------------------------------------------------------------------------- /sample/get_bucket_archive_direct_read.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketArchiveDirectReadRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.GetBucketArchiveDirectRead(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket archive direct read %v", err) 46 | } 47 | 48 | log.Printf("get bucket archive direct read result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_cors.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketCorsRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | getResult, err := client.GetBucketCors(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket cors %v", err) 46 | } 47 | 48 | log.Printf("get bucket cors result:%#v\n", getResult) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_data_redundancy_transition.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var id = "your bucket data redundancy transition task id" 25 | if len(bucketName) == 0 { 26 | flag.PrintDefaults() 27 | log.Fatalf("invalid parameters, bucket name required") 28 | } 29 | 30 | if len(region) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, region required") 33 | } 34 | 35 | cfg := oss.LoadDefaultConfig(). 36 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 37 | WithRegion(region) 38 | 39 | client := oss.NewClient(cfg) 40 | 41 | request := &oss.GetBucketDataRedundancyTransitionRequest{ 42 | Bucket: oss.Ptr(bucketName), 43 | RedundancyTransitionTaskid: oss.Ptr(id), 44 | } 45 | result, err := client.GetBucketDataRedundancyTransition(context.TODO(), request) 46 | if err != nil { 47 | log.Fatalf("failed to get bucket data redundancy transition %v", err) 48 | } 49 | 50 | log.Printf("get bucket data redundancy transition result:%#v\n", result) 51 | } 52 | -------------------------------------------------------------------------------- /sample/get_bucket_encryption.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketEncryptionRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.GetBucketEncryption(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket encryption %v", err) 46 | } 47 | 48 | log.Printf("get bucket encryption result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_https_config.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketHttpsConfigRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.GetBucketHttpsConfig(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket https config %v", err) 46 | } 47 | 48 | log.Printf("get bucket https config result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_info.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The `name` of the bucket.") 20 | } 21 | 22 | // a example of showing how to get the bucket info. 23 | func main() { 24 | flag.Parse() 25 | if len(bucketName) == 0 { 26 | flag.PrintDefaults() 27 | log.Fatalf("invalid parameters, bucket name required") 28 | } 29 | 30 | if len(region) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, region required") 33 | } 34 | 35 | cfg := oss.LoadDefaultConfig(). 36 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 37 | WithRegion(region) 38 | 39 | client := oss.NewClient(cfg) 40 | 41 | request := &oss.GetBucketInfoRequest{ 42 | Bucket: oss.Ptr(bucketName), 43 | } 44 | result, err := client.GetBucketInfo(context.TODO(), request) 45 | 46 | if err != nil { 47 | log.Fatalf("failed to get bucket info %v", err) 48 | } 49 | // Print the result 50 | log.Printf("get bucket info result:%v\n", result) 51 | } 52 | -------------------------------------------------------------------------------- /sample/get_bucket_inventory.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var inventoryId = "inventory id" 25 | if len(bucketName) == 0 { 26 | flag.PrintDefaults() 27 | log.Fatalf("invalid parameters, bucket name required") 28 | } 29 | 30 | if len(region) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, region required") 33 | } 34 | 35 | cfg := oss.LoadDefaultConfig(). 36 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 37 | WithRegion(region) 38 | 39 | client := oss.NewClient(cfg) 40 | 41 | request := &oss.GetBucketInventoryRequest{ 42 | Bucket: oss.Ptr(bucketName), 43 | InventoryId: oss.Ptr(inventoryId), 44 | } 45 | result, err := client.GetBucketInventory(context.TODO(), request) 46 | if err != nil { 47 | log.Fatalf("failed to get bucket inventory %v", err) 48 | } 49 | 50 | log.Printf("get bucket inventory result:%#v\n", result) 51 | } 52 | -------------------------------------------------------------------------------- /sample/get_bucket_lifecycle.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketLifecycleRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.GetBucketLifecycle(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket lifecycle %v", err) 46 | } 47 | 48 | log.Printf("get bucket lifecycle result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_location.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The `name` of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketLocationRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | 44 | result, err := client.GetBucketLocation(context.TODO(), request) 45 | if err != nil { 46 | log.Fatalf("failed to get bucket localtion %v", err) 47 | } 48 | log.Printf("get bucket localtion result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_logging.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | getRequest := &oss.GetBucketLoggingRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | getResult, err := client.GetBucketLogging(context.TODO(), getRequest) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket logging %v", err) 46 | } 47 | 48 | log.Printf("get bucket logging result:%#v\n", getResult) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_policy.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketPolicyRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.GetBucketPolicy(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket policy %v", err) 46 | } 47 | 48 | log.Printf("get bucket policy result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_policy_status.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketPolicyStatusRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.GetBucketPolicyStatus(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket policy status %v", err) 46 | } 47 | 48 | log.Printf("get bucket policy status result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_public_access_block.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketPublicAccessBlockRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | getResult, err := client.GetBucketPublicAccessBlock(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket public access block %v", err) 46 | } 47 | 48 | log.Printf("get bucket public access block result:%#v\n", getResult) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_referer.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketRefererRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.GetBucketReferer(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket referer %v", err) 46 | } 47 | 48 | log.Printf("get bucket referer result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_replication.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketReplicationRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | getResult, err := client.GetBucketReplication(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket replication %v", err) 46 | } 47 | 48 | log.Printf("get bucket replication result:%#v\n", getResult) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_replication_location.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketReplicationLocationRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.GetBucketReplicationLocation(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket replication location %v", err) 46 | } 47 | 48 | log.Printf("get bucket replication location result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_replication_progress.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ruleId = "replication id" 25 | if len(bucketName) == 0 { 26 | flag.PrintDefaults() 27 | log.Fatalf("invalid parameters, bucket name required") 28 | } 29 | 30 | if len(region) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, region required") 33 | } 34 | 35 | cfg := oss.LoadDefaultConfig(). 36 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 37 | WithRegion(region) 38 | 39 | client := oss.NewClient(cfg) 40 | 41 | request := &oss.GetBucketReplicationProgressRequest{ 42 | Bucket: oss.Ptr(bucketName), 43 | RuleId: oss.Ptr(ruleId), 44 | } 45 | result, err := client.GetBucketReplicationProgress(context.TODO(), request) 46 | if err != nil { 47 | log.Fatalf("failed to get bucket replication progress %v", err) 48 | } 49 | 50 | log.Printf("get bucket replication progress result:%#v\n", result) 51 | } 52 | -------------------------------------------------------------------------------- /sample/get_bucket_request_payment.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | getRequest := &oss.GetBucketRequestPaymentRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | getResult, err := client.GetBucketRequestPayment(context.TODO(), getRequest) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket request payment %v", err) 46 | } 47 | 48 | log.Printf("get bucket request payment result:%#v\n", getResult) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_resource_group.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketResourceGroupRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.GetBucketResourceGroup(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket resource group %v", err) 46 | } 47 | 48 | log.Printf("get bucket resource group result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_stat.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The `name` of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketStatRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | 44 | result, err := client.GetBucketStat(context.TODO(), request) 45 | if err != nil { 46 | log.Fatalf("failed to get bucket stat %v", err) 47 | } 48 | log.Printf("get bucket stat result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_style.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var styleName = "style name" 25 | if len(bucketName) == 0 { 26 | flag.PrintDefaults() 27 | log.Fatalf("invalid parameters, bucket name required") 28 | } 29 | 30 | if len(region) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, region required") 33 | } 34 | 35 | cfg := oss.LoadDefaultConfig(). 36 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 37 | WithRegion(region) 38 | 39 | client := oss.NewClient(cfg) 40 | 41 | request := &oss.GetStyleRequest{ 42 | Bucket: oss.Ptr(bucketName), 43 | StyleName: oss.Ptr(styleName), 44 | } 45 | getResult, err := client.GetStyle(context.TODO(), request) 46 | if err != nil { 47 | log.Fatalf("failed to get bucket style %v", err) 48 | } 49 | 50 | log.Printf("get bucket style result:%#v\n", getResult) 51 | } 52 | -------------------------------------------------------------------------------- /sample/get_bucket_tags.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketTagsRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | getResult, err := client.GetBucketTags(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket tags %v", err) 46 | } 47 | 48 | log.Printf("get bucket tags result:%#v\n", getResult) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_transfer_acceleration.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketTransferAccelerationRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.GetBucketTransferAcceleration(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket transfer acceleration %v", err) 46 | } 47 | 48 | log.Printf("get bucket transfer acceleration result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_versioning.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | getRequest := &oss.GetBucketVersioningRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | getResult, err := client.GetBucketVersioning(context.TODO(), getRequest) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket versioning %v", err) 46 | } 47 | log.Printf("get bucket versioning result:%#v\n", getResult) 48 | } 49 | -------------------------------------------------------------------------------- /sample/get_bucket_website.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketWebsiteRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.GetBucketWebsite(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket website %v", err) 46 | } 47 | 48 | log.Printf("get bucket website result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_bucket_worm.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetBucketWormRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.GetBucketWorm(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get bucket worm %v", err) 46 | } 47 | 48 | log.Printf("get bucket worm result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_cname_token.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetCnameTokenRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | Cname: oss.Ptr("example.com"), 43 | } 44 | result, err := client.GetCnameToken(context.TODO(), request) 45 | if err != nil { 46 | log.Fatalf("failed to get bucket cname token %v", err) 47 | } 48 | log.Printf("get bucket cname token result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_meta_query_status.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.GetMetaQueryStatusRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.GetMetaQueryStatus(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to get meta query status %v", err) 46 | } 47 | 48 | log.Printf("get meta query status result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/get_object.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "io" 7 | "log" 8 | 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 10 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 11 | ) 12 | 13 | var ( 14 | region string 15 | bucketName string 16 | objectName string 17 | ) 18 | 19 | func init() { 20 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 21 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 22 | flag.StringVar(&objectName, "object", "", "The name of the object.") 23 | } 24 | 25 | func main() { 26 | flag.Parse() 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | if len(objectName) == 0 { 38 | flag.PrintDefaults() 39 | log.Fatalf("invalid parameters, object name required") 40 | } 41 | 42 | cfg := oss.LoadDefaultConfig(). 43 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 44 | WithRegion(region) 45 | 46 | client := oss.NewClient(cfg) 47 | 48 | request := &oss.GetObjectRequest{ 49 | Bucket: oss.Ptr(bucketName), 50 | Key: oss.Ptr(objectName), 51 | } 52 | result, err := client.GetObject(context.TODO(), request) 53 | if err != nil { 54 | log.Fatalf("failed to get object %v", err) 55 | } 56 | defer result.Body.Close() 57 | log.Printf("get object result:%#v\n", result) 58 | data, _ := io.ReadAll(result.Body) 59 | log.Printf("body:%s\n", data) 60 | } 61 | -------------------------------------------------------------------------------- /sample/get_object_acl.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(region) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, region required") 29 | } 30 | if len(bucketName) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, bucket name required") 33 | } 34 | if len(objectName) == 0 { 35 | flag.PrintDefaults() 36 | log.Fatalf("invalid parameters, object name required") 37 | } 38 | cfg := oss.LoadDefaultConfig(). 39 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 40 | WithRegion(region) 41 | client := oss.NewClient(cfg) 42 | getRequest := &oss.GetObjectAclRequest{ 43 | Bucket: oss.Ptr(bucketName), 44 | Key: oss.Ptr(objectName), 45 | } 46 | getResult, err := client.GetObjectAcl(context.TODO(), getRequest) 47 | if err != nil { 48 | log.Fatalf("failed to get object acl %v", err) 49 | } 50 | log.Printf("get object acl result:%#v\n", getResult) 51 | } 52 | -------------------------------------------------------------------------------- /sample/get_object_meta.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(bucketName) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, bucket name required") 29 | } 30 | 31 | if len(region) == 0 { 32 | flag.PrintDefaults() 33 | log.Fatalf("invalid parameters, region required") 34 | } 35 | 36 | if len(objectName) == 0 { 37 | flag.PrintDefaults() 38 | log.Fatalf("invalid parameters, object name required") 39 | } 40 | 41 | cfg := oss.LoadDefaultConfig(). 42 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 43 | WithRegion(region) 44 | 45 | client := oss.NewClient(cfg) 46 | 47 | request := &oss.GetObjectMetaRequest{ 48 | Bucket: oss.Ptr(bucketName), 49 | Key: oss.Ptr(objectName), 50 | } 51 | 52 | result, err := client.GetObjectMeta(context.TODO(), request) 53 | if err != nil { 54 | log.Fatalf("failed to get object meta %v", err) 55 | } 56 | log.Printf("get object meta result:%#v\n", result) 57 | } 58 | -------------------------------------------------------------------------------- /sample/get_object_tagging.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(region) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, region required") 29 | } 30 | if len(bucketName) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, bucket name required") 33 | } 34 | if len(objectName) == 0 { 35 | flag.PrintDefaults() 36 | log.Fatalf("invalid parameters, object name required") 37 | } 38 | cfg := oss.LoadDefaultConfig(). 39 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 40 | WithRegion(region) 41 | client := oss.NewClient(cfg) 42 | getRequest := &oss.GetObjectTaggingRequest{ 43 | Bucket: oss.Ptr(bucketName), 44 | Key: oss.Ptr(objectName), 45 | } 46 | getResult, err := client.GetObjectTagging(context.TODO(), getRequest) 47 | if err != nil { 48 | log.Fatalf("failed to get object tagging %v", err) 49 | } 50 | log.Printf("get object tagging result:%#v\n", getResult) 51 | } 52 | -------------------------------------------------------------------------------- /sample/get_object_to_file.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(bucketName) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, bucket name required") 29 | } 30 | 31 | if len(region) == 0 { 32 | flag.PrintDefaults() 33 | log.Fatalf("invalid parameters, region required") 34 | } 35 | 36 | if len(objectName) == 0 { 37 | flag.PrintDefaults() 38 | log.Fatalf("invalid parameters, object name required") 39 | } 40 | 41 | cfg := oss.LoadDefaultConfig(). 42 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 43 | WithRegion(region) 44 | 45 | client := oss.NewClient(cfg) 46 | 47 | localFile := "download.file" 48 | result, err := client.GetObjectToFile(context.TODO(), &oss.GetObjectRequest{ 49 | Bucket: oss.Ptr(bucketName), 50 | Key: oss.Ptr(objectName), 51 | }, localFile) 52 | if err != nil { 53 | log.Fatalf("failed to get object to file %v", err) 54 | } 55 | log.Printf("get object to file result:%#v\n", result) 56 | } 57 | -------------------------------------------------------------------------------- /sample/get_public_access_block.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | ) 15 | 16 | func init() { 17 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 18 | } 19 | 20 | func main() { 21 | flag.Parse() 22 | if len(region) == 0 { 23 | flag.PrintDefaults() 24 | log.Fatalf("invalid parameters, region required") 25 | } 26 | 27 | cfg := oss.LoadDefaultConfig(). 28 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 29 | WithRegion(region) 30 | 31 | client := oss.NewClient(cfg) 32 | 33 | request := &oss.GetPublicAccessBlockRequest{} 34 | getResult, err := client.GetPublicAccessBlock(context.TODO(), request) 35 | if err != nil { 36 | log.Fatalf("failed to get public access block %v", err) 37 | } 38 | 39 | log.Printf("get public access block result:%#v\n", getResult) 40 | } 41 | -------------------------------------------------------------------------------- /sample/get_symlink.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(region) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, region required") 29 | } 30 | if len(bucketName) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, bucket name required") 33 | } 34 | if len(objectName) == 0 { 35 | flag.PrintDefaults() 36 | log.Fatalf("invalid parameters, object name required") 37 | } 38 | cfg := oss.LoadDefaultConfig(). 39 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 40 | WithRegion(region) 41 | client := oss.NewClient(cfg) 42 | getRequest := &oss.GetSymlinkRequest{ 43 | Bucket: oss.Ptr(bucketName), 44 | Key: oss.Ptr(objectName), 45 | } 46 | getResult, err := client.GetSymlink(context.TODO(), getRequest) 47 | if err != nil { 48 | log.Fatalf("failed to get symlink %v", err) 49 | } 50 | log.Printf("get symlink result:%#v\n", getResult) 51 | } 52 | -------------------------------------------------------------------------------- /sample/get_user_defined_log_fields_config.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | getRequest := &oss.GetUserDefinedLogFieldsConfigRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | getResult, err := client.GetUserDefinedLogFieldsConfig(context.TODO(), getRequest) 44 | if err != nil { 45 | log.Fatalf("failed to get user defined log fields config %v", err) 46 | } 47 | 48 | log.Printf("get user defined log fields config result:%#v\n", getResult) 49 | } 50 | -------------------------------------------------------------------------------- /sample/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/aliyun/alibabacloud-oss-go-sdk-v2/sample 2 | 3 | go 1.18 4 | 5 | replace github.com/aliyun/alibabacloud-oss-go-sdk-v2 => ../ 6 | 7 | require github.com/aliyun/alibabacloud-oss-go-sdk-v2 v0.0.0-00010101000000-000000000000 8 | 9 | require golang.org/x/time v0.4.0 // indirect 10 | -------------------------------------------------------------------------------- /sample/go.sum: -------------------------------------------------------------------------------- 1 | github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= 2 | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= 3 | github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= 4 | golang.org/x/time v0.4.0 h1:Z81tqI5ddIoXDPvVQ7/7CC9TnLM7ubaFG2qXYd5BbYY= 5 | golang.org/x/time v0.4.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= 6 | gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= 7 | -------------------------------------------------------------------------------- /sample/head_object.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(bucketName) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, bucket name required") 29 | } 30 | 31 | if len(region) == 0 { 32 | flag.PrintDefaults() 33 | log.Fatalf("invalid parameters, region required") 34 | } 35 | 36 | if len(objectName) == 0 { 37 | flag.PrintDefaults() 38 | log.Fatalf("invalid parameters, object name required") 39 | } 40 | 41 | cfg := oss.LoadDefaultConfig(). 42 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 43 | WithRegion(region) 44 | 45 | client := oss.NewClient(cfg) 46 | 47 | request := &oss.HeadObjectRequest{ 48 | Bucket: oss.Ptr(bucketName), 49 | Key: oss.Ptr(objectName), 50 | } 51 | 52 | result, err := client.HeadObject(context.TODO(), request) 53 | if err != nil { 54 | log.Fatalf("failed to head object %v", err) 55 | } 56 | log.Printf("head object result:%#v\n", result) 57 | } 58 | -------------------------------------------------------------------------------- /sample/initiate_bucket_worm.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.InitiateBucketWormRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | InitiateWormConfiguration: &oss.InitiateWormConfiguration{ 43 | oss.Ptr(int32(3)), 44 | }, 45 | } 46 | result, err := client.InitiateBucketWorm(context.TODO(), request) 47 | if err != nil { 48 | log.Fatalf("failed to initiate bucket worm %v", err) 49 | } 50 | 51 | log.Printf("initiate bucket worm result:%#v\n", result) 52 | } 53 | -------------------------------------------------------------------------------- /sample/initiate_multipart_upload.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(bucketName) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, bucket name required") 29 | } 30 | 31 | if len(region) == 0 { 32 | flag.PrintDefaults() 33 | log.Fatalf("invalid parameters, region required") 34 | } 35 | 36 | if len(objectName) == 0 { 37 | flag.PrintDefaults() 38 | log.Fatalf("invalid parameters, object name required") 39 | } 40 | 41 | cfg := oss.LoadDefaultConfig(). 42 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 43 | WithRegion(region) 44 | 45 | client := oss.NewClient(cfg) 46 | initRequest := &oss.InitiateMultipartUploadRequest{ 47 | Bucket: oss.Ptr(bucketName), 48 | Key: oss.Ptr(objectName), 49 | } 50 | initResult, err := client.InitiateMultipartUpload(context.TODO(), initRequest) 51 | if err != nil { 52 | log.Fatalf("failed to initiate multipart upload %v", err) 53 | } 54 | log.Printf("initiate multipart upload result:%#v\n", initResult) 55 | } 56 | -------------------------------------------------------------------------------- /sample/is_bucket_exist.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | result, err := client.IsBucketExist(context.TODO(), bucketName) 40 | if err != nil { 41 | log.Fatalf("failed to is bucket exist %v", err) 42 | } 43 | log.Printf("is bucket exist:%#v\n", result) 44 | } 45 | -------------------------------------------------------------------------------- /sample/is_object_exist.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(bucketName) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, bucket name required") 29 | } 30 | 31 | if len(region) == 0 { 32 | flag.PrintDefaults() 33 | log.Fatalf("invalid parameters, region required") 34 | } 35 | 36 | if len(objectName) == 0 { 37 | flag.PrintDefaults() 38 | log.Fatalf("invalid parameters, object name required") 39 | } 40 | cfg := oss.LoadDefaultConfig(). 41 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 42 | WithRegion(region) 43 | 44 | client := oss.NewClient(cfg) 45 | result, err := client.IsObjectExist(context.TODO(), bucketName, objectName) 46 | if err != nil { 47 | log.Fatalf("failed to is object exist %v", err) 48 | } 49 | log.Printf("is object exist:%#v\n", result) 50 | } 51 | -------------------------------------------------------------------------------- /sample/list_access_point_for_object_process.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.ListAccessPointsForObjectProcessRequest{} 41 | result, err := client.ListAccessPointsForObjectProcess(context.TODO(), request) 42 | if err != nil { 43 | log.Fatalf("failed to list access points for object process %v", err) 44 | } 45 | 46 | log.Printf("list access points for object process result:%#v\n", result) 47 | } 48 | -------------------------------------------------------------------------------- /sample/list_access_points.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | ) 15 | 16 | func init() { 17 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 18 | } 19 | 20 | func main() { 21 | flag.Parse() 22 | if len(region) == 0 { 23 | flag.PrintDefaults() 24 | log.Fatalf("invalid parameters, region required") 25 | } 26 | 27 | cfg := oss.LoadDefaultConfig(). 28 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 29 | WithRegion(region) 30 | 31 | client := oss.NewClient(cfg) 32 | 33 | request := &oss.ListAccessPointsRequest{} 34 | 35 | result, err := client.ListAccessPoints(context.TODO(), request) 36 | if err != nil { 37 | log.Fatalf("failed to list access points %v", err) 38 | } 39 | 40 | log.Printf("list access points result:%#v\n", result) 41 | } 42 | -------------------------------------------------------------------------------- /sample/list_bucket_data_redundancy_transition.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.ListBucketDataRedundancyTransitionRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.ListBucketDataRedundancyTransition(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to list bucket data redundancy transition %v", err) 46 | } 47 | 48 | log.Printf("list bucket data redundancy transition result:%#v\n", result) 49 | } 50 | -------------------------------------------------------------------------------- /sample/list_bucket_inventory.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(region) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, region required") 27 | } 28 | 29 | cfg := oss.LoadDefaultConfig(). 30 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 31 | WithRegion(region) 32 | 33 | client := oss.NewClient(cfg) 34 | 35 | request := &oss.ListBucketInventoryRequest{ 36 | Bucket: oss.Ptr(bucketName), 37 | } 38 | result, err := client.ListBucketInventory(context.TODO(), request) 39 | if err != nil { 40 | log.Fatalf("failed to list bucket inventory %v", err) 41 | } 42 | 43 | log.Printf("list bucket inventory result:%#v\n", result) 44 | } 45 | -------------------------------------------------------------------------------- /sample/list_bucket_style.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(region) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, region required") 27 | } 28 | 29 | cfg := oss.LoadDefaultConfig(). 30 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 31 | WithRegion(region) 32 | 33 | client := oss.NewClient(cfg) 34 | 35 | request := &oss.ListStyleRequest{ 36 | Bucket: oss.Ptr(bucketName), 37 | } 38 | result, err := client.ListStyle(context.TODO(), request) 39 | if err != nil { 40 | log.Fatalf("failed to list bucket style %v", err) 41 | } 42 | 43 | log.Printf("list bucket style result:%#v\n", result) 44 | } 45 | -------------------------------------------------------------------------------- /sample/list_buckets.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | ) 15 | 16 | func init() { 17 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 18 | } 19 | 20 | func main() { 21 | flag.Parse() 22 | if len(region) == 0 { 23 | flag.PrintDefaults() 24 | log.Fatalf("invalid parameters, region required") 25 | } 26 | 27 | cfg := oss.LoadDefaultConfig(). 28 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 29 | WithRegion(region) 30 | 31 | client := oss.NewClient(cfg) 32 | 33 | request := &oss.ListBucketsRequest{} 34 | 35 | p := client.NewListBucketsPaginator(request) 36 | 37 | var i int 38 | log.Println("Buckets:") 39 | for p.HasNext() { 40 | i++ 41 | 42 | page, err := p.NextPage(context.TODO()) 43 | if err != nil { 44 | log.Fatalf("failed to get page %v, %v", i, err) 45 | } 46 | 47 | // Log the objects found 48 | for _, b := range page.Buckets { 49 | log.Printf("Bucket:%v, %v, %v\n", oss.ToString(b.Name), oss.ToString(b.StorageClass), oss.ToString(b.Location)) 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /sample/list_cloud_boxes.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | cloudBoxEndpoint string 14 | ) 15 | 16 | func init() { 17 | flag.StringVar(&cloudBoxEndpoint, "endpoint", "", "The endpoint of cloud box.") 18 | } 19 | 20 | func main() { 21 | flag.Parse() 22 | if len(cloudBoxEndpoint) == 0 { 23 | flag.PrintDefaults() 24 | log.Fatalf("invalid parameters, the endpoint of cloud box required") 25 | } 26 | 27 | cfg := oss.LoadDefaultConfig(). 28 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 29 | WithEndpoint(cloudBoxEndpoint) 30 | 31 | client := oss.NewClient(cfg) 32 | 33 | request := &oss.ListCloudBoxesRequest{} 34 | 35 | result, err := client.ListCloudBoxes(context.TODO(), request) 36 | if err != nil { 37 | log.Fatalf("failed to list cloud boxes %v", err) 38 | } 39 | log.Printf(" list cloud boxes result:%#v\n", result) 40 | } 41 | -------------------------------------------------------------------------------- /sample/list_cname.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.ListCnameRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.ListCname(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to list bucket cname %v", err) 46 | } 47 | log.Printf("list bucket cname result:%#v\n", result) 48 | } 49 | -------------------------------------------------------------------------------- /sample/list_multipart_uploads.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(region) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, region required") 27 | } 28 | 29 | if len(bucketName) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, bucket name required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.ListMultipartUploadsRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | 44 | p := client.NewListMultipartUploadsPaginator(request) 45 | 46 | var i int 47 | log.Println("List Multipart Uploads:") 48 | for p.HasNext() { 49 | i++ 50 | page, err := p.NextPage(context.TODO()) 51 | if err != nil { 52 | log.Fatalf("failed to get page %v, %v", i, err) 53 | } 54 | // Log the objects found 55 | for _, u := range page.Uploads { 56 | log.Printf("Upload key:%v,upload id:%v, initiated:%v\n", oss.ToString(u.Key), oss.ToString(u.UploadId), oss.ToTime(u.Initiated)) 57 | } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /sample/list_object_versions.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The `name` of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.ListObjectVersionsRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | p := client.NewListObjectVersionsPaginator(request) 44 | 45 | var i int 46 | log.Println("Object Versions:") 47 | for p.HasNext() { 48 | i++ 49 | 50 | page, err := p.NextPage(context.TODO()) 51 | if err != nil { 52 | log.Fatalf("failed to get page %v, %v", i, err) 53 | } 54 | 55 | // Log the objects found 56 | for _, obj := range page.ObjectVersions { 57 | log.Printf("Object:%v, VersionId:%v, IsLatest:%v, Size:%v, ETag:%v, Storage Class:%v, Last Modified:%v\n", oss.ToString(obj.Key), oss.ToString(obj.VersionId), obj.IsLatest, obj.Size, oss.ToString(obj.ETag), oss.ToString(obj.StorageClass), oss.ToTime(obj.LastModified)) 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /sample/list_objects.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The `name` of the bucket.") 20 | } 21 | 22 | // Lists all objects in a bucket using paginator 23 | func main() { 24 | flag.Parse() 25 | if len(bucketName) == 0 { 26 | flag.PrintDefaults() 27 | log.Fatalf("invalid parameters, bucket name required") 28 | } 29 | 30 | if len(region) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, region required") 33 | } 34 | 35 | cfg := oss.LoadDefaultConfig(). 36 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 37 | WithRegion(region) 38 | 39 | client := oss.NewClient(cfg) 40 | 41 | request := &oss.ListObjectsRequest{ 42 | Bucket: oss.Ptr(bucketName), 43 | } 44 | p := client.NewListObjectsPaginator(request) 45 | 46 | var i int 47 | log.Println("Objects:") 48 | for p.HasNext() { 49 | i++ 50 | 51 | page, err := p.NextPage(context.TODO()) 52 | if err != nil { 53 | log.Fatalf("failed to get page %v, %v", i, err) 54 | } 55 | 56 | // Log the objects found 57 | for _, obj := range page.Contents { 58 | log.Printf("Object:%v, %v, %v\n", oss.ToString(obj.Key), obj.Size, oss.ToTime(obj.LastModified)) 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /sample/list_objects_v2.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The `name` of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.ListObjectsV2Request{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | p := client.NewListObjectsV2Paginator(request) 44 | 45 | var i int 46 | log.Println("Objects:") 47 | for p.HasNext() { 48 | i++ 49 | 50 | page, err := p.NextPage(context.TODO()) 51 | if err != nil { 52 | log.Fatalf("failed to get page %v, %v", i, err) 53 | } 54 | 55 | // Log the objects found 56 | for _, obj := range page.Contents { 57 | log.Printf("Object:%v, %v, %v\n", oss.ToString(obj.Key), obj.Size, oss.ToTime(obj.LastModified)) 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /sample/list_user_data_redundancy_transition.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | ) 15 | 16 | func init() { 17 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 18 | } 19 | 20 | func main() { 21 | flag.Parse() 22 | if len(region) == 0 { 23 | flag.PrintDefaults() 24 | log.Fatalf("invalid parameters, region required") 25 | } 26 | 27 | cfg := oss.LoadDefaultConfig(). 28 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 29 | WithRegion(region) 30 | 31 | client := oss.NewClient(cfg) 32 | 33 | request := &oss.ListUserDataRedundancyTransitionRequest{} 34 | result, err := client.ListUserDataRedundancyTransition(context.TODO(), request) 35 | if err != nil { 36 | log.Fatalf("failed to list user data redundancy transition %v", err) 37 | } 38 | 39 | log.Printf("list user data redundancy transition result:%#v\n", result) 40 | } 41 | -------------------------------------------------------------------------------- /sample/open_meta_query.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | if len(objectName) == 0 { 35 | flag.PrintDefaults() 36 | log.Fatalf("invalid parameters, object name required") 37 | } 38 | 39 | cfg := oss.LoadDefaultConfig(). 40 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 41 | WithRegion(region) 42 | 43 | client := oss.NewClient(cfg) 44 | 45 | // case 1: meta search 46 | request := &oss.OpenMetaQueryRequest{ 47 | Bucket: oss.Ptr(bucketName), 48 | } 49 | result, err := client.OpenMetaQuery(context.TODO(), request) 50 | if err != nil { 51 | log.Fatalf("failed to open meta query %v", err) 52 | } 53 | 54 | log.Printf("open meta query result:%#v\n", result) 55 | 56 | // case 2: ai search 57 | //request = &oss.OpenMetaQueryRequest{ 58 | // Bucket: oss.Ptr(bucketName), 59 | // Mode: oss.Ptr("semantic"), 60 | //} 61 | //result, err = client.OpenMetaQuery(context.TODO(), request) 62 | //if err != nil { 63 | // log.Fatalf("failed to open meta query %v", err) 64 | //} 65 | // 66 | //log.Printf("open meta query result:%#v\n", result) 67 | } 68 | -------------------------------------------------------------------------------- /sample/option_object.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(bucketName) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, bucket name required") 29 | } 30 | 31 | if len(region) == 0 { 32 | flag.PrintDefaults() 33 | log.Fatalf("invalid parameters, region required") 34 | } 35 | 36 | if len(objectName) == 0 { 37 | flag.PrintDefaults() 38 | log.Fatalf("invalid parameters, object name required") 39 | } 40 | 41 | cfg := oss.LoadDefaultConfig(). 42 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 43 | WithRegion(region) 44 | 45 | client := oss.NewClient(cfg) 46 | 47 | request := &oss.OptionObjectRequest{ 48 | Bucket: oss.Ptr(bucketName), 49 | Key: oss.Ptr(objectName), 50 | Origin: oss.Ptr("http://www.example.com"), 51 | AccessControlRequestMethod: oss.Ptr("PUT"), 52 | } 53 | result, err := client.OptionObject(context.TODO(), request) 54 | if err != nil { 55 | log.Fatalf("failed to option object %v", err) 56 | } 57 | 58 | log.Printf("option object result:%#v\n", result) 59 | } 60 | -------------------------------------------------------------------------------- /sample/process_object.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "encoding/base64" 6 | "flag" 7 | "fmt" 8 | "log" 9 | 10 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 11 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 12 | ) 13 | 14 | var ( 15 | region string 16 | bucketName string 17 | objectName string 18 | ) 19 | 20 | func init() { 21 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 22 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 23 | flag.StringVar(&objectName, "object", "", "The name of the object.") 24 | } 25 | 26 | func main() { 27 | flag.Parse() 28 | if len(region) == 0 { 29 | flag.PrintDefaults() 30 | log.Fatalf("invalid parameters, region required") 31 | } 32 | if len(bucketName) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, bucket name required") 35 | } 36 | if len(objectName) == 0 { 37 | flag.PrintDefaults() 38 | log.Fatalf("invalid parameters, object name required") 39 | } 40 | cfg := oss.LoadDefaultConfig(). 41 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 42 | WithRegion(region) 43 | client := oss.NewClient(cfg) 44 | request := &oss.ProcessObjectRequest{ 45 | Bucket: oss.Ptr(bucketName), 46 | Key: oss.Ptr(objectName), 47 | Process: oss.Ptr(fmt.Sprintf("image/resize,w_100|sys/saveas,o_%v", base64.URLEncoding.EncodeToString([]byte(objectName)))), 48 | } 49 | result, err := client.ProcessObject(context.TODO(), request) 50 | if err != nil { 51 | log.Fatalf("failed to process object %v", err) 52 | } 53 | log.Printf("process object result:%#v\n", result) 54 | } 55 | -------------------------------------------------------------------------------- /sample/put_access_point_public_access_block.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ( 25 | accessPointName = "access point name" 26 | ) 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.PutAccessPointPublicAccessBlockRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | AccessPointName: oss.Ptr(accessPointName), 46 | PublicAccessBlockConfiguration: &oss.PublicAccessBlockConfiguration{ 47 | oss.Ptr(true), 48 | }, 49 | } 50 | putResult, err := client.PutAccessPointPublicAccessBlock(context.TODO(), request) 51 | if err != nil { 52 | log.Fatalf("failed to put access point public access block %v", err) 53 | } 54 | 55 | log.Printf("put access point public access block result:%#v\n", putResult) 56 | } 57 | -------------------------------------------------------------------------------- /sample/put_bucket.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.PutBucketRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | } 43 | result, err := client.PutBucket(context.TODO(), request) 44 | if err != nil { 45 | log.Fatalf("failed to put bucket %v", err) 46 | } 47 | log.Printf("put bucket result:%#v\n", result) 48 | } 49 | -------------------------------------------------------------------------------- /sample/put_bucket_access_monitor.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.PutBucketAccessMonitorRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | AccessMonitorConfiguration: &oss.AccessMonitorConfiguration{ 43 | oss.AccessMonitorStatusEnabled, 44 | }, 45 | } 46 | putResult, err := client.PutBucketAccessMonitor(context.TODO(), request) 47 | if err != nil { 48 | log.Fatalf("failed to put bucket access monitor %v", err) 49 | } 50 | 51 | log.Printf("put bucket access monitor result:%#v\n", putResult) 52 | } 53 | -------------------------------------------------------------------------------- /sample/put_bucket_acl.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | putRequest := &oss.PutBucketAclRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | Acl: oss.BucketACLPrivate, 43 | } 44 | putResult, err := client.PutBucketAcl(context.TODO(), putRequest) 45 | if err != nil { 46 | log.Fatalf("failed to put bucket acl %v", err) 47 | } 48 | log.Printf("put bucket acl result:%#v\n", putResult) 49 | } 50 | -------------------------------------------------------------------------------- /sample/put_bucket_archive_direct_read.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.PutBucketArchiveDirectReadRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | ArchiveDirectReadConfiguration: &oss.ArchiveDirectReadConfiguration{ 43 | oss.Ptr(true), 44 | }, 45 | } 46 | result, err := client.PutBucketArchiveDirectRead(context.TODO(), request) 47 | if err != nil { 48 | log.Fatalf("failed to put bucket archive direct read %v", err) 49 | } 50 | 51 | log.Printf("put bucket archive direct read result:%#v\n", result) 52 | } 53 | -------------------------------------------------------------------------------- /sample/put_bucket_encryption.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.PutBucketEncryptionRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | ServerSideEncryptionRule: &oss.ServerSideEncryptionRule{ 43 | &oss.ApplyServerSideEncryptionByDefault{ 44 | SSEAlgorithm: oss.Ptr("KMS"), 45 | KMSDataEncryption: oss.Ptr("SM4"), 46 | }, 47 | }, 48 | } 49 | result, err := client.PutBucketEncryption(context.TODO(), request) 50 | if err != nil { 51 | log.Fatalf("failed to put bucket encryption %v", err) 52 | } 53 | log.Printf("put bucket encryption result:%#v\n", result) 54 | } 55 | -------------------------------------------------------------------------------- /sample/put_bucket_https_config.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | putRequest := &oss.PutBucketHttpsConfigRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | HttpsConfiguration: &oss.HttpsConfiguration{ 43 | TLS: &oss.TLS{ 44 | Enable: oss.Ptr(false), 45 | }, 46 | }, 47 | } 48 | putResult, err := client.PutBucketHttpsConfig(context.TODO(), putRequest) 49 | if err != nil { 50 | log.Fatalf("failed to put bucket https config %v", err) 51 | } 52 | 53 | log.Printf("put bucket https config result:%#v\n", putResult) 54 | } 55 | -------------------------------------------------------------------------------- /sample/put_bucket_lifecycle.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.PutBucketLifecycleRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | LifecycleConfiguration: &oss.LifecycleConfiguration{ 43 | Rules: []oss.LifecycleRule{ 44 | { 45 | Status: oss.Ptr("Enabled"), 46 | ID: oss.Ptr("rule"), 47 | Prefix: oss.Ptr("log/"), 48 | Transitions: []oss.LifecycleRuleTransition{ 49 | { 50 | Days: oss.Ptr(int32(30)), 51 | StorageClass: oss.StorageClassIA, 52 | }, 53 | }, 54 | }, 55 | }, 56 | }, 57 | } 58 | result, err := client.PutBucketLifecycle(context.TODO(), request) 59 | if err != nil { 60 | log.Fatalf("failed to put bucket lifecycle %v", err) 61 | } 62 | 63 | log.Printf("put bucket lifecycle result:%#v\n", result) 64 | } 65 | -------------------------------------------------------------------------------- /sample/put_bucket_logging.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | putRequest := &oss.PutBucketLoggingRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | BucketLoggingStatus: &oss.BucketLoggingStatus{ 43 | LoggingEnabled: &oss.LoggingEnabled{ 44 | TargetBucket: oss.Ptr("TargetBucket"), 45 | }, 46 | }, 47 | } 48 | putResult, err := client.PutBucketLogging(context.TODO(), putRequest) 49 | if err != nil { 50 | log.Fatalf("failed to put bucket logging %v", err) 51 | } 52 | 53 | log.Printf("put bucket logging result:%#v\n", putResult) 54 | } 55 | -------------------------------------------------------------------------------- /sample/put_bucket_policy.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | "strings" 8 | 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 10 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 11 | ) 12 | 13 | var ( 14 | region string 15 | bucketName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | } 22 | 23 | func main() { 24 | flag.Parse() 25 | if len(bucketName) == 0 { 26 | flag.PrintDefaults() 27 | log.Fatalf("invalid parameters, bucket name required") 28 | } 29 | 30 | if len(region) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, region required") 33 | } 34 | 35 | cfg := oss.LoadDefaultConfig(). 36 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 37 | WithRegion(region) 38 | 39 | client := oss.NewClient(cfg) 40 | 41 | request := &oss.PutBucketPolicyRequest{ 42 | Bucket: oss.Ptr(bucketName), 43 | Body: strings.NewReader(`{ 44 | "Version":"1", 45 | "Statement":[ 46 | { 47 | "Action":[ 48 | "oss:PutObject", 49 | "oss:GetObject" 50 | ], 51 | "Effect":"Deny", 52 | "Principal":["1234567890"], 53 | "Resource":["acs:oss:*:1234567890:*/*"] 54 | } 55 | ] 56 | }`), 57 | } 58 | result, err := client.PutBucketPolicy(context.TODO(), request) 59 | if err != nil { 60 | log.Fatalf("failed to put bucket policy %v", err) 61 | } 62 | 63 | log.Printf("put bucket policy result:%#v\n", result) 64 | } 65 | -------------------------------------------------------------------------------- /sample/put_bucket_public_access_block.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.PutBucketPublicAccessBlockRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | PublicAccessBlockConfiguration: &oss.PublicAccessBlockConfiguration{ 43 | oss.Ptr(true), 44 | }, 45 | } 46 | putResult, err := client.PutBucketPublicAccessBlock(context.TODO(), request) 47 | if err != nil { 48 | log.Fatalf("failed to put bucket public access block %v", err) 49 | } 50 | 51 | log.Printf("put bucket public access block result:%#v\n", putResult) 52 | } 53 | -------------------------------------------------------------------------------- /sample/put_bucket_referer.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.PutBucketRefererRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | RefererConfiguration: &oss.RefererConfiguration{ 43 | AllowEmptyReferer: oss.Ptr(false), 44 | RefererList: &oss.RefererList{ 45 | Referers: []string{""}, 46 | }, 47 | }, 48 | } 49 | result, err := client.PutBucketReferer(context.TODO(), request) 50 | if err != nil { 51 | log.Fatalf("failed to put bucket referer %v", err) 52 | } 53 | 54 | log.Printf("put bucket referer result:%#v\n", result) 55 | } 56 | -------------------------------------------------------------------------------- /sample/put_bucket_request_payment.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | putRequest := &oss.PutBucketRequestPaymentRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | PaymentConfiguration: &oss.RequestPaymentConfiguration{ 43 | Payer: oss.Requester, 44 | }, 45 | } 46 | putResult, err := client.PutBucketRequestPayment(context.TODO(), putRequest) 47 | if err != nil { 48 | log.Fatalf("failed to put bucket request payment %v", err) 49 | } 50 | 51 | log.Printf("put bucket request payment result:%#v\n", putResult) 52 | } 53 | -------------------------------------------------------------------------------- /sample/put_bucket_resource_group.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ( 25 | groupId = "resource group id" 26 | ) 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.PutBucketResourceGroupRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | BucketResourceGroupConfiguration: &oss.BucketResourceGroupConfiguration{ 46 | oss.Ptr(groupId), 47 | }, 48 | } 49 | result, err := client.PutBucketResourceGroup(context.TODO(), request) 50 | if err != nil { 51 | log.Fatalf("failed to put bucket resource group %v", err) 52 | } 53 | 54 | log.Printf("put bucket resource group result:%#v\n", result) 55 | } 56 | -------------------------------------------------------------------------------- /sample/put_bucket_rtc.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ( 25 | ruleId = "replication id" 26 | ) 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.PutBucketRtcRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | RtcConfiguration: &oss.RtcConfiguration{ 46 | RTC: &oss.ReplicationTimeControl{ 47 | Status: oss.Ptr("enabled"), 48 | }, 49 | ID: oss.Ptr(ruleId), 50 | }, 51 | } 52 | result, err := client.PutBucketRtc(context.TODO(), request) 53 | if err != nil { 54 | log.Fatalf("failed to put bucket rtc %v", err) 55 | } 56 | 57 | log.Printf("put bucket rtc result:%#v\n", result) 58 | } 59 | -------------------------------------------------------------------------------- /sample/put_bucket_style.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | var ( 25 | styleName = "style name" 26 | ) 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | cfg := oss.LoadDefaultConfig(). 38 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 39 | WithRegion(region) 40 | 41 | client := oss.NewClient(cfg) 42 | 43 | request := &oss.PutStyleRequest{ 44 | Bucket: oss.Ptr(bucketName), 45 | StyleName: oss.Ptr(styleName), 46 | Style: &oss.StyleContent{ 47 | Content: oss.Ptr("image/resize,p_50"), 48 | }, 49 | } 50 | putResult, err := client.PutStyle(context.TODO(), request) 51 | if err != nil { 52 | log.Fatalf("failed to put bucket style %v", err) 53 | } 54 | 55 | log.Printf("put bucket style result:%#v\n", putResult) 56 | } 57 | -------------------------------------------------------------------------------- /sample/put_bucket_tags.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.PutBucketTagsRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | Tagging: &oss.Tagging{ 43 | &oss.TagSet{ 44 | []oss.Tag{ 45 | { 46 | oss.Ptr("k1"), 47 | oss.Ptr("v1"), 48 | }, 49 | }, 50 | }, 51 | }, 52 | } 53 | result, err := client.PutBucketTags(context.TODO(), request) 54 | if err != nil { 55 | log.Fatalf("failed to put bucket tags %v", err) 56 | } 57 | 58 | log.Printf("put bucket tags result:%#v\n", result) 59 | } 60 | -------------------------------------------------------------------------------- /sample/put_bucket_transfer_acceleration.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.PutBucketTransferAccelerationRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | TransferAccelerationConfiguration: &oss.TransferAccelerationConfiguration{ 43 | oss.Ptr(true), 44 | }, 45 | } 46 | result, err := client.PutBucketTransferAcceleration(context.TODO(), request) 47 | if err != nil { 48 | log.Fatalf("failed to put bucket transfer acceleration %v", err) 49 | } 50 | 51 | log.Printf("put bucket transfer acceleration result:%#v\n", result) 52 | } 53 | -------------------------------------------------------------------------------- /sample/put_bucket_versioning.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | // Set the request 41 | putRequest := &oss.PutBucketVersioningRequest{ 42 | Bucket: oss.Ptr(bucketName), 43 | VersioningConfiguration: &oss.VersioningConfiguration{ 44 | Status: oss.VersionEnabled, 45 | }, 46 | } 47 | putResult, err := client.PutBucketVersioning(context.TODO(), putRequest) 48 | if err != nil { 49 | log.Fatalf("failed to put bucket versioning %v", err) 50 | } 51 | log.Printf("put bucket versioning result:%#v\n", putResult) 52 | } 53 | -------------------------------------------------------------------------------- /sample/put_bucket_website.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.PutBucketWebsiteRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | WebsiteConfiguration: &oss.WebsiteConfiguration{ 43 | IndexDocument: &oss.IndexDocument{ 44 | Suffix: oss.Ptr("index.html"), 45 | SupportSubDir: oss.Ptr(true), 46 | Type: oss.Ptr(int64(0)), 47 | }, 48 | ErrorDocument: &oss.ErrorDocument{ 49 | Key: oss.Ptr("error.html"), 50 | HttpStatus: oss.Ptr(int64(404)), 51 | }, 52 | }, 53 | } 54 | result, err := client.PutBucketWebsite(context.TODO(), request) 55 | if err != nil { 56 | log.Fatalf("failed to put bucket website %v", err) 57 | } 58 | 59 | log.Printf("put bucket website result:%#v\n", result) 60 | } 61 | -------------------------------------------------------------------------------- /sample/put_cname.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.PutCnameRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | BucketCnameConfiguration: &oss.BucketCnameConfiguration{ 43 | Domain: oss.Ptr("example.com"), 44 | }, 45 | } 46 | result, err := client.PutCname(context.TODO(), request) 47 | if err != nil { 48 | log.Fatalf("failed to put bucket cname %v", err) 49 | } 50 | log.Printf("put bucket cname result:%#v\n", result) 51 | } 52 | -------------------------------------------------------------------------------- /sample/put_object.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | "strings" 8 | 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 10 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 11 | ) 12 | 13 | var ( 14 | region string 15 | bucketName string 16 | objectName string 17 | ) 18 | 19 | func init() { 20 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 21 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 22 | flag.StringVar(&objectName, "object", "", "The name of the object.") 23 | } 24 | 25 | func main() { 26 | flag.Parse() 27 | if len(bucketName) == 0 { 28 | flag.PrintDefaults() 29 | log.Fatalf("invalid parameters, bucket name required") 30 | } 31 | 32 | if len(region) == 0 { 33 | flag.PrintDefaults() 34 | log.Fatalf("invalid parameters, region required") 35 | } 36 | 37 | if len(objectName) == 0 { 38 | flag.PrintDefaults() 39 | log.Fatalf("invalid parameters, object name required") 40 | } 41 | 42 | content := "hi oss" 43 | 44 | cfg := oss.LoadDefaultConfig(). 45 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 46 | WithRegion(region) 47 | 48 | client := oss.NewClient(cfg) 49 | 50 | request := &oss.PutObjectRequest{ 51 | Bucket: oss.Ptr(bucketName), 52 | Key: oss.Ptr(objectName), 53 | Body: strings.NewReader(content), 54 | } 55 | 56 | result, err := client.PutObject(context.TODO(), request) 57 | if err != nil { 58 | log.Fatalf("failed to put object %v", err) 59 | } 60 | log.Printf("put object result:%#v\n", result) 61 | } 62 | -------------------------------------------------------------------------------- /sample/put_object_acl.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(region) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, region required") 29 | } 30 | if len(bucketName) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, bucket name required") 33 | } 34 | if len(objectName) == 0 { 35 | flag.PrintDefaults() 36 | log.Fatalf("invalid parameters, object name required") 37 | } 38 | cfg := oss.LoadDefaultConfig(). 39 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 40 | WithRegion(region) 41 | client := oss.NewClient(cfg) 42 | putRequest := &oss.PutObjectAclRequest{ 43 | Bucket: oss.Ptr(bucketName), 44 | Key: oss.Ptr(objectName), 45 | Acl: oss.ObjectACLPrivate, 46 | } 47 | putResult, err := client.PutObjectAcl(context.TODO(), putRequest) 48 | if err != nil { 49 | log.Fatalf("failed to put object acl %v", err) 50 | } 51 | log.Printf("put object acl result:%#v\n", putResult) 52 | } 53 | -------------------------------------------------------------------------------- /sample/put_object_tagging.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(region) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, region required") 29 | } 30 | if len(bucketName) == 0 { 31 | flag.PrintDefaults() 32 | log.Fatalf("invalid parameters, bucket name required") 33 | } 34 | if len(objectName) == 0 { 35 | flag.PrintDefaults() 36 | log.Fatalf("invalid parameters, object name required") 37 | } 38 | cfg := oss.LoadDefaultConfig(). 39 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 40 | WithRegion(region) 41 | client := oss.NewClient(cfg) 42 | putRequest := &oss.PutObjectTaggingRequest{ 43 | Bucket: oss.Ptr(bucketName), 44 | Key: oss.Ptr(objectName), 45 | Tagging: &oss.Tagging{ 46 | TagSet: &oss.TagSet{ 47 | Tags: []oss.Tag{ 48 | { 49 | Key: oss.Ptr("k1"), 50 | Value: oss.Ptr("v1"), 51 | }, 52 | { 53 | Key: oss.Ptr("k2"), 54 | Value: oss.Ptr("v2"), 55 | }, 56 | }, 57 | }, 58 | }, 59 | } 60 | putResult, err := client.PutObjectTagging(context.TODO(), putRequest) 61 | if err != nil { 62 | log.Fatalf("failed to put object tagging %v", err) 63 | } 64 | log.Printf("put object tagging result:%#v\n", putResult) 65 | } 66 | -------------------------------------------------------------------------------- /sample/put_public_access_block.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | ) 15 | 16 | func init() { 17 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 18 | } 19 | 20 | func main() { 21 | flag.Parse() 22 | if len(region) == 0 { 23 | flag.PrintDefaults() 24 | log.Fatalf("invalid parameters, region required") 25 | } 26 | 27 | cfg := oss.LoadDefaultConfig(). 28 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 29 | WithRegion(region) 30 | 31 | client := oss.NewClient(cfg) 32 | 33 | request := &oss.PutPublicAccessBlockRequest{ 34 | PublicAccessBlockConfiguration: &oss.PublicAccessBlockConfiguration{ 35 | oss.Ptr(true), 36 | }, 37 | } 38 | putResult, err := client.PutPublicAccessBlock(context.TODO(), request) 39 | if err != nil { 40 | log.Fatalf("failed to put public access block %v", err) 41 | } 42 | 43 | log.Printf("put public access block result:%#v\n", putResult) 44 | } 45 | -------------------------------------------------------------------------------- /sample/put_symlink.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | var ( 27 | symlinkName = "your symlink name" 28 | ) 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | if len(bucketName) == 0 { 34 | flag.PrintDefaults() 35 | log.Fatalf("invalid parameters, bucket name required") 36 | } 37 | if len(objectName) == 0 { 38 | flag.PrintDefaults() 39 | log.Fatalf("invalid parameters, object name required") 40 | } 41 | if len(symlinkName) == 0 { 42 | flag.PrintDefaults() 43 | log.Fatalf("invalid parameters, symlink name required") 44 | } 45 | cfg := oss.LoadDefaultConfig(). 46 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 47 | WithRegion(region) 48 | client := oss.NewClient(cfg) 49 | putRequest := &oss.PutSymlinkRequest{ 50 | Bucket: oss.Ptr(bucketName), 51 | Key: oss.Ptr(objectName), 52 | Target: oss.Ptr(symlinkName), 53 | } 54 | putResult, err := client.PutSymlink(context.TODO(), putRequest) 55 | if err != nil { 56 | log.Fatalf("failed to put symlink %v", err) 57 | } 58 | log.Printf("put symlink result:%#v\n", putResult) 59 | } 60 | -------------------------------------------------------------------------------- /sample/put_user_defined_log_fields_config.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | ) 16 | 17 | func init() { 18 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 19 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 20 | } 21 | 22 | func main() { 23 | flag.Parse() 24 | if len(bucketName) == 0 { 25 | flag.PrintDefaults() 26 | log.Fatalf("invalid parameters, bucket name required") 27 | } 28 | 29 | if len(region) == 0 { 30 | flag.PrintDefaults() 31 | log.Fatalf("invalid parameters, region required") 32 | } 33 | 34 | cfg := oss.LoadDefaultConfig(). 35 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 36 | WithRegion(region) 37 | 38 | client := oss.NewClient(cfg) 39 | 40 | request := &oss.PutUserDefinedLogFieldsConfigRequest{ 41 | Bucket: oss.Ptr(bucketName), 42 | UserDefinedLogFieldsConfiguration: &oss.UserDefinedLogFieldsConfiguration{ 43 | HeaderSet: &oss.LoggingHeaderSet{ 44 | Headers: []string{"header1", "header2"}, 45 | }, 46 | ParamSet: &oss.LoggingParamSet{ 47 | Parameters: []string{"param"}, 48 | }, 49 | }, 50 | } 51 | result, err := client.PutUserDefinedLogFieldsConfig(context.TODO(), request) 52 | if err != nil { 53 | log.Fatalf("failed to put user defined log fields config %v", err) 54 | } 55 | 56 | log.Printf("put user defined log fields config result:%#v\n", result) 57 | } 58 | -------------------------------------------------------------------------------- /sample/restore_object.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "flag" 6 | "log" 7 | 8 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" 9 | "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" 10 | ) 11 | 12 | var ( 13 | region string 14 | bucketName string 15 | objectName string 16 | ) 17 | 18 | func init() { 19 | flag.StringVar(®ion, "region", "", "The region in which the bucket is located.") 20 | flag.StringVar(&bucketName, "bucket", "", "The name of the bucket.") 21 | flag.StringVar(&objectName, "object", "", "The name of the object.") 22 | } 23 | 24 | func main() { 25 | flag.Parse() 26 | if len(bucketName) == 0 { 27 | flag.PrintDefaults() 28 | log.Fatalf("invalid parameters, bucket name required") 29 | } 30 | 31 | if len(region) == 0 { 32 | flag.PrintDefaults() 33 | log.Fatalf("invalid parameters, region required") 34 | } 35 | 36 | if len(objectName) == 0 { 37 | flag.PrintDefaults() 38 | log.Fatalf("invalid parameters, object name required") 39 | } 40 | 41 | cfg := oss.LoadDefaultConfig(). 42 | WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()). 43 | WithRegion(region) 44 | 45 | client := oss.NewClient(cfg) 46 | 47 | request := &oss.RestoreObjectRequest{ 48 | Bucket: oss.Ptr(bucketName), 49 | Key: oss.Ptr(objectName), 50 | } 51 | 52 | result, err := client.RestoreObject(context.TODO(), request) 53 | if err != nil { 54 | log.Fatalf("failed to restore object %v", err) 55 | } 56 | log.Printf("restore object result:%#v\n", result) 57 | } 58 | --------------------------------------------------------------------------------