【新增】【部署】新增火山引擎DCDN

This commit is contained in:
wantoper
2025-05-30 11:28:33 +08:00
parent c3a38aa008
commit 414321e3cf
7 changed files with 157 additions and 1 deletions

View File

@@ -13,11 +13,20 @@ type VolcEngineCdnClient struct {
*cdn.CDN
}
func ClientVolcEngineCdn(ak, sk, region string) (*VolcEngineCdnClient, error) {
func createSdkSession(ak, sk, region string) (*session.Session, error) {
config := volcengine.NewConfig().
WithRegion(region).
WithCredentials(credentials.NewStaticCredentials(ak, sk, ""))
sess, err := session.NewSession(config)
if err != nil {
return nil, fmt.Errorf("创建火山引擎客户端失败: %w", err)
}
return sess, err
}
func ClientVolcEngineCdn(ak, sk, region string) (*VolcEngineCdnClient, error) {
sess, err := createSdkSession(ak, sk, region)
if err != nil {
return nil, fmt.Errorf("创建火山引擎CDN客户端失败: %w", err)
}

View File

@@ -0,0 +1,35 @@
package deploy
import (
"fmt"
"github.com/volcengine/volcengine-go-sdk/service/dcdn"
"github.com/volcengine/volcengine-go-sdk/volcengine"
)
type VolcEngineDcdnClient struct {
*dcdn.DCDN
}
func ClientVolcEngineDcdn(ak, sk, region string) (*VolcEngineDcdnClient, error) {
sess, err := createSdkSession(ak, sk, region)
if err != nil {
return nil, fmt.Errorf("创建火山引擎DCDN客户端失败: %w", err)
}
dcdnClient := &VolcEngineDcdnClient{
DCDN: dcdn.New(sess),
}
return dcdnClient, nil
}
func (v *VolcEngineDcdnClient) IDCDNCreateCertBindInput(certId, domain string) error {
createCertBindInput := &dcdn.CreateCertBindInput{
CertId: volcengine.String(certId),
DomainNames: volcengine.StringSlice([]string{domain}),
}
_, err := v.CreateCertBind(createCertBindInput)
if err != nil {
return fmt.Errorf("部署证书失败: %w", err)
}
return err
}

View File

@@ -0,0 +1,19 @@
package deploy
import (
"fmt"
"testing"
)
func TestVolcEngineDcdnClient_IDCDNCreateCertBindInput(t *testing.T) {
id := "cert-"
domain := "hsdcdn.xxxx.com"
client, _ := ClientVolcEngineDcdn("", "==", "cn-north-1")
err := client.IDCDNCreateCertBindInput(id, domain)
if err != nil {
fmt.Printf("err:%+v", err)
return
}
}