1.6.4 Queue 权限操作

优质
小牛编辑
134浏览
2023-12-01

注:1.2.8版本SDK对于队列进行权限设置部分的代码已经被废弃,不要使用1.2.8版本SDK操作队列权限,请升级成1.3.0


为其他用户设置对Queue的访问权限
执行这个操作的用户需要Queue的FULL_CONTROL权限
Queue的owner默认拥有Queue的FULL_CONTROL权限

方法参数SetPermissionRequest

queueName : String : required
developerId : String : required

被赋予权限的用户的developerId

permission : Permission : required

需设置的权限。这里的权限已经是组合后的结果,不支持再次进行权限组合。具体的权限类型有:

  1. NONE
    没有任何权限
  2. SEND_MESSAGE
    可以向Queue中send message
  3. RECEIVE_MESSAGE
    可以从Queue中receive message
  4. SEND_RECEIVE_MESSAGE
    相当于权限2与权限3的组合
  5. HANDLE_MESSAGE
    可以从Queue中receive message,可以change message visibility, 可以delete message
  6. SEND_HANDLE_MESSAGE
    相当于权限2与权限5的组合
  7. GET_QUEUE_INFO
    可以获取Queue的信息
  8. USE_QUEUE
    相当于权限6与权限7的组合
  9. ADMIN_QUEUE
    除了不可为用户进行权限设置外,拥有Queue的所有权限
  10. PEEK_MESSAGE
    查询所有状态的消息
  11. DELETE_PEEK_MESSAGE
    删除从未接收过的消息
  12. FULL_CONTROL
    拥有Queue的所有权限。Queue的owner默认拥有此权限

方法返回void


取消其他用户对Queue的访问权限
执行这个操作的用户需要Queue的FULL_CONTROL权限

方法参数RevokePermissonRequest

queueName : String : required
developerId : String : required

被取消权限的用户的developerId

方法返回void


查询自已对某个Queue的权限
执行这个操作的用户不需要对希望查询的Queue拥有任何权限

方法参数QueryPermissionRequest

queueName : String : required

方法返回QueryPermissionResponse

permission : Permission

具体Permisson的含义请参见setPermission()


查询其他用户对Queue的权限 执行这个操作的用户需要拥有Queue的ADMIN_QUEUE权限

方法参数QueryPermissionForIdRequest

queueName : String : required
developerId : String : required

被查询的用户的developerId

方法返回QueryPermissionForIdResponse

permission : Permission

列出各个用户对Queue的权限 执行这个操作的用户需要拥有Queue的ADMIN_QUEUE权限

方法参数ListPermissionsRequest

queueName : String : required

方法返回ListPermissionsResponse

permissionList : Map< String, Permission >

返回从developerId到其拥有的Permission的映射