REST API
记录可用于Redis Enterprise Software部署的REST API。
Redis 企业版软件提供了一个 REST API 来帮助您自动化常见任务。
在这里,您将找到API的详细信息以及如何使用它。
更多信息,请参阅:
- 支持的请求端点,按路径组织
- 支持的对象,包括请求和响应
- 内置角色和相关的权限
- Redis Enterprise Software REST API 快速入门 附示例
认证
Redis Enterprise Software API 的认证通过 Basic Auth 进行。请提供您的用户名和密码作为基本认证凭证。
如果用户名和密码不正确或缺失,请求将失败并返回401 Unauthorized
状态码。
使用 cURL 的示例请求:
curl -u "demo@redislabs.com:password" \
https://localhost:9443/v1/bdbs
更多示例,请参阅Redis Enterprise Software REST API 快速入门。
权限
默认情况下,管理员用户被授权访问所有端点。使用基于角色的访问控制和角色权限来管理访问。
如果用户尝试访问其角色不允许的端点,请求将失败并返回403 Forbidden
状态码。有关哪些用户角色可以访问特定端点的更多详细信息,请参阅Permissions。
证书
Redis Enterprise Software REST API 使用自签名证书来确保产品的安全性。当您使用默认的自签名证书时,除非关闭 SSL 证书验证,否则 HTTPS 请求将失败,并显示SSL certificate problem: self signed certificate
。
端口
所有调用必须通过SSL连接到端口9443。为了使API正常工作,端口9443必须暴露给传入流量或映射到不同的端口。
如果您使用的是Redis Enterprise Software Docker 镜像,请运行以下命令以启动暴露端口9443的Docker镜像:
docker run -p 9443:9443 redislabs/redis
版本
所有API请求都进行了版本控制,以尽量减少向后不兼容的API更改的影响,并协调并行操作的不同版本。
在请求的URI中指定版本,如下表所示:
请求路径 | 描述 |
---|---|
POST /v1/bdbs |
对 /bdbs 端点的版本1请求。 |
POST /v2/bdbs |
对 /bdbs 端点的版本 2 请求。 |
当一个端点支持多个版本时,每个版本都会在相应的端点上进行文档记录。例如,bdbs请求页面记录了版本1和版本2的POST请求。
头部
请求
Redis Enterprise REST API 请求支持以下 HTTP 头信息:
标题 | 支持/必需的值 |
---|---|
接受 | application/json |
Content-Length | 请求消息的长度(以字节为单位) |
Content-Type | application/json (PUT 或 POST 请求时必需) |
如果客户端指定了无效的标头,请求将失败并返回400 Bad Request
状态码。
响应
Redis Enterprise REST API 响应支持以下 HTTP 头:
标题 | 支持/必需的值 |
---|---|
内容类型 | application/json |
Content-Length | 响应消息的长度(以字节为单位) |
JSON 请求和响应
Redis Enterprise Software REST API 使用 JavaScript Object Notation (JSON) 进行请求和响应。有关 JSON 的更多信息,请参阅 RFC 4627 技术规范。
某些响应可能没有正文,但会使用标准的HTTP代码来指示响应。
请求和响应可能包含零个或多个对象。
如果请求是针对单个实体的,响应将返回一个单一的JSON对象或没有。如果请求是针对实体列表的,响应将返回一个包含零个或多个元素的JSON数组。
如果您在请求中省略了某些JSON对象字段,它们可能会被赋予默认值,这通常表示这些字段未被使用。
响应类型和错误代码
HTTP状态码表示API请求的结果。如果服务器接受了请求,可能是200 OK
,也可能是众多错误代码之一。
Redis Enterprise API 请求最常见的响应是:
响应 | 条件/必需处理 |
---|---|
200 OK | 成功 |
400 Bad Request | 请求失败,通常是由于拼写错误或其他错误。 |
401 Unauthorized | 请求失败,因为认证信息缺失或不正确。 |
403 Forbidden | 用户无法访问指定的URI。 |
404 Not Found | 该URI不存在。 |
503 Service Unavailable | 节点未响应或不是集群的成员。 |
505 HTTP 版本不支持 | 使用了不支持的 x-api-version 。请参阅 版本。 |
一些端点返回不同的响应代码。这些端点的请求参考文档记录了这些特殊情况。