Pulsar 入门实战(6)--Rest API

打印 上一主题 下一主题

主题 549|帖子 549|积分 1647

Rest API 是 broker 提供的关联 API,Java admin API 和 pulsar-admin CLI 底层都是利用的 Rest API;本文重要先容其基本利用,文中所利用到的软件版本:Pulsar 3.3.0。
1、Admin

1.1、BOOKIES

1.1.1、列出全部 bookie
  1. curl http://10.49.196.30:8080/admin/v2/bookies/all
复制代码
1.2、BROKERS

1.2.1、列出本集群的全部 broker
  1. curl http://10.49.196.30:8080/admin/v2/brokers
复制代码
1.2.2、列出全部可动态修改配置项名称
  1. curl http://10.49.196.30:8080/admin/v2/brokers/configuration
复制代码
1.2.3、列出全部运行时配置
  1. curl http://10.49.196.30:8080/admin/v2/brokers/configuration/runtime
复制代码
1.2.4、列出已经更新过的动态配置
  1. curl http://10.49.196.30:8080/admin/v2/brokers/configuration/values
复制代码
1.2.5、更新动态配置
  1. POST /admin/v2/brokers/configuration/{configName}/{configValue}
复制代码
如:
  1. curl -X POST http://10.49.196.30:8080/admin/v2/brokers/configuration/allowAutoTopicCreation/true
复制代码
1.2.6、康健检查
  1. curl http://10.49.196.30:8080/admin/v2/brokers/health
复制代码
1.2.7、获取内部配置信息
  1. curl http://10.49.196.30:8080/admin/v2/brokers/internal-configuration
复制代码
1.2.8、获取 leader broker
  1. curl http://10.49.196.30:8080/admin/v2/brokers/leaderBroker
复制代码
1.2.9、检查 broker 是否完全初始化了
  1. curl http://10.49.196.30:8080/admin/v2/brokers/ready
复制代码
1.2.10、获取当前 broker 的版本
  1. curl http://10.49.196.30:8080/admin/v2/brokers/version
复制代码
1.2.11、列出 broker 的命名空间
  1. GET /admin/v2/brokers/{clusterName}/{brokerId}/ownedNamespaces
复制代码
如:
  1. curl http://10.49.196.30:8080/admin/v2/brokers/pulsar-cluster-1/app1:8080/ownedNamespaces
复制代码
1.2.12、列出指定集群的全部 broker
  1. GET /admin/v2/brokers/{cluster}
复制代码
如:
  1. curl http://10.49.196.30:8080/admin/v2/brokers/pulsar-cluster-1
复制代码
1.3、BROKER-STATS

1.3.1、获取 broker 的主题状态和系统资源利用信息
  1. curl http://10.49.196.30:8080/admin/v2/broker-stats/load-report
复制代码
1.3.2、获取主题的状态信息
  1. curl http://10.49.196.30:8080/admin/v2/broker-stats/topics
复制代码
1.4、CLUSTERS

1.4.1、列出集群
  1. curl http://10.49.196.30:8080/admin/v2/clusters
复制代码
1.4.2、获取集群配置信息
  1. GET /admin/v2/clusters/{cluster}
复制代码
如:
  1. curl http://10.49.196.30:8080/admin/v2/clusters/pulsar-cluster-1
复制代码
1.5、TENANTS

1.5.1、列出租户的命名空间
  1. curl http://10.49.196.30:8080/admin/v2/tenants
复制代码
1.5.2、删除租户
  1. DELETE /admin/v2/tenants/{tenant}
复制代码
如:
  1. curl -X DELETE http://10.49.196.30:8080/admin/v2/tenants/test-tenant
复制代码
1.5.3、获取租户的管理配置
  1. GET /admin/v2/tenants/{tenant}
复制代码
如:
  1. curl  http://10.49.196.30:8080/admin/v2/tenants/public
复制代码
1.5.4、更新租户管理配置
  1. POST /admin/v2/tenants/{tenant}
  2. {
  3.   "adminRoles": [
  4.     "string"
  5.   ],
  6.   "allowedClusters": [
  7.     "string"
  8.   ]
  9. }
复制代码
如:
  1. curl -X POST -H 'content-type:application/json' http://10.49.196.30:8080/admin/v2/tenants/test-tenant -d '
  2. {
  3.   "adminRoles": [
  4.     "string"
  5.   ],
  6.   "allowedClusters": [
  7.     "pulsar-cluster-1"
  8.   ]
  9. }'
复制代码
1.5.5、创建租户
  1. PUT /admin/v2/tenants/{tenant}
复制代码
如:
  1. curl -X PUT -H 'content-type:application/json' http://10.49.196.30:8080/admin/v2/tenants/test-tenant -d '
  2. {
  3.   "adminRoles": [
  4.     "string"
  5.   ],
  6.   "allowedClusters": [
  7.     "pulsar-cluster-1"
  8.   ]
  9. }'
复制代码
1.6、NAMESPACES

1.6.1、列出租户的命名空间
  1. GET /admin/v2/namespaces/{tenant}
复制代码
如:
  1. curl http://10.49.196.30:8080/admin/v2/namespaces/public
复制代码
1.6.2、获取命名空间策略
  1. GET /admin/v2/namespaces/{tenant}/{namespace}
复制代码
如:
  1. curl http://10.49.196.30:8080/admin/v2/namespaces/public/default
复制代码
1.6.3、删除命名空间(同时删除命名空间包含的主题)
  1. DELETE /admin/v2/namespaces/{tenant}/{namespace}
复制代码
如:
  1. curl -X DELETE http://10.49.196.30:8080/admin/v2/namespaces/public/test-ns
复制代码
1.6.4、创建命名空间
  1. PUT /admin/v2/namespaces/{tenant}/{namespace}
复制代码
如:
  1. curl -X PUT http://10.49.196.30:8080/admin/v2/namespaces/public/test-ns
复制代码
1.7、NON-PERSISTENT TOPIC

1.7.1、列出命名空间下的非分区主题
  1. GET /admin/v2/non-persistent/{tenant}/{namespace}
复制代码
如:
  1. curl http://10.49.196.30:8080/admin/v2/non-persistent/public/default
复制代码
1.7.2、列出命名空间下的分区主题
  1. GET /admin/v2/non-persistent/{tenant}/{namespace}/partitioned
复制代码
如:
  1. curl http://10.49.196.30:8080/admin/v2/non-persistent/public/default/partitioned
复制代码
1.7.3、创建非分区主题
  1. PUT /admin/v2/non-persistent/{tenant}/{namespace}/{topic}
复制代码
如:
  1. curl -X PUT -L http://10.49.196.30:8080/admin/v2/non-persistent/public/default/test-topic
复制代码
1.7.4、创建分区主题
  1. PUT /admin/v2/non-persistent/{tenant}/{namespace}/{topic}/partitions
复制代码
如:
  1. curl -X PUT -H 'content-type:application/json' http://10.49.196.30:8080/admin/v2/non-persistent/public/default/test-topic-p/partitions -d 2
复制代码
1.7.5、删除非分区主题
  1. DELETE /admin/v2/non-persistent/{tenant}/{namespace}/{topic}
复制代码
如:
  1. curl -X DELETE -L http://10.49.196.30:8080/admin/v2/non-persistent/public/default/test-topic
复制代码
1.7.6、删除分区主题
  1. DELETE /admin/v2/non-persistent/{tenant}/{namespace}/{topic}/partitions
复制代码
如:
  1. curl -X DELETE  http://10.49.196.30:8080/admin/v2/non-persistent/public/default/test-topic-p/partitions
复制代码
1.7.7、获取非分区主题的状态
  1. GET /admin/v2/non-persistent/{tenant}/{namespace}/{topic}/stats
复制代码
如:
  1. curl -L http://10.49.196.30:8080/admin/v2/non-persistent/public/default/test-topic/stats
复制代码
1.7.8、获取分区主题的状态
  1. GET /admin/v2/non-persistent/{tenant}/{namespace}/{topic}/partitioned-stats
复制代码
如:
  1. curl -L http://10.49.196.30:8080/admin/v2/non-persistent/public/default/test-topic-p/partitioned-stats
复制代码
1.7.9、获取非分区主题的内部状态
  1. GET /admin/v2/non-persistent/{tenant}/{namespace}/{topic}/internalStats
复制代码
如:
  1. curl -L http://10.49.196.30:8080/admin/v2/non-persistent/public/default/test-topic/internalStats
复制代码
1.7.10、获取分区主题的内部状态
  1. GET /admin/v2/non-persistent/{tenant}/{namespace}/{topic}/partitioned-internalStats
复制代码
如:
  1. curl -L http://10.49.196.30:8080/admin/v2/non-persistent/public/default/test-topic-p/partitioned-internalStats
复制代码
1.7.11、获取分区主题的元数据信息
  1. GET /admin/v2/non-persistent/{tenant}/{namespace}/{topic}/partitions
复制代码
如:
  1. curl -L http://10.49.196.30:8080/admin/v2/non-persistent/public/default/test-topic-p/partitions
复制代码
1.7.12、设置分区主题的分区数
  1. POST /admin/v2/non-persistent/{tenant}/{namespace}/{topic}/partitions
复制代码
如:
  1. curl -X POST -H 'Content-Type:application/json' http://10.49.196.30:8080/admin/v2/non-persistent/public/default/test-topic-p/partitions -d '3'
复制代码
1.8、PERSISTENT TOPIC

1.8.1、列出命名空间下的非分区主题
  1. GET /admin/v2/persistent/{tenant}/{namespace}
复制代码
如:
  1. curl http://10.49.196.30:8080/admin/v2/persistent/public/default
复制代码
1.8.2、列出命名空间下的分区主题
  1. GET /admin/v2/persistent/{tenant}/{namespace}/partitioned
复制代码
如:
  1. curl -L http://10.49.196.30:8080/admin/v2/persistent/public/default/partitioned
复制代码
1.8.3、创建非分区主题
  1. PUT /admin/v2/non-persistent/{tenant}/{namespace}/{topic}
复制代码
如:
  1. curl -X PUT -L http://10.49.196.30:8080/admin/v2/persistent/public/default/test-topic
复制代码
1.8.4、创建分区主题
  1. PUT /admin/v2/persistent/{tenant}/{namespace}/{topic}/partitions
复制代码
如:
  1. curl -X PUT -H 'content-type:application/json' http://10.49.196.30:8080/admin/v2/persistent/public/default/test-topic-p/partitions -d 2
复制代码
1.8.5、删除非分区主题
  1. DELETE /admin/v2/persistent/{tenant}/{namespace}/{topic}
复制代码
如:
  1. curl -X DELETE -L http://10.49.196.30:8080/admin/v2/persistent/public/default/test-topic
复制代码
1.8.6、删除分区主题
  1. DELETE /admin/v2/persistent/{tenant}/{namespace}/{topic}/partitions
复制代码
如:
  1. curl -X DELETE  http://10.49.196.30:8080/admin/v2/persistent/public/default/test-topic-p/partitions
复制代码
1.8.7、获取非分区主题的状态
  1. GET /admin/v2/persistent/{tenant}/{namespace}/{topic}/stats
复制代码
如:
  1. curl -L http://10.49.196.30:8080/admin/v2/persistent/public/default/test-topic/stats
复制代码
1.8.8、获取分区主题的状态
  1. GET /admin/v2/persistent/{tenant}/{namespace}/{topic}/partitioned-stats
复制代码
如:
  1. curl -L http://10.49.196.30:8080/admin/v2/persistent/public/default/test-topic-p/partitioned-stats
复制代码
1.7.9、获取非分区主题的内部状态
  1. GET /admin/v2/persistent/{tenant}/{namespace}/{topic}/internalStats
复制代码
如:
  1. curl -L http://10.49.196.30:8080/admin/v2/persistent/public/default/test-topic/internalStats
复制代码
1.7.10、获取分区主题的内部状态
  1. GET /admin/v2/persistent/{tenant}/{namespace}/{topic}/partitioned-internalStats
复制代码
如:
  1. curl http://10.49.196.30:8080/admin/v2/persistent/public/default/test-topic-p/partitioned-internalStats
复制代码
1.7.11、获取分区主题的元数据信息
  1. GET /admin/v2/persistent/{tenant}/{namespace}/{topic}/partitions
复制代码
或:
  1. curl -L http://10.49.196.30:8080/admin/v2/persistent/public/default/test-topic-p/partitions
复制代码
1.7.12、设置分区主题的分区数(只能比原来大)
  1. POST /admin/v2/persistent/{tenant}/{namespace}/{topic}/partitions
复制代码
或:
  1. curl -X POST -H 'Content-Type:application/json' http://10.49.196.30:8080/admin/v2/persistent/public/default/test-topic-p/partitions -d '3'
复制代码
1.7.13、获取最新消息的 ID
  1. GET /admin/v2/persistent/{tenant}/{namespace}/{topic}/lastMessageId
复制代码
如:
  1. curl -L http://10.49.196.30:8080/admin/v2/persistent/public/default/my-topic/lastMessageId
复制代码
1.7.14、通过消息 ID 获取消息
  1. GET /admin/v2/persistent/{tenant}/{namespace}/{topic}/ledger/{ledgerId}/entry/{entryId}
复制代码
如:
  1. curl -L http://10.49.196.30:8080/admin/v2/persistent/public/default/my-topic/ledger/272/entry/1
复制代码
1.7.15、通过时间获取消息的 ID
  1. GET /admin/v2/persistent/{tenant}/{namespace}/{topic}/messageid/{timestamp}
复制代码
如:
  1. curl -L http://10.49.196.30:8080/admin/v2/persistent/public/default/my-topic/messageid/1723517025876
复制代码
1.7.16、查察订阅的待消费消息(不会消费消息)
  1. GET /admin/v2/persistent/{tenant}/{namespace}/{topic}/subscription/{subName}/position/{messagePosition}
复制代码
如:
  1. curl -L http://10.49.196.30:8080/admin/v2/persistent/public/default/my-topic/subscription/my-subscription/position/3
复制代码
1.7.17、跳过特定主题的某个订阅中的多少条未消费消息
  1. POST /admin/v2/persistent/{tenant}/{namespace}/{topic}/subscription/{subName}/skip/{numMessages}
复制代码
如:
  1. curl -X POST -L http://10.49.196.30:8080/admin/v2/persistent/public/default/my-topic/subscription/my-subscription/skip/2
复制代码
1.7.18、跳过特定主题的某个订阅中的全部未消费消息
  1. POST /persistent/{tenant}/{namespace}/{topic}/subscription/{subName}/skip_all
复制代码
如:
  1. curl -X POST -L http://10.49.196.30:8080/admin/v2/persistent/public/default/my-topic/subscription/my-subscription/skip_all
复制代码
1.7.19、创建订阅
  1. PUT /persistent/{tenant}/{namespace}/{topic}/subscription/{subscriptionName}
复制代码
如:
  1. curl -X PUT -L http://10.49.196.30:8080/admin/v2/persistent/public/default/test-topic/subscription/test-subscription
复制代码
1.7.20、获取订阅信息
  1. GET /admin/v2/persistent/{tenant}/{namespace}/{topic}/subscriptions
复制代码
如:
  1. curl -L http://10.49.196.30:8080/admin/v2/persistent/public/default/test-topic/subscriptions
复制代码
1.7.21、删除订阅
  1. DELETE /admin/v2/persistent/{tenant}/{namespace}/{topic}/subscription/{subName}
复制代码
如:
  1. curl -X DELETE -L http://10.49.196.30:8080/admin/v2/persistent/public/default/test-topic/subscription/test-subscription
复制代码
2、Lookup

2.2.1、获取主题所属的 broker
  1. GET /lookup/v2/topic/{topic-domain}/{tenant}/{namespace}/{topic}
复制代码
如:
  1. curl -L http://10.49.196.30:8080/lookup/v2/topic/persistent/public/default/test-topic
复制代码
 
 
 
参考:https://pulsar.apache.org/docs/3.3.x/reference-rest-api-overview/

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

李优秀

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表