接口说明

Topic相关接口

创建Topic

描述

本接口用于创建一个Kafka topic。

请求

  • 请求结构

    POST /v{version}/topic?clientToken={clientToken} HTTP/1.1
    
    {
        "topicName": "topicName",
        "partitionCount": partitionCount,
    }
    
  • 请求头域

    除公共头域外,无其它特殊头域。

  • 请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号
clientToken String Query参数 幂等性Token,是一个长度不超过64位的ASCII字符串,详见链接
topicCreateParameters TopicCreateParameters RequestBody参数 创建topic参数

返回

  • 返回头域

    除公共头域,无其它特殊头域。

  • 返回参数

参数名称 类型 描述
topicName String topic名称

错误码

错误码 HTTP状态码 中文解释
TopicAlreadyExist 409 topic名已经存在
TopicLimitExceeded 402 topic总数超过限制,最多只能创建20个
TopicPartitionLimitExceeded 402 单个topic分区总数超过限制,每个topic最多只能创建10个分区
InvalidTopicName 400 topic名不合法,只能包含大小写英文字母,数字,下划线_,横行-,不能使用双下划线__
InvalidTopicPartitionCount 400 分区数需要大于0

示例

  • 请求示例

    POST /v1/topic?clientToken=16011728-8000-4ef4-9299-020db1424806 HTTP/1.1
    authorization: bce-auth-v1/32d21dc5-b643-4769-864b-54e3a8868d89/2017-02-16T02:17:25Z/3600/host;x-bce-console-rpc-id;x-bce-date/03a0254357eafd041eb61a2610e938904733cc06a0d3994a7985b62a284874bd
    x-bce-console-rpc-id: 010ce7dc-e454-43ae-a950-75609b39c580
    host: kafka-api.bj.baidubce.com
    x-bce-date: 2017-02-16T02:17:25Z
    content-type: application/json
    user-agent: Jersey/2.9.1 (Apache HttpClient 4.3.3)
    content-length: 53
    connection: Keep-Alive
    accept-encoding: gzip,deflate
    
    {
        "topicName" : "demo",
        "partitionCount" : 1
    }
    
  • 返回示例

    HTTP/1.1 200 OK
    Transfer-Encoding: chunked
    Cache-Control: no-cache
    Server: BWS
    Date: Thu, 16 Feb 2017 02:17:26 GMT
    Content-Type: application/json;charset=UTF-8
    
    {"topicName":"demo"}
    

查询topic列表

描述

查询所有topic的详细信息。

请求

  • 请求结构

    GET /v{version}/topic?marker={marker}&maxKeys={maxKeys} HTTP/1.1
    
  • 请求头域

    除公共头域外,无其它特殊头域。

  • 请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号
marker String Query参数 批量获取列表的查询的起始位置,是一个由系统生成的字符串
maxKeys int Query参数 每页包含的最大数量,最大数量通常不超过1000,缺省值为1000

返回

  • 返回头域

    除公共头域,无其它特殊头域。

  • 返回参数

参数名称 类型 描述
marker String 标记查询的起始位置
isTruncated boolean true表示后面还有数据,false表示已经是最后一页
nextMarker String 获取下一页所需要传递的marker值,当isTruncated为false时,该域不出现
topics List\<Topic> topic信息,由 Topic 组成的集合

错误码

错误码 HTTP状态码 中文解释
InvalidMarker 400 marker不能为空,且长度应小于topic名最大长度

示例

  • 请求示例

    GET /v1/topic?marker=demo&maxKeys=10 HTTP/1.1
    authorization: bce-auth-v1/e9af9439-0c14-4b98-abae-ba14f11b25ec/2017-02-15T08:08:08Z/3600/host;x-bce-console-rpc-id;x-bce-date/69143dbee3abf6b6143c8266139645a19c192de6d25082fed3611ad2fe28b456/
    x-bce-console-rpc-id: d4d32d1f-f2cd-41a8-bfb7-fdd65cdc6ed9
    host: kafka-api.bj.baidubce.com
    x-bce-date: 2017-02-15T08:08:08Z
    user-agent: Jersey/2.9.1 (Apache HttpClient 4.3.3)
    connection: Keep-Alive
    accept-encoding: gzip,deflate
    
  • 返回示例

    HTTP/1.1 200 OK
    Transfer-Encoding: chunked
    Cache-Control: no-cache
    Server: BWS
    Date: Wed, 15 Feb 2017 08:08:09 GMT
    Content-Type: application/json;charset=UTF-8
    
    {
        "marker": "demo",
        "nextMarker": "test",
        "maxKeys": 10,
        "topics": [{
        "topicName": "demo",
        "partitionCount": 3,
        "replicationFactor": 3,
        "createTime": "2017-02-15T08:08:09Z"
        }],
    "truncated": false
    }
    

