go get github.com/tencentcloud/tencentcloud-cls-sdk-go
import ("fmt""github.com/TencentCloud/tencentcloud-cls-sdk-go")
変数 | タイプ | 必須/任意 | 説明 |
Endpoint | String | はい | |
AccessKeyID | String | はい | TencentCloud APIキー情報です。キー情報の取得は、APIキー管理で行ってください。また、キーに関連付けられたアカウントに、対応するSDKログアップロード権限が付与されていることを確認してください。 |
AccessKeySecret | String | はい | TencentCloud APIキー情報です。キー情報の取得は、APIキー管理で行ってください。また、キーに関連付けられたアカウントに、対応するSDKログアップロード権限が付与されていることを確認してください。 |
topicId | String | はい | 日志主题的 ID 信息。 |
package main// ログサービスGo SDKを導入しますimport ("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#.E5.9F.9F.E5.90.8D。リンク内のAPIログアップロードタブにあるドメイン名を参照してください。producerConfig.Endpoint = "ap-XXXXXXXXX.cls.xxxxxxx.com"// TencentCloud APIキー情報を入力してください。キー情報の取得については、https://console.tencentcloud.com/cam/capiにアクセスしてください。// また、キーに関連付けられたアカウントに、対応するログアップロード権限が付与されていることを確認してください。権限設定ガイド:https://www.tencentcloud.com/document/product/614/45004#.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 IDに置き換えてください。topicId := "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())}
フィードバック