阅读812 返回首页    go 魔兽


创建授权__资源授权接口_Open API_消息队列 MQ-阿里云

本文介绍 OnsEmpowerCreate 接口,调用该接口可以将目标 Topic 授权给指定用户使用,包括发布消息和订阅消息的权限。

1. 使用场景

MQ 的 Topic 资源属于申请的 Owner 账号所有,当需要跨账号访问 Topic 资源时,Owner 账号可以使用授权接口对目标账号进行发布消息或者接收消息的权限授予。

授权注意事项:

  • 授权可以支持三种权限:发布、订阅、发布&订阅。
  • 发起授权的账号必须是资源的 Owner 账号,目标账号可以是子账号或者主账号。
  • 授权后,目标账号仍然需要创建自己的订阅 CID,而不是使用 Owner 账号的 CID 来收消息。

2. 请求参数列表

名称 类型 是否必须 描述
OnsRegionId String 当前查询 MQ 所在区域,可以通过 OnsRegionList 方法获取
OnsPlatform String 该请求来源,默认是从 POP 平台
PreventCache Long 用于 CSRF 校验,设置为系统当前时间即可
EmpowerUser Long 授权的目标用户 User ID,支持子账号 ID
Topic String 授权的目标 Topic,该 Topic 必须是当前用户所有
Relation Integer 授权类型,2代表授权发送,4代表授权订阅,6代表授权发送和订阅

3. 返回参数列表

名称 类型 描述
RequestId String 为公共参数,每个请求独一无二
HelpUrl String 帮助链接

4. 相关 API

  • OnsEmpowerList:查看授权列表
  • OnsEmpowerDelet:删除授权

5. 使用示例

调用示例

  1. public static void main(String []args) {
  2. public static void main(String []args) {
  3. String regionId = "cn-hangzhou";
  4. String accessKey = "XXXXXXXXXXXXXXXXX";
  5. String secretKey = "XXXXXXXXXXXXXXXXX";
  6. String endPointName ="cn-hangzhou";
  7. String productName ="Ons";
  8. String domain ="ons.cn-hangzhou.aliyuncs.com";
  9. /**
  10. *根据自己需要访问的区域选择Region,并设置对应的接入点
  11. */
  12. try {
  13. DefaultProfile.addEndpoint(endPointName,regionId,productName,domain);
  14. } catch (ClientException e) {
  15. e.printStackTrace();
  16. }
  17. IClientProfile profile= DefaultProfile.getProfile(regionId,accessKey,secretKey);
  18. IAcsClient iAcsClient= new DefaultAcsClient(profile);
  19. OnsEmpowerCreateRequest request = new OnsEmpowerCreateRequest();
  20. request.setOnsRegionId("cn-qingdao-publictest");
  21. request.setPreventCache(System.currentTimeMillis());
  22. request.setAcceptFormat(FormatType.JSON);
  23. request.setEmpowerUser("167535647680831312");
  24. request.setTopic("topic_for_public_msg_test");
  25. request.setRelation(2);
  26. try {
  27. OnsEmpowerCreateResponse response=iAcsClient.getAcsResponse(request);
  28. System.out.println(response.getRequestId());
  29. } catch (ServerException e) {
  30. e.printStackTrace();
  31. } catch (ClientException e) {
  32. e.printStackTrace();
  33. }
  34. }

最后更新:2016-11-23 16:04:05

  上一篇:go CID 投递统计__发布订阅统计接口_Open API_消息队列 MQ-阿里云
  下一篇:go 查看授权__资源授权接口_Open API_消息队列 MQ-阿里云