最近更新时间:2026-03-02 21:48:45
本文介绍大模型应用防火墙(KMAF)Go SDK 的安装方式及初始化配置。
参考 https://apiexplorer.ksyun.com/#/api/252/1498
您已获取金山云账号的 AccessKey 和 SecretKey(即 AK、SK)。获取方式请参见获取 AccessKey 和 SecretKey。
您已在大模型应用防火墙控制台完成防护应用接入配置,并为防护应用配置了相关防护模板。模板配置详情请参见防护模板介绍。
您的开发环境已安装 Go 1.17 或更高版本。
通过 go get 命令安装 SDK:
go get github.com/kingsoftcloud/sdk-go/v2SDK 初始化需要配置以下三个核心对象:凭证(Credential)、客户端配置(ClientProfile) 和 客户端实例(Client)。
通过 common.NewCredential 创建凭证对象,传入 AccessKey 和 SecretKey。强烈建议通过环境变量读取,避免在代码中硬编码密钥信息。
import "github.com/kingsoftcloud/sdk-go/v2/ksyun/common"
ak := os.Getenv("KSYUN_AK")
sk := os.Getenv("KSYUN_SK")
credential := common.NewCredential(ak, sk)通过 profile.NewClientProfile 创建客户端配置,设置请求方法、超时时间和服务地址等参数。
import "github.com/kingsoftcloud/sdk-go/v2/ksyun/common/profile"
cpf := profile.NewClientProfile()
cpf.HttpProfile.ReqMethod = "POST"
cpf.HttpProfile.ReqTimeout = 10 // 请求超时时间,单位:秒
cpf.HttpProfile.Endpoint = "kmaf.api.ksyun.com" // 服务地址HttpProfile 参数说明:
参数 | 类型 | 默认值 | 说明 |
| string |
| 请求方法,当前仅支持 POST |
| int |
| 请求超时时间,单位为秒 |
| string | — | 服务接入地址,格式为 |
| string |
| 请求协议,支持 |
ClientProfile 参数说明:
参数 | 类型 | 默认值 | 说明 |
| string |
| 签名算法 |
| bool |
| 是否对请求体不签名 |
| string |
| 语言设置 |
| bool |
| 是否开启调试模式,开启后会打印请求详情 |
传入凭证、地域标识和客户端配置,创建 KMAF 客户端实例。
import kmaf "github.com/kingsoftcloud/sdk-go/v2/ksyun/client/kmaf/v20260130"
client, err := kmaf.NewClient(credential, "cn-beijing-6", cpf)
if err != nil {
fmt.Printf("创建客户端失败: %s\n", err)
return
}package main
import (
"fmt"
"os"
kmaf "github.com/kingsoftcloud/sdk-go/v2/ksyun/client/kmaf/v20260130"
"github.com/kingsoftcloud/sdk-go/v2/ksyun/common"
"github.com/kingsoftcloud/sdk-go/v2/ksyun/common/profile"
)
func main() {
// 1. 配置访问凭证(建议从环境变量读取)
ak := os.Getenv("KSYUN_AK")
sk := os.Getenv("KSYUN_SK")
credential := common.NewCredential(ak, sk)
// 2. 配置客户端参数
cpf := profile.NewClientProfile()
cpf.HttpProfile.ReqMethod = "POST"
cpf.HttpProfile.ReqTimeout = 10
cpf.HttpProfile.Endpoint = "kmaf.api.ksyun.com"
// 3. 创建客户端实例
client, err := kmaf.NewClient(credential, "cn-beijing-6", cpf)
if err != nil {
fmt.Printf("创建客户端失败: %s\n", err)
return
}
fmt.Println("客户端初始化成功", client)
}
纯净模式