产品动态
公告
go get github.com/tencentcloud/tencentcloud-cls-sdk-go
import ("fmt""github.com/TencentCloud/tencentcloud-cls-sdk-go")
变量 | 类型 | 是否必填 | 说明 |
Endpoint | String | 是 | |
AccessKeyID | String | 是 | |
AccessKeySecret | String | 是 | |
topicId | String | 是 | 日志主题的 ID 信息。 |
package main// 引入日志服务 Go SDKimport ("fmt""github.com/tencentcloud/tencentcloud-cls-sdk-go""sync""os""time")func main() {producerConfig := tencentcloud_cls_sdk_go.GetDefaultAsyncProducerClientConfig()// 填入域名信息,填写指引:https://www.tencentcloud.com/document/product/614/18940?from_cn_redirect=1#.E5.9F.9F.E5.90.8D,请参见链接中 API 上传日志 Tab 中的域名producerConfig.Endpoint = "ap-XXXXXXXXX.cls.xxxxxxx.com"// 填入云API密钥信息。密钥信息获取请前往:https://console.tencentcloud.com/cam/capi// 并请确保密钥关联的账号具有相应的日志上传权限,权限配置指引:https://www.tencentcloud.com/document/product/614/68374?from_cn_redirect=1#.E4.BD.BF.E7.94.A8-api-.E4.B8.8A.E4.BC.A0.E6.95.B0.E6.8D.AE// 本示例从环境变量中获取,环境变量配置指引:https://www.tencentcloud.com/document/product/614/113851?from_cn_redirect=1producerConfig.AccessKeyID = os.Getenv("TENCENTCLOUD_SECRET_ID")producerConfig.AccessKeySecret = os.Getenv("TENCENTCLOUD_SECRET_KEY")// 设置要上传日志的主题 ID,替换为您的 Topic IDtopicId := "8bbXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"// 创建异步生产者客户端实例producerInstance, err := tencentcloud_cls_sdk_go.NewAsyncProducerClient(producerConfig)if err != nil {fmt.Println(err)return}// 启动异步发送程序producerInstance.Start()var m sync.WaitGroupcallBack := &Callback{}for i := 0; i < 10; i++ {m.Add(1)go func() {defer m.Done()for i := 0; i < 1000; i++ {// 创建新的日志,包含当前时间戳和日志内容log := tencentcloud_cls_sdk_go.NewCLSLog(time.Now().Unix(), map[string]string{"content": "hello world| I'm from XXX", "content2": fmt.Sprintf("%v", i)})err = producerInstance.SendLog(topicId, log, callBack)if err != nil {fmt.Println(err)continue}}}()}m.Wait()producerInstance.Close(60000)}type Callback struct {}func (callback *Callback) Success(result *tencentcloud_cls_sdk_go.Result) {attemptList := result.GetReservedAttempts()for _, attempt := range attemptList {fmt.Printf("%+v \\n", attempt)}}func (callback *Callback) Fail(result *tencentcloud_cls_sdk_go.Result) {fmt.Println(result.IsSuccessful())fmt.Println(result.GetErrorCode())fmt.Println(result.GetErrorMessage())fmt.Println(result.GetReservedAttempts())fmt.Println(result.GetRequestId())fmt.Println(result.GetTimeStampMs())}
文档反馈