查询topic详情

描述

查询单个topic的详细信息。

请求

  • 请求结构

    GET /v{version}/topic/{topicName} HTTP/1.1
    
  • 请求头域

    除公共头域外,无其它特殊头域。

  • 请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号
topicName String URL参数 topic名

返回

  • 返回头域

    除公共头域,无其它特殊头域。

  • 返回参数

参数名称 类型 描述
topic Topic 返回的topic详情

错误码

错误码 HTTP状态码 中文解释
TopicNotFound 404 topic不存在

示例

  • 请求示例

    GET /v1/topic/demo HTTP/1.1
    authorization: bce-auth-v1/e9af9439-0c14-4b98-abae-ba14f11b25ec/2017-02-15T08:19:54Z/3600/host;x-bce-console-rpc-id;x-bce-date/6301919cc9ade759c88bfc47a7eee26b8347179f1c2fcd2808acfa4ab6d8b800
    x-bce-console-rpc-id: 89ca2463-4d0d-453d-9b7c-4e4cf52214e7
    host: kafka-api.bj.baidubce.com
    x-bce-date: 2017-02-15T08:19:54Z
    user-agent: Jersey/2.9.1 (Apache HttpClient 4.3.3)
    connection: Keep-Alive
    accept-encoding: gzip,deflate
    
  • 返回示例

    HTTP/1.1 200 OK
    Transfer-Encoding: chunked
    Cache-Control: no-cache
    Server: BWS
    Date: Wed, 15 Feb 2017 08:19:55 GMT
    Content-Type: application/json;charset=UTF-8
    
    {
        "topic": {
            "topicName": "demo",
            "partitionCount": 3,
            "replicationFactor": 3,
            "createTime": "2017-02-15T08:19:55Z"
            }
    }
    

删除topic

描述

删除一个指定的topic。

请求

  • 请求结构

    DELETE /v{version}/topic/{topicName} HTTP/1.1
    
  • 请求头域

    除公共头域外,无其它特殊头域。

  • 请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号
topicName String URL参数 待删除topic名

返回

  • 返回头域

    除公共头域,无其它特殊头域

  • 返回参数

    无特殊返回参数

错误码

错误码 HTTP状态码 中文解释
TopicNotFound 404 topic不存在

示例

  • 请求示例

    DELETE /v1/topic/demo HTTP/1.1
    authorization: bce-auth-v1/e9af9439-0c14-4b98-abae-ba14f11b25ec/2017-02-15T08:34:26Z/3600/host;x-bce-console-rpc-id;x-bce-date/fbfec8e0ab86dfdbd2bce5d353f7cdd0bec78303a86f1ca1d939a85dae2284d6
    x-bce-console-rpc-id: 5bdd1701-cbb6-48cc-9819-a457a0475539
    host: kafka-api.bj.baidubce.com
    x-bce-date: 2017-02-15T08:34:26Z
    user-agent: Jersey/2.9.1 (Apache HttpClient 4.3.3)
    connection: Keep-Alive
    accept-encoding: gzip,deflate
    
  • 返回示例

    HTTP/1.1 200 OK
    Cache-Control: no-cache
    

权限管理相关接口

添加授权

描述

本接口用于给用户对某个kafka topic授权

请求

  • 请求结构

    POST /v{version}/authorization/add             HTTP/1.1
    
    {
        "topic": "topic",
        "accountId": "accountId",
          "certificateSN": "certificateSN",
          "certificateId": "certificateId",
          "topicOperation": "ReadWrite"
    }
    
  • 请求头域
    除公共头域外,无其它特殊头域。

  • 请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号
TopicAuthorizationParameters TopicAuthorizationParameters RequestBody参数 添加授权参数

返回

  • 返回头域

    除公共头域,无其它特殊头域。

  • 返回参数

    无特殊返回参数

错误码

错误码 HTTP状态码 中文解释
InvalidRequestException 400 请求体中某些参数为空

