From a0a808fd4473b6f3670ea62de12e24ecd77d9d31 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Thu, 30 Oct 2025 20:18:14 +0800 Subject: [PATCH] chore(deps): migrate alibabacloud-oss-go-sdk to v2 --- go.mod | 2 +- go.sum | 4 +-- .../providers/aliyun-oss/aliyun_oss.go | 36 ++++++++++++------- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/go.mod b/go.mod index 919e1275..1e0fdaae 100644 --- a/go.mod +++ b/go.mod @@ -26,7 +26,7 @@ require ( github.com/alibabacloud-go/tea v1.3.13 github.com/alibabacloud-go/vod-20170321/v4 v4.10.0 github.com/alibabacloud-go/waf-openapi-20211001/v6 v6.6.0 - github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible + github.com/aliyun/alibabacloud-oss-go-sdk-v2 v1.3.0 github.com/aws/aws-sdk-go-v2/service/acm v1.37.6 github.com/aws/aws-sdk-go-v2/service/cloudfront v1.55.2 github.com/aws/aws-sdk-go-v2/service/iam v1.49.0 diff --git a/go.sum b/go.sum index fd1e7004..a02ce544 100644 --- a/go.sum +++ b/go.sum @@ -195,8 +195,8 @@ github.com/alibabacloud-go/vod-20170321/v4 v4.10.0 h1:e28BNu9IRhCtHI5HA+2ZRG4r9S github.com/alibabacloud-go/vod-20170321/v4 v4.10.0/go.mod h1:IkHD+fJL2oWvs9oxyp5Dc651AO5eptIP5PRsH0ofraA= github.com/alibabacloud-go/waf-openapi-20211001/v6 v6.6.0 h1:UCKCmA7hnnSlGUCVF31Z8v/+3UloJtyqNGV/ITAtr7U= github.com/alibabacloud-go/waf-openapi-20211001/v6 v6.6.0/go.mod h1:Pi1XJ9yMR6weUxPMDqVaT+mhHeeSPRdMZh2fl4VCKLs= -github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible h1:8psS8a+wKfiLt1iVDX79F7Y6wUM49Lcha2FMXt4UM8g= -github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= +github.com/aliyun/alibabacloud-oss-go-sdk-v2 v1.3.0 h1:wQlqotpyjYPjJz+Noh5bRu7Snmydk8SKC5Z6u1CR20Y= +github.com/aliyun/alibabacloud-oss-go-sdk-v2 v1.3.0/go.mod h1:FTzydeQVmR24FI0D6XWUOMKckjXehM/jgMn1xC+DA9M= github.com/aliyun/credentials-go v1.1.2/go.mod h1:ozcZaMR5kLM7pwtCMEpVmQ242suV6qTJya2bDq4X1Tw= github.com/aliyun/credentials-go v1.3.1/go.mod h1:8jKYhQuDawt8x2+fusqa1Y6mPxemTsBEN04dgcAcYz0= github.com/aliyun/credentials-go v1.3.6/go.mod h1:1LxUuX7L5YrZUWzBrRyk0SwSdH4OmPrib8NVePL3fxM= diff --git a/pkg/core/ssl-deployer/providers/aliyun-oss/aliyun_oss.go b/pkg/core/ssl-deployer/providers/aliyun-oss/aliyun_oss.go index d732261e..152f1686 100644 --- a/pkg/core/ssl-deployer/providers/aliyun-oss/aliyun_oss.go +++ b/pkg/core/ssl-deployer/providers/aliyun-oss/aliyun_oss.go @@ -6,7 +6,10 @@ import ( "fmt" "log/slog" - "github.com/aliyun/aliyun-oss-go-sdk/oss" + "github.com/alibabacloud-go/tea/tea" + "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss" + "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials" + "github.com/certimate-go/certimate/pkg/core" ) @@ -68,18 +71,21 @@ func (d *SSLDeployerProvider) Deploy(ctx context.Context, certPEM string, privke // 为存储空间绑定自定义域名 // REF: https://help.aliyun.com/zh/oss/developer-reference/putcname - putBucketCnameWithCertificateReq := oss.PutBucketCname{ - Cname: d.config.Domain, - CertificateConfiguration: &oss.CertificateConfiguration{ - Certificate: certPEM, - PrivateKey: privkeyPEM, - Force: true, + putCnameReq := &oss.PutCnameRequest{ + Bucket: tea.String(d.config.Bucket), + BucketCnameConfiguration: &oss.BucketCnameConfiguration{ + Domain: tea.String(d.config.Domain), + CertificateConfiguration: &oss.CertificateConfiguration{ + Certificate: tea.String(certPEM), + PrivateKey: tea.String(privkeyPEM), + Force: tea.Bool(true), + }, }, } - err := d.sdkClient.PutBucketCnameWithCertificate(d.config.Bucket, putBucketCnameWithCertificateReq) - d.logger.Debug("sdk request 'oss.PutBucketCnameWithCertificate'", slog.Any("bucket", d.config.Bucket), slog.Any("request", putBucketCnameWithCertificateReq)) + putCnameResp, err := d.sdkClient.PutCname(context.TODO(), putCnameReq) + d.logger.Debug("sdk request 'oss.PutCname'", slog.Any("request", putCnameReq), slog.Any("response", putCnameResp)) if err != nil { - return nil, fmt.Errorf("failed to execute sdk request 'oss.PutBucketCnameWithCertificate': %w", err) + return nil, fmt.Errorf("failed to execute sdk request 'oss.PutCname': %w", err) } return &core.SSLDeployResult{}, nil @@ -106,10 +112,14 @@ func createSDKClient(accessKeyId, accessKeySecret, region string) (*oss.Client, endpoint = fmt.Sprintf("oss-%s.aliyuncs.com", region) } - client, err := oss.New(endpoint, accessKeyId, accessKeySecret) - if err != nil { - return nil, err + provider := credentials.NewStaticCredentialsProvider(accessKeyId, accessKeySecret) + config := oss.LoadDefaultConfig(). + WithCredentialsProvider(provider). + WithEndpoint(endpoint) + if region != "" { + config = config.WithRegion(region) } + client := oss.NewClient(config) return client, nil }