创建一个按需收费的Elasticsearch集群
本节通过调用云搜索服务的API创建CSS服务集群,CSS的接口调用流程如图1所示。
通过IAM服务获取到的Token有效期为24小时,需要使用同一个Token鉴权时,可以先将Token缓存,避免频繁调用。
涉及API
当您使用Token认证方式完成认证鉴权时,需要获取用户Token并在调用接口时增加“X-Auth-Token”到业务接口请求消息头中。
- IAM获取Token的API
- CSS创建集群的API
具体步骤
- 获取Token,发送“POST https://IAM的Endpoint/v3/auth/tokens”。
Token认证,具体操作请参考认证鉴权。
在响应Header中获取“X-Subject-Token”的值即为用户Token。
- 设置请求消息头,在Request Header中增加“Content-type ”和“X-Auth-Token”。
- Content-Type:消息体的类型(格式),默认取值为“application/json”。
- X-Auth-Token:填写1获取的用户Token。
- 发送创建集群的请求,在Request Body中传入参数如下:
POST /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters { "cluster" : { "instance" : { "flavorRef" : "ess.spec-4u16g", "volume" : { "volume_type" : "COMMON", "size" : 120 }, "nics" : { "vpcId" : "{VPC ID}", "netId" : "{NET ID}", "securityGroupId" : "{Security group ID}" }, "availability_zone" : "{AZ CODE}" }, "datastore" : { "version" : "{cluster-version}", "type" : "elasticsearch" }, "name" : "cluster-name", "instanceNum" : 3, "backupStrategy" : { "period" : "16:00 GMT+08:00", "prefix" : "snapshot", "keepday" : 7, "frequency" : "DAY", "bucket" : "css-obs-backup", "basePath" : "css_repository/obs-path", "agency" : "css_obs_agency" }, "httpsEnable" : true, "authorityEnable" : true, "adminPwd" : "{password}", "enterprise_project_id" : "0", "tags" : [ { "key" : "k1", "value" : "v1" }, { "key" : "k2", "value" : "v2" } ] } }
响应消息样例。{ "cluster": { "id": "ef683016-871e-48bc-bf93-74a29d60d214", "name": "ES-Test" } }
请求响应成功后,返回200 OK,表示集群创建成功。
若请求失败,则会返回错误码及对应的错误信息说明,详细错误码信息请参考状态码。