示例

  • 请求示例

    POST /v1/authorization/add
    authorization: bce-auth-v1/32d21dc5-b643-4769-864b-54e3a8868d89/2017-02-16T02:17:25Z/3600/host;x-bce-console-rpc-id;x-bce-date/03a0254357eafd041eb61a2610e938904733cc06a0d3994a7985b62a284874bd
    x-bce-console-rpc-id: 010ce7dc-e454-43ae-a950-75609b39c580
    host: kafka-api.bj.baidubce.com
    x-bce-date: 2017-02-16T02:17:25Z
    content-type: application/json
    user-agent: Jersey/2.9.1 (Apache HttpClient 4.3.3)
    content-length: 53
    connection: Keep-Alive
    accept-encoding: gzip,deflate
    
    {
        "topic": "demo",
        "accountId": "accountId",
          "certificateSN": "certificateSN",
          "certificateId": "certificateId",
          "topicOperation": "ReadWrite"
    }
    
  • 返回示例

    HTTP/1.1 200 OK
    Transfer-Encoding: chunked
    Cache-Control: no-cache
    Server: BWS
    Date: Thu, 16 Feb 2017 02:17:26 GMT
    Content-Type: application/json;charset=UTF-8
    

取消授权

描述

本接口用于针对自己的某个topic,取消对某个用户的授权

请求

  • 请求结构

    POST /v{version}/authorization/cancel             HTTP/1.1
    
    {
        "topic": "topic",
        "accountId": "accountId",
          "certificateSN": "certificateSN",
    }
    
  • 请求头域
    除公共头域外,无其它特殊头域。

  • 请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号
topic String RequestBody参数 topic名称,只能包含大小写英文字母,数字,下划线_,横行-,不能使用双下划线__
accountId String RequestBody参数 用户Id
certificateSN String RequestBody参数 证书序列号

返回

  • 返回头域

    除公共头域,无其它特殊头域。

  • 返回参数

    无特殊返回参数

错误码

错误码 HTTP状态码 中文解释
InvalidRequestException 400 topic参数为空

示例

  • 请求示例

    POST /v1/authorization/cancel
    authorization: bce-auth-v1/32d21dc5-b643-4769-864b-54e3a8868d89/2017-02-16T02:17:25Z/3600/host;x-bce-console-rpc-id;x-bce-date/03a0254357eafd041eb61a2610e938904733cc06a0d3994a7985b62a284874bd
    x-bce-console-rpc-id: 010ce7dc-e454-43ae-a950-75609b39c580
    host: kafka-api.bj.baidubce.com
    x-bce-date: 2017-02-16T02:17:25Z
    content-type: application/json
    user-agent: Jersey/2.9.1 (Apache HttpClient 4.3.3)
    content-length: 53
    connection: Keep-Alive
    accept-encoding: gzip,deflate
    
    {
        "topic": "demo",
        "accountId": "accountId",
          "certificateSN": "certificateSN",
    }
    
  • 返回示例

    HTTP/1.1 200 OK
    Transfer-Encoding: chunked
    Cache-Control: no-cache
    Server: BWS
    Date: Thu, 16 Feb 2017 02:17:26 GMT
    Content-Type: application/json;charset=UTF-8
    

查询授权信息列表

描述

本接口用于按照不同的查询条件获取授权的topic列表

请求

  • 请求结构

    POST /v{version}/authorization/list             HTTP/1.1
    
    {
        "topicLike": "topicLike",
        "accountId": "accountId",
          "certificateSN": "certificateSN",
          "begin":
          "limit":
    }
    
  • 请求头域
    除公共头域外,无其它特殊头域。

  • 请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号
topicLike String RequestBody参数 topic名称,只支持模糊搜索
accountId String RequestBody参数 用户Id
certificateSN String RequestBody参数 证书序列号
limit Integer RequestBody参数 查询记录数
begin Integer RequestBody参数 查询起始索引

返回

  • 返回头域

    除公共头域,无其它特殊头域。

  • 返回参数

参数名称 类型 描述
begin int 查询起始索引
size int 查询记录数

topicAuthList|List\<TopicAuthorizationParameters >|由TopicAuthorization组成的集合|

错误码

