Skip to content

Kotagan/aliyun-acm

 
 

Repository files navigation

aliyun-acm

aliyun-acm是对阿里云应用配置管理的封装

Usage

package main

import (
	"fmt"
	aliacm "github.com/xiaojiaoyu100/aliyun-acm/v2"
	"github.com/xiaojiaoyu100/aliyun-acm/v2/config"
	"github.com/xiaojiaoyu100/aliyun-acm/v2/info"
	"github.com/xiaojiaoyu100/aliyun-acm/v2/observer"
)

func handle(coll map[info.Info]*config.Config) {
	for _, o := range coll {
		fmt.Println(string(o.Content))
	}
}

func main() {
	d, err := aliacm.New(
		addr,
		tenant,
		accessKey,
		secretKey)
	if err != nil {
		fmt.Println(err)
		return
	}

	o1, err := observer.New(
		observer.WithInfo(
			info.Info{Group: "YourGroup", DataID: "YourDataID"},
			),
		observer.WithHandler(handle))
	if err != nil {
		return
	}
	o2, err := observer.New(
		observer.WithInfo(
			info.Info{Group: "YourGroup", DataID: "YourDataID"},
			info.Info{Group: "YourAnotherGroup", DataID: "YourAnotherDataID"},
			),
		observer.WithHandler(handle))
	if err != nil {
		return
	}

	var f = func(h info.Info, err error) {
		fmt.Println(err)
	}
	d.SetHook(f)

	d.Register(o1, o2)

	select{}
}

Packages

No packages published

Languages

  • Go 100.0%