注册微服务实例 - RegisterMicroserviceInstance
功能介绍
创建微服务后就可以注册该微服务的实例。
注册微服务实例时,需提供该微服务实例相关的信息。
instanceId可定制,如果定制了,再次注册就直接全内容覆盖;如果没有定制,系统自动生成id,如果endpoints内容重复,则使用原来的id。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,当前API调用无需身份策略权限。
URI
POST /v4/{project_id}/registry/microservices/{service_id}/instances
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 请填固定值:default。 |
service_id | 是 | String | 微服务唯一标识。字符长度为1~64,正则表达式为^.*$。获取方法请参考查询所有微服务信息。 |
请求参数
参数 | 是必选 | 参数类型 | 描述 |
|---|---|---|---|
Authorization | 否 | String | 若ServiceComb引擎专享版开启了安全认证,此参数必填。否则,无此参数。 开启了安全认证的ServiceComb引擎专享版Token,格式为: Authorization:Bearer {Token} Token获取方法,请参考获取ServiceComb引擎专享版用户Token。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
instance | 是 | MicroServiceInstance object | 微服务实例信息。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
instanceId | 否 | String | 实例id,唯一标识。创建实例,instanceId由service-center产生。 |
serviceId | 否 | String | 微服务唯一标识,创建实例时,以url里面的为准,不用这里的serviceId。 |
version | 否 | String | 微服务版本号。 |
hostName | 是 | String | 主机信息。 |
endpoints | 否 | Array of strings | 访问地址信息。 |
status | 否 | String | 实例状态。 取值范围:
默认取值: UP |
properties | 否 | Object | 微服务扩展属性,可以自定义KEY和相应的Value。长度最小1字节。 |
healthCheck | 否 | HealthCheck object | 健康检查信息。 |
dataCenterInfo | 否 | DataCenterInfo object | 数据中心信息。 |
timestamp | 否 | String | 实例创建时间戳,自动生成。 |
modTimestamp | 否 | String | 更新时间。 |
响应参数
状态码: 200
参数 | 参数类型 | 描述 |
|---|---|---|
instanceId | String | 实例ID。 |
状态码: 400
参数 | 参数类型 | 描述 |
|---|---|---|
errorCode | String | 错误代码。 |
errorMessage | String | 错误信息。 |
detail | String | 详细定位信息。 |
状态码: 500
参数 | 参数类型 | 描述 |
|---|---|---|
errorCode | String | 错误代码。 |
errorMessage | String | 错误信息。 |
detail | String | 详细定位信息。 |
请求示例
注册一个微服务实例,其主机信息为localhost,健康检查的心跳模式为push,心跳间隔为30s,所在region为r1,名字为dc,可用区为az1。
POST https://{endpoint}/v4/{project_id}/registry/microservices/{service_id}/instances
{
"instance" : {
"endpoints" : [ "grpc://127.0.1.312:9980", "rest://127.0.0.111:8081" ],
"hostName" : "localhost",
"status" : "UP",
"properties" : {
"_TAGS" : "A, B",
"attr1" : "a",
"nodeIP" : "127.0.0.1"
},
"dataCenterInfo" : {
"name" : "dc",
"region" : "r1",
"availableZone" : "az1"
},
"healthCheck" : {
"mode" : "push",
"interval" : 30,
"times" : 3
}
}
} 响应示例
状态码: 200
注册成功。
{
"instanceId" : "8540bb8b693c4ad1a7fb6a756c415244"
} 状态码
状态码 | 描述 |
|---|---|
200 | 注册成功。 |
400 | 错误的请求。 |
500 | 服务内部错误。 |
错误码
请参见ServiceComb错误码。

