PulsarctlApache Pulsar 的 CLI
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有两种使用方式:
- 在Go中使用并与Pulsar Broker进行交互。Admin API是由Go开发的。
-
在命令行中将其用作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的对比,请参考软件文档。
评论