示例

  • 请求示例

    POST /v1/authorization/list
    authorization: bce-auth-v1/32d21dc5-b643-4769-864b-54e3a8868d89/2017-02-16T02:17:25Z/3600/host;x-bce-console-rpc-id;x-bce-date/03a0254357eafd041eb61a2610e938904733cc06a0d3994a7985b62a284874bd
    x-bce-console-rpc-id: 010ce7dc-e454-43ae-a950-75609b39c580
    host: kafka-api.bj.baidubce.com
    x-bce-date: 2017-02-16T02:17:25Z
    content-type: application/json
    user-agent: Jersey/2.9.1 (Apache HttpClient 4.3.3)
    content-length: 53
    connection: Keep-Alive
    accept-encoding: gzip,deflate
    
    {
        "topic": "demo",
        "accountId": "accountId",
          "certificateSN": "certificateSN",
          "begin": 0,
          "limit": 10
    }
    
  • 返回示例

    HTTP/1.1 200 OK
    Transfer-Encoding: chunked
    Cache-Control: no-cache
    Server: BWS
    Date: Thu, 16 Feb 2017 02:17:26 GMT
    Content-Type: application/json;charset=UTF-8
    
    {
        "begin":1,
        "size":5,
        "topicAuthList":[]  
    }
    

group对证书授权

描述

本接口用于group对证书授权

请求

  • 请求结构

    POST /v{version}/authorization/consumergroup/add     HTTP/1.1
    
    {
        "consumerGroupName": "consumerGroupName",
        "accountId": "accountId",
          "certificateId": "certificateId"
    }
    
  • 请求头域
    除公共头域外,无其它特殊头域。

  • 请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号
GroupAuthorizationParameters GroupAuthorizationParameters RequestBody参数 group授权参数

返回

  • 返回头域

    除公共头域,无其它特殊头域。

  • 返回参数

    无特殊返回参数

错误码

示例

  • 请求示例

    POST /v1/authorization/consumergroup/add
    authorization: bce-auth-v1/32d21dc5-b643-4769-864b-54e3a8868d89/2017-02-16T02:17:25Z/3600/host;x-bce-console-rpc-id;x-bce-date/03a0254357eafd041eb61a2610e938904733cc06a0d3994a7985b62a284874bd
    x-bce-console-rpc-id: 010ce7dc-e454-43ae-a950-75609b39c580
    host: kafka-api.bj.baidubce.com
    x-bce-date: 2017-02-16T02:17:25Z
    content-type: application/json
    user-agent: Jersey/2.9.1 (Apache HttpClient 4.3.3)
    content-length: 53
    connection: Keep-Alive
    accept-encoding: gzip,deflate
    
    {
        "topic": "demo",
        "accountId": "accountId",
          "certificateSN": "certificateSN",
    }
    
  • 返回示例

    HTTP/1.1 200 OK
    Transfer-Encoding: chunked
    Cache-Control: no-cache
    Server: BWS
    Date: Thu, 16 Feb 2017 02:17:26 GMT
    Content-Type: application/json;charset=UTF-8
    

取消group对证书授权

描述

本接口用于group对证书授权

请求

  • 请求结构

    POST /v{version}/authorization/consumergroup/remove     HTTP/1.1
    
    {
        "consumerGroupName": "consumerGroupName",
        "accountId": "accountId",
          "certificateId": "certificateId"
    }
    
  • 请求头域
    除公共头域外,无其它特殊头域。

  • 请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号
GroupAuthorizationParameters GroupAuthorizationParameters RequestBody参数 取消group授权参数

返回

  • 返回头域

    除公共头域,无其它特殊头域。

  • 返回参数

    无特殊返回参数

错误码

示例

  • 请求示例

    POST /v1/authorization/consumergroup/add
    authorization: bce-auth-v1/32d21dc5-b643-4769-864b-54e3a8868d89/2017-02-16T02:17:25Z/3600/host;x-bce-console-rpc-id;x-bce-date/03a0254357eafd041eb61a2610e938904733cc06a0d3994a7985b62a284874bd
    x-bce-console-rpc-id: 010ce7dc-e454-43ae-a950-75609b39c580
    host: kafka-api.bj.baidubce.com
    x-bce-date: 2017-02-16T02:17:25Z
    content-type: application/json
    user-agent: Jersey/2.9.1 (Apache HttpClient 4.3.3)
    content-length: 53
    connection: Keep-Alive
    accept-encoding: gzip,deflate
    
    {
        "topic": "demo",
        "accountId": "accountId",
          "certificateSN": "certificateSN",
    }
    
  • 返回示例

    HTTP/1.1 200 OK
    Transfer-Encoding: chunked
    Cache-Control: no-cache
    Server: BWS
    Date: Thu, 16 Feb 2017 02:17:26 GMT
    Content-Type: application/json;charset=UTF-8
    

查询group对证书授权

描述

本接口用于按照consumer group查询被授权的证书

