middleware

package
v0.0.0-...-cb472e6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2021 License: MIT Imports: 17 Imported by: 0

README

模型实例采集器

用于录入/更新模型实例

工作流程
  1. 采集器采集实例数据并上报,采集的实例对应的模型必须已经存在并且具有一个must_check为true的唯一校验,否则上报的实例数据将不会被录入。采集器不提供采集模型和属性的功能

    上报数据字段说明:

    字段 类型 必选 描述
    meta object 模型信息
    data object 实例信息

    meta.model字段说明:

    字段 类型 必选 描述
    bk_obj_id string 模型的bk_obj_id
    bk_supplier_account string 开发商账号

    data字段说明:

    字段 类型 必选 描述
    must_check string 此处仅为示例数据,需要设置为模型定义的must_check为true的唯一校验中的字段的bk_property_id,所有must_check为true的唯一校验中的字段都必填,否则上报的实例数据将不会被录入
    test string 此处仅为示例数据,需要设置为模型中定义的字段的bk_property_id

    请求参数示例:

    {
       "meta": {
           "model": {
               "bk_obj_id": "test",
               "bk_supplier_account": "0"
           }
       },
       "data": {
           "must_check": "test",
           "test": "test"
       }
    }
    
  2. 服务端处理上报的实例数据,按照模型定义的must_check为true的唯一校验判断实例是否存在,若存在则更新已有的实例数据,若不存在则新增实例。模型不存在或没有一个唯一的must_check为true的唯一校验或上报数据不符合上述规则的数据不会被录入

Documentation

Index

Constants

This section is empty.

Variables

View Source
var MockMessage = `` /* 215-byte string literal not displayed */

Functions

This section is empty.

Types

type Discover

type Discover struct {
	*backbone.Engine
	// contains filtered or unexported fields
}

func NewDiscover

func NewDiscover(ctx context.Context, redisCli *redis.Client, backbone *backbone.Engine, authManager *extensions.AuthManager) *Discover

func (*Discover) Analyze

func (d *Discover) Analyze(msg *string) error

func (*Discover) CreateInstKey

func (d *Discover) CreateInstKey(objID string, ownerID string, val []string) string

func (*Discover) GetInst

func (d *Discover) GetInst(ownerID, objID string, instKey string, cond map[string]interface{}) (map[string]interface{}, error)

func (*Discover) GetInstFromRedis

func (d *Discover) GetInstFromRedis(instKey string) (map[string]interface{}, error)

func (*Discover) Hash

func (d *Discover) Hash(cloudid, ip string) (string, error)

Hash returns hash value base on message.

func (*Discover) Mock

func (d *Discover) Mock() string

Mock returns local mock message for testing.

func (*Discover) TrySetRedis

func (d *Discover) TrySetRedis(key string, value []byte, duration time.Duration)

func (*Discover) TryUnsetRedis

func (d *Discover) TryUnsetRedis(key string)

func (*Discover) UpdateOrCreateInst

func (d *Discover) UpdateOrCreateInst(msg *string) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL