本文来源于阿里云社区电子书《阿里云产品四月刊》
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(6)https://developer.aliyun.com/article/1554220
如何使用
用户管理
关于 ACL 用户的管理,相关的接口定义和使用案例如下。
接口定义
使用案例
# 创建用户 sh mqadmin createUser -n 127.0.0.1:9876 -c DefaultCluster -u rocketmq -p rocketmq # 创建用户,指定用户类型
sh mqadmin createUser -n 127.0.0.1:9876 -c DefaultCluster -u rocketmq -p rocketmq -t Super # 更新用户 sh mqadmin updateUser -n 127.0.0.1:9876 -c DefaultCluster -u rocketmq -p 12345678 # 删除用户 sh mqadmin deleteUser -n 127.0.0.1:9876 -c DefaultCluster -u rocketmq # 查询用户详情 sh mqadmin getUser -n 127.0.0.1:9876 -c DefaultCluster -u rocketmq # 查询用户列表 sh mqadmin listUser -n 127.0.0.1:9876 -c DefaultCluster # 查询用户列表,带过滤条件 sh mqadmin listUser -n 127.0.0.1:9876 -c DefaultCluster -f mq
ACL 管 理
关于 ACL 授权的管理,相关的接口定义和使用案例如下。接口定义
使用案例
# 创建授权 sh mqadmin createAcl -n 127.0.0.1:9876 -c DefaultCluster -s User:rocketmq -r Topic:*,Group:* -a Pub,Sub -i 192.168.1.0/24 -d Allow # 更新授权 sh mqadmin updateAcl -n 127.0.0.1:9876 -c DefaultCluster -s User:rocketmq -r Topic:*,Group:* -a Pub,Sub -i 192.168.1.0/24 -d Deny # 删除授权 sh mqadmin deleteAcl -n 127.0.0.1:9876 -c DefaultCluster -s User:rocketmq # 删除授权,指定资源 sh mqadmin deleteAcl -n 127.0.0.1:9876 -c DefaultCluster -s User:rocketmq -r Topic:* # 查询授权列表 sh mqadmin listAcl -n 127.0.0.1:9876 -c DefaultCluster # 查询授权列表,带过滤条件 sh mqadmin listAcl -n 127.0.0.1:9876 -c DefaultCluster -s User:rocketmq -r Topic:* # 查询授权详情 sh mqadmin getAcl -n 127.0.0.1:9876 -c DefaultCluster -s User:rocketmq
客户端使用
关于 ACL 的使用,ACL 2.0 和 ACL 1.0 的使用方式一样,没有任何区别,具体参考官方案例。
消息发送
ClientServiceProvider provider = ClientServiceProvider.loadService(); StaticSessionCredentialsProvider sessionCredentialsProvider = new StaticSessionCredentialsProvider(ACCESS_KEY, SECRET_KEY); ClientConfiguration ClientConfiguration.newBuilder() .setEndpoints(ENDPOINTS) clientConfiguration .setCredentialProvider(sessionCredentialsProvider) .build();
Producer producer = provider.newProducerBuilder() .setClientConfiguration(clientConfiguration) .setTopics(TOPICS) .build();
消息消费
ClientServiceProvider provider = C1 ientServiceProvider .loadService () ; ClientConfiguration cl ientConfiguration = Cl i entConfiguration. newBuilder ( ) . setEndpoints (ENDPOINTS) . setCredentialProvider (sessionCredentialsProvider) .build() ; FilterExpression filterExpression = new FilterExpression (TAG, FilterExpressionType. TAG) ; PushConsumer pushConsumer = provider . new PushConsumerBuilder () . setCl ientConfiguration (cl ientConfiguration ) . setConsumerGroup (CONSUMER_ GROUP) . setSubs criptionExpressions (collections. singletonMap (TOPIC, fil terExpression) ) . setMessageListener (messageVi ew- > { return ConsumeResul t. SUCCESS; }) . build() ;
《阿里云产品四月刊》—Apache RocketMQ ACL 2.0 全新升级(8)https://developer.aliyun.com/article/1554217