注册微服务实例 - 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、DOWN、STARTING、OUTOFSERVICE。 默认值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错误码。