日志流增查改删操作场景
本示例展示如何通过go版本的SDK方式对日志流进行管理。
功能介绍
本实例为对指定日志组下的日志流进行创建,查询,删除操作。
前置条件
1.已 注册 华为云,并完成 实名认证 。
2.获取华为云开发工具包(SDK),您也可以查看安装Go SDK。
3.已获取华为云账号对应的Access Key(AK),Secret Access Key(SK)以及对应项目的id。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 访问密钥 。
4.已具备开发环境 ,支持Go 1.16及其以上版本。
代码示例
Copied!
package main
import (
ltsRegion "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/v2/region"
"fmt"
"os"
"log"
coreBasic "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
lts "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/v2"
ltsModel "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/v2/model"
)
type LogStreamDemo struct{}
func NewLogStreamDemoDefault() LogStreamDemo {
l := LogStreamDemo{}
return l
}
func main() {
ak := os.Getenv("HUAWEICLOUD_SDK_AK")
sk := os.Getenv("HUAWEICLOUD_SDK_SK")
auth := coreBasic.NewCredentialsBuilder().WithAk(ak).WithSk(sk).Build()
client := *lts.NewLtsClient(lts.LtsClientBuilder().
WithCredential(auth).
WithRegion(ltsRegion.ValueOf("cn-east-2")).
Build())
logStreamDemoCreateLogStream(client)
logStreamDemoListLogStream(client)
logStreamDemoDeleteLogStream(client)
}
func logStreamDemoCreateLogStream(client lts.LtsClient) {
request := ltsModel.CreateLogStreamRequest{}
request.LogGroupId = "{logGroupId}"
body := ltsModel.CreateLogStreamParams{}
body.LogStreamName = "logStreamName"
request.Body = &body
response, err := client.CreateLogStream(&request)
if err != nil {
fmt.Println(err)
return
}
log.Println(response.String())
}
func logStreamDemoListLogStream(client lts.LtsClient) {
request := ltsModel.ListLogStreamRequest{}
request.LogGroupId = "{logGroupId}"
listLogStreamRequestTagParam := "k1=v1"
request.Tag = &listLogStreamRequestTagParam
response, err := client.ListLogStream(&request)
if err != nil {
fmt.Println(err)
return
}
log.Println(response.String())
}
func logStreamDemoDeleteLogStream(client lts.LtsClient) {
request := ltsModel.DeleteLogStreamRequest{}
request.LogGroupId = "{logGroupId}"
request.LogStreamId = "{logStreamId}"
response, err := client.DeleteLogStream(&request)
if err != nil {
fmt.Println(err)
return
}
log.Println(response.String())
}
您可以在 API Explorer 中直接运行调试该接口。
修订记录
发布日期 |
文档版本 |
修订说明 |
2021-11-19 |
1.0 |
文档首次发布 |
版本说明
本示例基于华为云SDK开发
日志流增查改删操作场景
本示例展示如何通过go版本的SDK方式对日志流进行管理。
功能介绍
本实例为对指定日志组下的日志流进行创建,查询,删除操作。
前置条件
1.已 注册 华为云,并完成 实名认证 。
2.获取华为云开发工具包(SDK),您也可以查看安装Go SDK。
3.已获取华为云账号对应的Access Key(AK),Secret Access Key(SK)以及对应项目的id。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 访问密钥 。
4.已具备开发环境 ,支持Go 1.16及其以上版本。
代码示例
package main import ( ltsRegion "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/v2/region" "fmt" "os" "log" coreBasic "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" lts "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/v2" ltsModel "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/lts/v2/model" ) type LogStreamDemo struct{} func NewLogStreamDemoDefault() LogStreamDemo { l := LogStreamDemo{} return l } func main() { // 1.基础认证信息: // ak: 华为云账号Access Key // sk: 华为云账号Secret Access Key // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") // 2.初始化SDK,传入认证信息及CloudDeploy局点信息 auth := coreBasic.NewCredentialsBuilder().WithAk(ak).WithSk(sk).Build() client := *lts.NewLtsClient(lts.LtsClientBuilder(). WithCredential(auth). WithRegion(ltsRegion.ValueOf("cn-east-2")). Build()) // 3.进行相应操作 // 创建日志流 logStreamDemoCreateLogStream(client) // 查询日志流们 logStreamDemoListLogStream(client) // 删除日志流 logStreamDemoDeleteLogStream(client) } func logStreamDemoCreateLogStream(client lts.LtsClient) { request := ltsModel.CreateLogStreamRequest{} request.LogGroupId = "{logGroupId}" body := ltsModel.CreateLogStreamParams{} body.LogStreamName = "logStreamName" request.Body = &body response, err := client.CreateLogStream(&request) if err != nil { fmt.Println(err) return } log.Println(response.String()) } func logStreamDemoListLogStream(client lts.LtsClient) { request := ltsModel.ListLogStreamRequest{} request.LogGroupId = "{logGroupId}" listLogStreamRequestTagParam := "k1=v1" request.Tag = &listLogStreamRequestTagParam response, err := client.ListLogStream(&request) if err != nil { fmt.Println(err) return } log.Println(response.String()) } func logStreamDemoDeleteLogStream(client lts.LtsClient) { request := ltsModel.DeleteLogStreamRequest{} request.LogGroupId = "{logGroupId}" request.LogStreamId = "{logStreamId}" response, err := client.DeleteLogStream(&request) if err != nil { fmt.Println(err) return } log.Println(response.String()) }
您可以在 API Explorer 中直接运行调试该接口。
修订记录