PulsarctlApache Pulsar 的 CLI

联合创作 · 2023-09-30 19:35

Pulsarctl是StreamNative为Apache Pulsar开发的命令行界面(CLI)。

功能与特性:

Pulsarctl是pulsar-admin的替代工具,用于管理Apache Pulsar中的客户端。 Pulsarctl是基于Pulsar REST API,用Go语言编写的。它为Go开发人员提供API接口和用户友好的命令,从而使其更易于与Pulsar Broker进行交互。

与pulsar-admin相比,Pulsarctl更加用户友好:

  • Pulsarctl统一分区主题和主题命令,并提供清晰详细的输出;
  • 在Pulsarctl中,所有与订阅相关的命令都分组在订阅命令中,而在pulsar-admin中,所有与订阅相关的命令都用作主题的子命令,使用不便;
  • Pulsarctl改进了特殊字符的使用,而在pulsar-admin中,要求用户在shell中输入json-string,用法复杂。

使用方法

Pulsarctl有两种使用方式:

  1. 在Go中使用并与Pulsar Broker进行交互。Admin API是由Go开发的。
  2. 在命令行中将其用作pulsar-admin。

示例

使用Pulsarctl Admin API代码示例:

config := &pulsar.Config{
		WebServiceURL: “http://localhost:8080”,
		HTTPClient:    http.DefaultClient,

		// If the server enable the TLSAuth
		// Auth: auth.NewAuthenticationTLS()

		// If the server enable the TokenAuth
		// TokenAuth: auth.NewAuthenticationToken()
	}
	// the default NewPulsarClient will use v2 APIs. If you need to request other version APIs,
	// you can specified the API version like this:
	// admin := cmdutils.NewPulsarClientWithAPIVersion(pulsar.V2)
	admin, err := pulsar.New(config)
	if err != nil {
		// handle the err
		return
	}

	// more APIs, you can find them in the pkg/pulsar/admin.go
	// You can find all the method in the pkg/pulsar
	clusters, err := admin.Clusters().List()
	if err != nil {
		// handle the error
	}

	// handle the result
	fmt.Println(clusters)

更多操作及与pulsar-admin的对比,请参考软件文档。

浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报