3. 安装SDK
使用服务端SDK前,您需要安装“huaweicloud-sdk-core”和“huaweicloud-sdk-antiddos”,具体的SDK版本号请参见 SDK开发中心 。
Copied!
go get -u github.com/huaweicloud/huaweicloud-sdk-go-v3
4. 开始使用
4.1 导入依赖模块
Copied!
import "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/antiddos/v1"
import "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
4.2 示例代码
Copied!
package main
import (
coreRegion "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/region"
"fmt"
"log"
"os"
coreBasic "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
antiddos "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/antiddos/v1"
antiddosModel "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/antiddos/v1/model"
)
type UpdateDDosDemo struct{}
func NewUpdateDDosDemoDefault() UpdateDDosDemo {
u := UpdateDDosDemo{}
return u
}
func main() {
ak := os.Getenv("HUAWEICLOUD_SDK_AK");
sk := os.Getenv("HUAWEICLOUD_SDK_SK");
projectId := "<YOUR PROJECT ID>"
auth := coreBasic.NewCredentialsBuilder().WithAk(ak).WithSk(sk).WithProjectId(projectId).Build()
client := *antiddos.NewAntiDDoSClient(antiddos.AntiDDoSClientBuilder().
WithCredential(auth).
WithRegion(&coreRegion.Region{Id: "<id>", Endpoint: "<endpoint>"}).
Build())
appTypeId := int32(0)
cleaningAccessPosId := int32(1)
enableL7 := false
httpRequestPosId := int32(1)
trafficPosId := int32(1)
body := antiddosModel.UpdateAntiDDosServiceRequestBody{
AppTypeId: appTypeId,
CleaningAccessPosId: cleaningAccessPosId,
EnableL7: enableL7,
HttpRequestPosId: httpRequestPosId,
TrafficPosId: trafficPosId,
}
request := antiddosModel.UpdateDDosRequest{
FloatingIpId: "<floating_ip_id>",
Body: &body,
}
response, err := client.UpdateDDos(&request)
if err != nil {
fmt.Println(err)
return
}
log.Println(response.String())
}
4.3 接口及参数说明
请见 更新Anti-DDoS服务
Anti-DDoS流量清洗服务更新Anti-DDoS服务示例(GO版本)
本示例基于华为云SDK开发。
1. 简介
华为云提供了Anti-DDoS流量清洗服务端SDK,您可以直接集成服务端SDK来调用Anti-DDoS流量清洗服务的相关API,从而实现对Anti-DDoS流量清洗服务的快速操作。该示例展示了如何通过GO版SDK进行更新Anti-DDoS服务。
2. 开发前准备
3. 安装SDK
使用服务端SDK前,您需要安装“huaweicloud-sdk-core”和“huaweicloud-sdk-antiddos”,具体的SDK版本号请参见 SDK开发中心 。
4. 开始使用
4.1 导入依赖模块
// 导入待请求接口的类 (以更新Anti-DDoS服务为例) import "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/antiddos/v1" // 用户身份认证 import "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
4.2 示例代码
package main import ( coreRegion "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/region" "fmt" "log" "os" coreBasic "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" antiddos "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/antiddos/v1" antiddosModel "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/antiddos/v1/model" ) type UpdateDDosDemo struct{} func NewUpdateDDosDemoDefault() UpdateDDosDemo { u := UpdateDDosDemo{} return u } func main() { /* 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 初始化认证信息,相关参数说明如下所示: - ak:华为云账号Access Key。 - sk:华为云账号Secret Access Key 。 */ ak := os.Getenv("HUAWEICLOUD_SDK_AK"); sk := os.Getenv("HUAWEICLOUD_SDK_SK"); projectId := "<YOUR PROJECT ID>" auth := coreBasic.NewCredentialsBuilder().WithAk(ak).WithSk(sk).WithProjectId(projectId).Build() // 初始化客户端 client := *antiddos.NewAntiDDoSClient(antiddos.AntiDDoSClientBuilder(). WithCredential(auth). WithRegion(&coreRegion.Region{Id: "<id>", Endpoint: "<endpoint>"}). Build()) appTypeId := int32(0) cleaningAccessPosId := int32(1) enableL7 := false httpRequestPosId := int32(1) trafficPosId := int32(1) body := antiddosModel.UpdateAntiDDosServiceRequestBody{ AppTypeId: appTypeId, CleaningAccessPosId: cleaningAccessPosId, EnableL7: enableL7, HttpRequestPosId: httpRequestPosId, TrafficPosId: trafficPosId, } request := antiddosModel.UpdateDDosRequest{ FloatingIpId: "<floating_ip_id>", Body: &body, } response, err := client.UpdateDDos(&request) if err != nil { fmt.Println(err) return } log.Println(response.String()) }
4.3 接口及参数说明
请见 更新Anti-DDoS服务
5. FAQ
暂无
6. 参考
更多信息请参考Anti-DDoS流量清洗
修订记录