请求

  • 请求结构

    POST /v{version}/authorization/consumergroup/list?accountId={accountId}&certType={certType}&group={consumerGroupName}     HTTP/1.1
    
  • 请求头域
    除公共头域外,无其它特殊头域。

  • 请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号
accountId String Query参数 用户Id
certType String Query参数 证书类型
group String Query参数 consumer group名称

返回

  • 返回头域

    除公共头域,无其它特殊头域。

  • 返回参数

    无特殊返回参数

错误码

示例

  • 请求示例

    POST /v1/authorization/consumergroup/list?accountId=account1&certType=privilege&group=consumerGroupName1
    authorization: bce-auth-v1/32d21dc5-b643-4769-864b-54e3a8868d89/2017-02-16T02:17:25Z/3600/host;x-bce-console-rpc-id;x-bce-date/03a0254357eafd041eb61a2610e938904733cc06a0d3994a7985b62a284874bd
    x-bce-console-rpc-id: 010ce7dc-e454-43ae-a950-75609b39c580
    host: kafka-api.bj.baidubce.com
    x-bce-date: 2017-02-16T02:17:25Z
    content-type: application/json
    user-agent: Jersey/2.9.1 (Apache HttpClient 4.3.3)
    content-length: 53
    connection: Keep-Alive
    accept-encoding: gzip,deflate
    
  • 返回示例

    HTTP/1.1 200 OK
    Transfer-Encoding: chunked
    Cache-Control: no-cache
    Server: BWS
    Date: Thu, 16 Feb 2017 02:17:26 GMT
    Content-Type: application/json;charset=UTF-8
    
    {
        "authorizedCertificates":[
            "certificateId": "certificateDemo",
            "description": "descriptionDemo",
            "consumerGroupOperation": "Use"      
        ]
    }
    

证书管理相关接口

查询证书列表

描述

本接口用于查询证书列表

请求

  • 请求结构

    POST /v{version}/certificate/list?marker={marker}&maxKeys={maxKeys}   
    HTTP/1.1
    
  • 请求头域
    除公共头域外,无其它特殊头域。

  • 请求参数

参数名称 类型 是否必需 参数位置 描述
version String URL参数 API版本号
marker String Query参数 查询位置标记,批量获取列表的查询的起始位置,是一个由系统生成的字符串
maxKeys Integer Query参数 查询最大记录数,每页包含的最大数量,最大数量通常不超过1000,缺省值为1000

返回

  • 返回头域

    除公共头域,无其它特殊头域。

  • 返回参数

参数名称 类型 描述
marker String 标记查询的起始位置
isTruncated boolean true表示后面还有数据,false表示已经是最后一页
nextMarker String 获取下一页所需要传递的marker值,当isTruncated为false时,该域不出现
certificates List\<certificates> certificates信息,由 certificate组成的集合

错误码

示例

  • 请求示例

    POST /v1/authorization/certificate/list?marker=marker&maxKeys=10
    authorization: bce-auth-v1/32d21dc5-b643-4769-864b-54e3a8868d89/2017-02-16T02:17:25Z/3600/host;x-bce-console-rpc-id;x-bce-date/03a0254357eafd041eb61a2610e938904733cc06a0d3994a7985b62a284874bd
    x-bce-console-rpc-id: 010ce7dc-e454-43ae-a950-75609b39c580
    host: kafka-api.bj.baidubce.com
    x-bce-date: 2017-02-16T02:17:25Z
    content-type: application/json
    user-agent: Jersey/2.9.1 (Apache HttpClient 4.3.3)
    content-length: 53
    connection: Keep-Alive
    accept-encoding: gzip,deflate
    
  • 返回示例

    HTTP/1.1 200 OK
    Transfer-Encoding: chunked
    Cache-Control: no-cache
    Server: BWS
    Date: Thu, 16 Feb 2017 02:17:26 GMT
    Content-Type: application/json;charset=UTF-8
    

    {

    "marker": "demo",
            "nextMarker": "test",
            "isTruncated": false,
            "certificates":[],
    

    }

    获取certificate信息

    描述

本接口用于获取certificate信息

请求

  • 请求结构

    POST /v{version}/certificate/detail/{certificateId}  
    HTTP/1.1
    
  • 请求头域
    除公共头域外,无其它特殊头域。

  • 请求参数

参数名称 类型 是否必需 参数位置 描述
certificateId String URL参数 证书Id

返回

  • 返回头域

    除公共头域,无其它特殊头域。

  • 返回参数