日志投递LogShipper操作
更新时间:2025-04-07
创建LogShipper
创建投递任务,需要遵循以下准则:
- 每个日志集可以创建多个投递任务
- 总投递任务上限为300
- 投递任务名称,最长63个字符,包含字母、数字、-和_
- 投递开始时间,最早为前180天,最迟为后24小时,默认为任务创建时间为开始时间,格式为ISO8601
Go
1createLogShipperRequest := CreateLogShipperRequest{
2 LogShipperName: "test",
3 Project: "default",
4 LogStoreName: "test",
5 StartTime: time.Now().UTC().Format("2006-01-02T15:04:05Z"),
6 DestType: "BOS",
7 DestConfig: &api.ShipperDestConfig{
8 BOSPath: "bls-test/sdk-log-shipper-test/",
9 PartitionFormatTS: "%Y/%m/%d/%H/%M/",
10 PartitionFormatLogStream: false,
11 MaxObjectSize: 64,
12 CompressType: "none",
13 DeliverInterval: 5,
14 StorageFormat: "json",
15 ShipperType: "text",
16 },
17}
18id, err := BLS_CLIENT.CreateLogShipperV2(createLogShipperRequest)
19if err != nil {
20 fmt.Println("Create LogShipper failed: ", err)
21} else {
22 fmt.Printf("Create LogShipper %s success.", id)
23}
提示:
- 详细的参数配置及限制条件,可以参考BLS API 文档CreateLogShipper
更新指定LogShipper
通过以下代码,更新指定的投递任务,目前不支持更改投递任务的日志集、起始时间和目的类型
Go
1updateLogShipperRequest := UpdateLogShipperRequest{
2 LogShipperID: "vxkAJtxc5hGbJIu2JwkqI5Ux",
3 LogShipperName: "test",
4 DestConfig: &api.ShipperDestConfig{
5 BOSPath: "bls-test/sdk-log-shipper-test/",
6 PartitionFormatTS: "%Y/%m/%d/%H/%M/",
7 PartitionFormatLogStream: false,
8 MaxObjectSize: 128,
9 CompressType: "none",
10 DeliverInterval: 10,
11 StorageFormat: "JSON",
12 },
13}
14err := BLS_CLIENT.UpdateLogShipperV2(updateLogShipperRequest)
15if err != nil {
16 fmt.Println("Update LogShipper failed: ", err)
17} else {
18 fmt.Println("Update LogShipper success.")
19}
提示:
- 详细的参数配置及限制条件,可以参考BLS API 文档UpdateLogShipper
查询指定LogShipper
通过以下代码,获取指定投递任务的详情信息。
Go
1getLogShipperRequest := GetLogShipperRequest{
2 LogShipperID: "vxkAJtxc5hGbJIu2JwkqI5Ux",
3}
4res, err := BLS_CLIENT.GetLogShipperV2(getLogShipperRequest)
5if err != nil {
6 fmt.Println("Get LogShipper failed: ", err)
7} else {
8 fmt.Println("LogShipper info: ", res)
9}
提示:
- 详细的参数配置及限制条件,可以参考BLS API 文档GetLogShipper
获取LogShipper列表
通过以下代码,查看符合查询条件的投递任务。
Go
1listLogShipperRequest := ListLogShipperRequest{
2 Project: "default",
3 LogStoreName: "test",
4 PageNo: 1,
5 PageSize: 10,
6}
7res, err := BLS_CLIENT.ListLogShipperV2(listLogShipperRequest)
8if err != nil {
9 fmt.Println("Get LogShipper list failed: ", err)
10} else {
11 fmt.Println("List LogShipper success: ", res)
12}
提示:
- 详细的参数配置及限制条件,可以参考BLS API 文档ListLogShipper
查看LogShipper执行记录
通过以下代码,查看投递任务的执行记录。
Go
1listShipperRecordRequest := ListShipperRecordRequest{
2 LogShipperID: "vxkAJtxc5hGbJIu2JwkqI5Ux",
3}
4res, err := BLS_CLIENT.ListLogShipperRecordV2(listShipperRecordRequest)
5if err != nil {
6 fmt.Println("Get LogShipper record failed: ", err)
7} else {
8 fmt.Println("Get LogShipper record success: ", res)
9}
提示:
- 详细的参数配置及限制条件,可以参考BLS API 文档ListLogShipperRecord
启停LogShipper
单个启停
通过以下代码,启停指定的投递任务。
Go
1updateLogShipperStatusRequest := UpdateLogShipperStatusRequest{
2 LogShipperID: "vxkAJtxc5hGbJIu2JwkqI5Ux",
3 DesiredStatus: "Paused",
4}
5err := BLS_CLIENT.UpdateLogShipperStatusV2(updateLogShipperStatusRequest)
6if err != nil {
7 fmt.Println("Set LogShipper status failed: ", err)
8} else {
9 fmt.Println("Set LogShipper status success.")
10}
提示:
- 详细的参数配置及限制条件,可以参考BLS API 文档SetSingleLogShipperStatus
批量启停
通过以下代码,批量启停投递任务。
Go
1bulkUpdateLogShipperStatusRequest := BulkUpdateLogShipperStatusRequest{
2 LogShipperIDs: []string{"vxkAJtxc5hGbJIu2JwkqI5Ux"},
3 DesiredStatus: "Paused",
4}
5err := BLS_CLIENT.BulkUpdateLogShipperStatusV2(bulkUpdateLogShipperStatusRequest)
6if err != nil {
7 fmt.Println("Bulk set LogShipper status failed: ", err)
8} else {
9 fmt.Println("Bulk set LogShipper status success.")
10}
提示:
- 详细的参数配置及限制条件,可以参考BLS API 文档BulkSetLogShipperStatus
删除LogShipper
单个删除
通过以下代码,删除指定的投递任务。
Go
1deleteLogShipperRequest := DeleteLogShipperRequest{
2 LogShipperID: "vxkAJtxc5hGbJIu2JwkqI5Ux",
3}
4err := BLS_CLIENT.DeleteLogShipperV2(deleteLogShipperRequest)
5if err != nil {
6 fmt.Println("Delete LogShipper failed: ", err)
7} else {
8 fmt.Println("Delete LogShipper success.")
9}
提示:
- 详细的参数配置及限制条件,可以参考BLS API 文档DeleteSingleLogShipper
批量删除
通过以下代码,批量删除投递任务。
Go
1bulkDeleteLogShipperRequest := BulkDeleteLogShipperRequest{
2 LogShipperIDs: []string{"vxkAJtxc5hGbJIu2JwkqI5Ux"},
3}
4err := BLS_CLIENT.BulkDeleteLogShipperV2(bulkDeleteLogShipperRequest)
5if err != nil {
6 fmt.Println("Bulk delete LogShipper failed: ", err)
7} else {
8 fmt.Println("Bulk delete LogShipper success.")
9}
提示:
- 详细的参数配置及限制条件,可以参考BLS API 文档BulkDeleteLogShipper