消息队列Kafka版接口调用是向消息队列Kafka版的服务端地址发送HTTP请求,并按照接口说明在请求中加入相应请求参数,调用后系统会返回处理结果。请求及返回结果都使用UTF-8字符集进行编码。

请求结构

消息队列Kafka版的API是RPC风格,您可以通过发送HTTP请求调用消息队列Kafka版API。

其请求结构如下:

http://Endpoint/?Action=xx&Parameters

其中:

  • Endpoint消息队列Kafka版API的服务接入地址。不同地域的接入地址如下表所示。
    表 1. 消息队列Kafka版接入地址
    地域名称 RegionId Domain
    华东1(杭州) cn-hangzhou alikafka.cn-hangzhou.aliyuncs.com
    华东2(上海) cn-shanghai alikafka.cn-shanghai.aliyuncs.com
    华北1(青岛) cn-qingdao alikafka.cn-qingdao.aliyuncs.com
    华北2(北京) cn-beijing alikafka.cn-beijing.aliyuncs.com
    华北3(张家口) cn-zhangjiakou alikafka.cn-zhangjiakou.aliyuncs.com
    华北5(呼和浩特) cn-huhehaote alikafka.cn-huhehaote.aliyuncs.com
    华南1(深圳) cn-shenzhen alikafka.cn-shenzhen.aliyuncs.com
    中国(香港) cn-hongkong alikafka.cn-hongkong.aliyuncs.com
    新加坡 ap-southeast-1 alikafka.ap-southeast-1.aliyuncs.com
    印度(孟买) ap-south-1 alikafka.ap-south-1.aliyuncs.com
    印度尼西亚(雅加达) ap-southeast-5 slb.ap-southeast-5.aliyuncs.com
  • Action:要执行的操作。例如,调用GetInstanceList查询已创建的消息队列Kafka版实例。
  • Version:要使用的API版本。消息队列Kafka版的API版本是2019-09-16
  • Parameters:请求参数。每个参数之间用 “&” 分隔。 请求参数由公共请求参数和API自定义参数组成。公共参数中包含API版本号、身份验证等信息。详情请参见公共参数

以下是一个调用GetInstanceList接口查询已创建的消息队列Kafka版实例的示例:

说明 为了便于您查看,本文中的示例都做了格式化处理。
https://alikafka.aliyuncs.com/?Action=GetInstanceList
&Format=JSON
&Version=2019-09-16
&Signature=xxxx%xxxx%%3D
&SignatureMethod=HMAC-SHA1
&SignatureNonce=87dacc12d1a92bb296d2b398b454884b
&SignatureVersion=1.0
&AccessKeyId=key-test
&Timestamp=2020-01-06T09
…

API授权

为了确保您的账号安全,建议您使用子账号的身份凭证调用API。如果您使用RAM账号调用消息队列Kafka版,您需要为该RAM账号创建、附加相应的授权策略。

消息队列Kafka版中可授权的资源和接口列表,请参见RAM鉴权

API签名

对于每一次HTTP或者HTTPS协议请求,我们会根据访问中的签名信息验证访问请求者身份。具体使用AccessKey的AccessKeyId和AccessKeySecret对称加密验证实现。消息队列Kafka版通过使用AccessKey ID和AccessKey Secret进行对称加密的方法来验证请求的发送者身份。AccessKey是为阿里云账号和RAM用户发布的一种身份凭证(类似于用户的登录密码),其中AccessKey ID用于标识访问者的身份,AccessKey Secret是用于加密签名字符串和服务器端验证签名字符串的密钥,必须严格保密。API签名方法,请参见签名机制