文档首页 > > API参考> CSE API> 微服务> 创建微服务静态信息

创建微服务静态信息

分享
更新时间:2020/06/24 GMT+08:00

功能介绍

在注册微服务实例前需要创建服务静态信息,之后注册的微服务实例根据service_id这个字段与静态信息关联,一个服务对应对多个实例。service_id可以定制。如果定制了,系统将使用定制的service_id;如果没定制,系统会随机生成service_id。

接口约束

URI

POST /v4/{project_id}/registry/microservices

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户子项目的唯一标识。字符长度为1~64。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

x-domain-name

String

租户账号名称。

表3 请求Body参数

参数

是否必选

参数类型

描述

service

MicroService object

微服务信息。

rules

Array of Rule objects

黑白名单信息。

instances

Array of MicroServiceInstance objects

实例信息。

tags

Map<String, String>

微服务扩展属性,可以自定义 KEY 和相应的 Value。长度最小1字节。

表4 MicroService

参数

是否必选

参数类型

描述

serviceId

String

微服务唯一标识。字符长度为1~64。正则表达式为^.*$

environment

String

用于区分服务阶段,取值为development|testing|acceptance|production。当配置为development、testing或acceptance时,可以通过批量上传schemas接口新增或者修改已存在的Schema;当配置为production时,则不可以新增或者修改Schema。默认值development。

appId

String

应用App唯一标识。字符长度为1~160。 正则表达式为^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9_-.][a-zA-Z0-9]$

serviceName

String

微服务名称,同一个App要保证唯一。字符长度为1~128。 正则表达式为^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9_-.][a-zA-Z0-9]$

version

String

微服务版本号。字符长度为1~64。 正则表达式为^[0-9]$|^[0-9]+(.[0-9]+)$

description

String

微服务描述信息。字符长度不超过256。

level

String

微服务层级。FRONT MIDDLE BACK

registerBy

String

微服务注册方式,SDK PLATFORM SIDECAR UNKNOWN

schemas

Array of Schema objects

微服务访问的契约内容。支持数字、字母,支持使用括号内字符做连接符(_-.),长度1-160字节,数组长度最大100个契约。

status

String

微服务状态,UP表示上线,DOWN表示下线,默认值UP

枚举值:

  • UP

  • DOWN

timestamp

String

微服务注册时间。

modTimestamp

String

最后修改UTC时间。

framework

Framework object

开发框架信息。

paths

Array of ServicePath objects

服务路由信息。

表5 Schema

参数

是否必选

参数类型

描述

schemaId

String

微服务契约ID。支持数字、字母和括号内字符(_-.),长度1-160字节。

schema

String

微服务契约内容。任意字符、长度1-2048字节。

summary

String

微服务契约摘要。支持数字、字母,长度0-128字节。

表6 Framework

参数

是否必选

参数类型

描述

name

String

微服务开发框架,默认值为UNKNOWN。

version

String

微服务开发框架版本号。

表7 ServicePath

参数

是否必选

参数类型

描述

Path

String

路由地址

Property

Map<String, String>

微服务扩展属性,可以自定义 KEY 和相应的 Value。长度最小1字节。

表8 Rule

参数

是否必选

参数类型

描述

ruleId

String

自定义ruleId

ruleType

String

rule类型,WHITE或者BLACK

attribute

String

如果是tag_xxx开头,则按Tag过滤attribute属性,否则,则按"serviceId", "AppId", "ServiceName", "Version", "Description", "Level", "Status"过滤

pattern

String

匹配规则,正则表达式,长度1到64

description

String

rule描述

timestamp

String

只有获取rule时返回使用,创建rule的时间

modTimestamp

String

更新时间

表9 MicroServiceInstance

参数

是否必选

参数类型

描述

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

Map<String, String>

微服务扩展属性,可以自定义 KEY 和相应的 Value。长度最小1字节。

healthCheck

HealthCheck object

健康检查信息。

dataCenterInfo

DataCenterInfo object

数据中心信息。

timestamp

String

实例创建时间戳,自动生成

modTimestamp

String

更新时间

表10 HealthCheck

参数

是否必选

参数类型

描述

mode

String

心跳模式 push/pull。

port

Integer

端口。

interval

Integer

心跳间隔(秒)。

times

Integer

允许失败次数。

表11 DataCenterInfo

参数

是否必选

参数类型

描述

name

String

区域名字

region

String

区域

availableZone

String

可获取区

响应参数

状态码为 200 时:

表12 响应Body参数

参数

参数类型

描述

serviceId

String

微服务唯一标识。

状态码为 400 时:

表13 响应Body参数

参数

参数类型

描述

errorCode

String

错误代码。

errorMessage

String

错误信息。

detail

String

详细定位信息。

状态码为 500 时:

表14 响应Body参数

参数

参数类型

描述

errorCode

String

错误代码。

errorMessage

String

错误信息。

detail

String

详细定位信息。

请求示例

POST https://{endpoint}/v4/{project_id}/registry/microservices

{
  "service" : {
    "serviceName" : "helloworld",
    "alias" : "HelloWorld",
    "appId" : "TestApp",
    "version" : "1.0.1",
    "description" : "some descrition message!",
    "level" : "FRONT",
    "schemas" : [ "com.test.HelloWorld" ],
    "status" : "UP",
    "properties" : {
      "attr1" : "a"
    },
    "paths" : [ {
      "path" : "/rest/url",
      "property" : {
        "match" : "accurate",
        "local" : "force",
        "checksession" : "true"
      }
    }, {
      "path" : "/rest/url2",
      "property" : {
        "match" : "accurate",
        "local" : "force"
      }
    } ]
  }
}

响应示例

状态码为 200 时:

{
  "serviceId" : "string"
}

状态码为 400 时:

{
  "errorCode" : "string",
  "errorMessage" : "string",
  "detail" : "string"
}

状态码为 500 时:

{
  "errorCode" : "string",
  "errorMessage" : "string",
  "detail" : "string"
}

状态码

状态码

描述

200

创建成功。service_id (string) -为该微服务生成的id。后续的操作都是针对该微服务ID进行操作。

400

请求参数错误。

500

服务内部错误。

错误码

请参见错误码

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问