Skip to content

Commit 6a6b011

Browse files
update oss shipper
1 parent 70cf6db commit 6a6b011

File tree

2 files changed

+69
-16
lines changed

2 files changed

+69
-16
lines changed

logstore_test.go

+40-4
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ func (s *LogstoreTestSuite) TestGetLogs() {
210210
lg := &LogGroup{
211211
Topic: proto.String("demo topic"),
212212
Source: proto.String("10.230.201.117"),
213-
Logs: []*Log{},
213+
Logs: []*Log{},
214214
}
215215
logCount := 50
216216
for i := 0; i < logCount; i++ {
@@ -454,7 +454,7 @@ func (s *LogstoreTestSuite) TestLogShipper() {
454454

455455
storage := ShipperStorage{
456456
Format: "json",
457-
Detail: OssStorageJsonDetail{EnableTag:true},
457+
Detail: OssStorageJsonDetail{EnableTag: true},
458458
}
459459
ossShipperConfig := &OSSShipperConfig{
460460
OssBucket: "test_bucket",
@@ -464,7 +464,7 @@ func (s *LogstoreTestSuite) TestLogShipper() {
464464
BufferSize: 100,
465465
CompressType: "none",
466466
PathFormat: "%Y/%m/%d/%H/%M",
467-
Storage: storage,
467+
Storage: storage,
468468
}
469469
ossShipper := &Shipper{
470470
ShipperName: ossShipperName,
@@ -490,11 +490,47 @@ func (s *LogstoreTestSuite) TestLogShipper() {
490490
assert.Equal(ossShipperName, getShipper.ShipperName)
491491
assert.Equal(OSSShipperType, getShipper.TargetType)
492492

493-
err = s.Logstore.DeleteShipper(ossShipperName)
493+
detail := OssStoreageCsvDetail{
494+
Delimiter: ",",
495+
Header: false,
496+
LineFeed: "\n",
497+
Columns: []string{"__topic__", "alarm_count", "alarm_message", "alarm_type", "category", "project_name"},
498+
NullIdentifier: "",
499+
Quote: "\\",
500+
}
501+
storage = ShipperStorage{
502+
Format: "csv",
503+
Detail: detail,
504+
}
505+
ossShipperConfig.Storage = storage
506+
ossShipper.TargetConfiguration = ossShipperConfig
507+
err = s.Logstore.UpdateShipper(ossShipper)
494508
assert.Nil(err)
495509

510+
config1 := ParquetConfig{
511+
Name: "name",
512+
Type: "string",
513+
}
514+
config2 := ParquetConfig{
515+
Name: "name2",
516+
Type: "int64",
517+
}
518+
ParquetDetail := OssStoreageParquet{}
519+
ParquetDetail.Columns = append(ParquetDetail.Columns, config1)
520+
ParquetDetail.Columns = append(ParquetDetail.Columns, config2)
521+
storage = ShipperStorage{
522+
Format: "parquet",
523+
Detail: ParquetDetail,
524+
}
525+
ossShipperConfig.Storage = storage
526+
ossShipper.TargetConfiguration = ossShipperConfig
527+
err = s.Logstore.UpdateShipper(ossShipper)
528+
assert.Nil(err)
529+
err = s.Logstore.DeleteShipper(ossShipperName)
530+
assert.Nil(err)
496531
_, err = s.Logstore.GetShipper(ossShipperName)
497532
assert.NotNil(err)
498533
assert.IsType(new(Error), err)
499534
assert.Equal(int32(400), err.(*Error).HTTPCode)
535+
500536
}

oss_shipper_config.go

+29-12
Original file line numberDiff line numberDiff line change
@@ -25,24 +25,41 @@ type shipperDisplay struct {
2525
TargetConfiguration interface{} `json:"targetConfiguration"`
2626
}
2727

28+
type OssStoreageCsvDetail struct {
29+
Delimiter string `json:"delemiter"`
30+
Header bool `json:"header"`
31+
LineFeed string `json:"lineFeed"`
32+
Columns []string `json:"columns"`
33+
NullIdentifier string `json:"nullIdentfifier"`
34+
Quote string `json:"quote"`
35+
}
36+
37+
type ParquetConfig struct {
38+
Name string `json:"name"`
39+
Type string `json:"type"`
40+
}
41+
42+
type OssStoreageParquet struct {
43+
Columns []ParquetConfig `json:"columns"`
44+
}
2845
type OSSShipperConfig struct {
29-
OssBucket string `json:"ossBucket"`
30-
OssPrefix string `json:"ossPrefix"`
31-
RoleArn string `json:"roleArn"`
32-
BufferInterval int `json:"bufferInterval"`
33-
BufferSize int `json:"bufferSize"`
34-
CompressType string `json:"compressType"`
35-
PathFormat string `json:"pathFormat"`
36-
Format string `json:"format"`
37-
Storage ShipperStorage `json:"storage"`
46+
OssBucket string `json:"ossBucket"`
47+
OssPrefix string `json:"ossPrefix"`
48+
RoleArn string `json:"roleArn"`
49+
BufferInterval int `json:"bufferInterval"`
50+
BufferSize int `json:"bufferSize"`
51+
CompressType string `json:"compressType"`
52+
PathFormat string `json:"pathFormat"`
53+
Format string `json:"format"`
54+
Storage ShipperStorage `json:"storage"`
3855
}
3956

4057
type ShipperStorage struct {
41-
Format string `json:"format"`
42-
Detail interface{} `json:"detail"`
58+
Format string `json:"format"`
59+
Detail interface{} `json:"detail"`
4360
}
4461

45-
type OssStorageJsonDetail struct{
62+
type OssStorageJsonDetail struct {
4663
EnableTag bool `json:"enableTag"`
4764
}
4865

0 commit comments

Comments
 (0)