topic基本操作
创建Topic
创建一个没有分区的Topic
bin/pulsar-admin topics create persistent://tenant/namespace/topic
创建一个有分区的Topic
bin/pulsar-admin topics create-partitioned-topic persistent://tenant/namespace/topic --partitions 4
无论是有分区还是没有分区, 创建topic后,如果没有任何操作, 60s后pulsar会认为此topic是不活动的, 会自动进行删除, 以避免生成垃圾数据
相关配置:
Brokerdeleteinactivetopicsenabenabled : 默认值为true 表示是否启动自动删除
BrokerDeleteInactiveTopicsFrequencySeconds: 默认为60s 表示检测未活动的时间
列出namespace下所有的Topic
./pulsar-admin topics list tenant/namespace
更新topic
更新分区数量
./pulsar-admin topics update-partitioned-topic persistent://my-tenant/my-namespace/my-topic --partitions 8
删除Topic
删除没有分区的Topic
bin/pulsar-admin topics delete persistent://my-tenant/my-namespace/my-topic
删除有分区的Topic
bin/pulsar-admin topics delete-partitioned-topic persistent://my-tenant/my-namespace/my-topic
权限操作
授权
pulsar-admin topics grant-permission --actions produce,consume --role application1 persistent://test-tenant/ns1/tp1
获取权限
pulsar-admin topics grant-permission --actions produce,consume --role application1 persistent://test-tenant/ns1/tp1
收回权限
pulsar-admin topics revoke-permission --role application1 persistent://test-tenant/ns1/tp1
{
"application1": [
"consume",
"produce"
]
}