注:1.2.8版本SDK对于队列进行权限设置部分的代码已经被废弃,不要使用1.2.8版本SDK操作队列权限,请升级成1.3.0
setPermission()
为其他用户设置对Queue的访问权限
执行这个操作的用户需要Queue的FULL_CONTROL权限
Queue的owner默认拥有Queue的FULL_CONTROL权限
方法参数SetPermissionRequest
queueName : String : required
developerId : String : required
被赋予权限的用户的developerId
permission : Permission : required
需设置的权限。这里的权限已经是组合后的结果,不支持再次进行权限组合。具体的权限类型有:
- NONE
没有任何权限 - SEND_MESSAGE
可以向Queue中send message - RECEIVE_MESSAGE
可以从Queue中receive message - SEND_RECEIVE_MESSAGE
相当于权限2与权限3的组合 - HANDLE_MESSAGE
可以从Queue中receive message,可以change message visibility, 可以delete message - SEND_HANDLE_MESSAGE
相当于权限2与权限5的组合 - GET_QUEUE_INFO
可以获取Queue的信息 - USE_QUEUE
相当于权限6与权限7的组合 - ADMIN_QUEUE
除了不可为用户进行权限设置外,拥有Queue的所有权限 - PEEK_MESSAGE
查询所有状态的消息 - DELETE_PEEK_MESSAGE
删除从未接收过的消息 - FULL_CONTROL
拥有Queue的所有权限。Queue的owner默认拥有此权限
方法返回void
revokePermission()
取消其他用户对Queue的访问权限
执行这个操作的用户需要Queue的FULL_CONTROL权限
方法参数RevokePermissonRequest
queueName : String : required
developerId : String : required
被取消权限的用户的developerId
方法返回void
queryPermission()
查询自已对某个Queue的权限
执行这个操作的用户不需要对希望查询的Queue拥有任何权限
方法参数QueryPermissionRequest
queueName : String : required
方法返回QueryPermissionResponse
permission : Permission
具体Permisson的含义请参见setPermission()
queryPermissionForId()
查询其他用户对Queue的权限 执行这个操作的用户需要拥有Queue的ADMIN_QUEUE权限
方法参数QueryPermissionForIdRequest
queueName : String : required
developerId : String : required
被查询的用户的developerId
方法返回QueryPermissionForIdResponse
permission : Permission
listPermissions()
列出各个用户对Queue的权限 执行这个操作的用户需要拥有Queue的ADMIN_QUEUE权限
方法参数ListPermissionsRequest
queueName : String : required
方法返回ListPermissionsResponse
permissionList : Map< String, Permission >
返回从developerId到其拥有的Permission的映射