华为云用户手册

  • 响应示例 状态码: 200 查询成功。 { "services": [ { "serviceId": "8aed80ea052ac04a64dfc79c24f2170224d074f5", "appId": "default", "serviceName": "test", "version": "1.0.0", "description": "this is a test", "level": "BACK", "status": "UP", "timestamp": "1650543950", "modTimestamp": "1650543950" }, { "serviceId": "dcc6c1073eab3cadb47cea2e1a874b7883b02a63", "appId": "test", "serviceName": "test1", "version": "1.0.0", "level": "BACK", "status": "UP", "timestamp": "1650544223", "modTimestamp": "1650544223" } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 services Array of MicroService objects 微服务列表。 表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 strings 微服务访问的契约内容。支持数字、字母,支持使用括号内字符做连接符(_-.),长度1-160字节,数组长度最大100个契约。 status String 微服务状态,UP表示上线,DOWN表示下线,默认值UP。 timestamp String 微服务注册时间。 modTimestamp String 最后修改UTC时间。 framework Framework object 开发框架信息。 paths Array of ServicePath objects 服务路由信息。 表5 Framework 参数 参数类型 描述 name String 微服务开发框架,默认值为UNKNOWN。 version String 微服务开发框架版本号。 表6 ServicePath 参数 参数类型 描述 Path String 路由地址。 Property Object 微服务扩展属性,可以自定义KEY和相应的Value。长度最小1字节。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Authorization 否 String 若ServiceComb引擎专享版开启了安全认证,此参数必填。否则,无此参数。 开启了安全认证的ServiceComb引擎专享版Token,格式为: Authorization:Bearer {Token} Token获取方法,请参考获取ServiceComb引擎专享版用户Token。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 schemas Array of Schema objects 契约列表。 表5 Schema 参数 参数类型 描述 schemaId String 契约id。 schema String 契约内容。 summary String 契约的Summary。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。 状态码: 500 表7 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。
  • 响应示例 状态码: 200 查询成功。 { "schemas": [{ "schemaId": "xxxxmvc", "schema": "---\nswagger: \"2.0\"\ninfo:\n version: \"1.0.0\"\n title: \"swagger definition for com.service.provider.controller.ProviderImpl\"\n x-java-interface: \"cse.gen.springmvc.provider.provider.ProviderImplIntf\"\nbasePath: \"/provider\"\nconsumes:\n- \"application/json\"\nproduces:\n- \"application/json\"\npaths:\n /helloworld:\n get:\n operationId: \"helloworld\"\n produces:\n - \"application/json\"\n parameters:\n - name: \"name\"\n in: \"query\"\n required: true\n type: \"string\"\n responses:\n 200:\n description: \"response of 200\"\n schema:\n type: \"string\"\nxxxx", "summary": "abcda7b4072ef2d7a5fc9aefccf03e5548029ae31c6cd5fc29da7685d6d9e14adea3" }] }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Authorization 否 String 若ServiceComb引擎专享版开启了安全认证,此参数必填。否则,无此参数。 开启了安全认证的ServiceComb引擎专享版Token,格式为: Authorization:Bearer {Token} Token获取方法,请参考获取ServiceComb引擎专享版用户Token。
  • URI GET /v4/{project_id}/registry/microservices/{service_id}/schemas 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 请填固定值:default。 service_id 是 String 微服务唯一标识。字符长度为1~64,正则表达式为^.*$。获取方法请参考查询所有微服务信息。 表2 Query参数 参数 是否必选 参数类型 描述 withSchema 否 Integer 是否查询schema内容,默认为0。 0表示不显示schema内容,只有schema_id和summary。 1表示显示schema_id、summary和schema。
  • 响应示例 状态码: 200 查询成功 { "id": "8a9e6a5d-8d65-48fb-a40c-5150c8479da8", "key": "string", "labels": { "key1": "value1", "key2": "value2" }, "value": "string", "value_type": "text", "status": "enabled", "create_time": 1623139038, "update_time": 1623139038, "create_revision": 13, "update_revision": 13 }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Authorization 否 String 若ServiceComb引擎专享版开启了安全认证,此参数必填。否则,无此参数。 开启了安全认证的ServiceComb引擎专享版Token,格式为: Authorization:Bearer {Token} Token获取方法,请参考获取ServiceComb引擎专享版用户Token。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为 "application/json;charset=UTF-8"。 X-Auth-Token 是 String 用户Token。 x-engine-id 是 String 微服务引擎专享版的实例ID。 X-Enterprise-Project-ID 是 String 企业项目ID。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Authorization 否 String 若ServiceComb引擎专享版开启了安全认证,此参数必填。否则,无此参数。 开启了安全认证的ServiceComb引擎专享版Token,格式为: Authorization:Bearer {Token} Token获取方法,请参考获取ServiceComb引擎专享版用户Token。 表4 请求Body参数 参数 是否必选 参数类型 描述 serviceIds 是 Array of strings 服务ID列表,获取方法请参考查询所有微服务信息。
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 services Array of DelServicesRspInfo objects 需要删除的服务信息列表。 表6 DelServicesRspInfo 参数 参数类型 描述 serviceId String 微服务id。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。
  • URI DELETE /v4/{project_id}/registry/microservices 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 请填固定值:default。 表2 Query参数 参数 是否必选 参数类型 描述 force 否 Boolean 是否强制删除。 true表示强制删除,false表示非强制删除。 选择强制删除会自动注销所有服务实例,并且删除相关的服务依赖关系。如果未传此参数,那么在服务拥有实例时,无法被删除。 缺省值:false。
  • 响应参数 状态码: 400 表3 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。 状态码: 500 表4 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。
  • URI PUT /v4/{project_id}/registry/microservices/{service_id}/instances/{instance_id}/heartbeat 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 请填固定值:default。 service_id 是 String 微服务唯一标识。字符长度为1~64,正则表达式为^.*$。获取方法请参考查询所有微服务信息。 instance_id 是 String 微服务实例唯一标识。字符长度不超过64位, 正则表达式为^[A-Za-z0-9_.-]*$。获取方法请参考根据service_id查询微服务实例。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Authorization 否 String 若ServiceComb引擎专享版开启了安全认证,此参数必填。否则,无此参数。 开启了安全认证的ServiceComb引擎专享版Token,格式为: Authorization:Bearer {Token} Token获取方法,请参考获取ServiceComb引擎专享版用户Token。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 imagePullPolicy String 拉取OCI镜像的行为 枚举值: UNSPECIFIED_POLICY IfNotPresent Always imagePullSecret String 拉取OCI 镜像的凭据 phase String 确定插件将在过滤器链中的何处注入。 枚举值: UNSPECIFIED_PHASE AUTHN AUTHZ STATS pluginConfig Object 传递给插件的配置。 pluginName String 插件名。 priority Integer 插件的调用优先级。 sha256 String 用于校验插件和容器的校验和。 url String 插件或容器的下载地址。 verificationKey String 校验值。
  • URI GET /v2/{engine}/{project_id}/instances/{instance_id}/extend 表1 路径参数 参数 是否必选 参数类型 描述 engine 是 String 消息引擎。 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID。 表2 Query参数 参数 是否必选 参数类型 描述 type 是 String 产品的类型。 advanced: 专享版
  • 响应示例 状态码: 200 查询实例的扩容规格列表成功。 { "engine" : "kafka", "versions" : [ "1.1.0", "2.7" ], "products" : [ { "type" : "cluster", "product_id" : "c6.2u4g.cluster", "ecs_flavor_id" : "c3.large.2", "arch_types" : [ "X86" ], "charging_mode" : [ "monthly", "hourly" ], "ios" : [ { "io_spec" : "dms.physical.storage.high.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.ultra.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] } ], "support_features" : [ { "name" : "connector_obs", "properties" : { "max_task" : "10", "max_node" : "10", "min_task" : "1", "min_node" : "2" } } ], "properties" : { "max_partition_per_broker" : "250", "max_broker" : "30", "max_storage_per_node" : "10000", "max_consumer_per_broker" : "4000", "min_broker" : "3", "product_alias" : "kafka.2u4g.cluster", "max_bandwidth_per_broker" : "100", "min_storage_per_node" : "100", "max_tps_per_broker" : "30000" }, "available_zones" : [ "xxx" ], "unavailable_zones" : [ ] }, { "type" : "cluster", "product_id" : "c6.2u4g.cluster.dec", "ecs_flavor_id" : "c6.large.2", "arch_types" : [ "X86" ], "charging_mode" : [ "monthly", "hourly" ], "ios" : [ { "io_spec" : "dms.physical.storage.high.dss.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.ultra.dss.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.ultra.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.high.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] } ], "support_features" : [ { "name" : "connector_obs", "properties" : { "max_task" : "10", "max_node" : "10", "min_task" : "1", "min_node" : "2" } } ], "properties" : { "max_partition_per_broker" : "100", "max_broker" : "30", "max_storage_per_node" : "400", "max_consumer_per_broker" : "4000", "min_broker" : "3", "product_alias" : "kafka.2u4g.cluster.dec", "max_bandwidth_per_broker" : "100", "min_storage_per_node" : "100", "max_tps_per_broker" : "30000" }, "available_zones" : [ ], "unavailable_zones" : [ "xxx" ] }, { "type" : "cluster", "product_id" : "c6.4u8g.cluster", "ecs_flavor_id" : "c3.xlarge.2", "arch_types" : [ "X86" ], "charging_mode" : [ "monthly", "hourly" ], "ios" : [ { "io_spec" : "dms.physical.storage.high.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.ultra.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] } ], "support_features" : [ { "name" : "connector_obs", "properties" : { "max_task" : "10", "max_node" : "10", "min_task" : "1", "min_node" : "2" } } ], "properties" : { "max_partition_per_broker" : "500", "max_broker" : "30", "max_storage_per_node" : "20000", "max_consumer_per_broker" : "4000", "min_broker" : "3", "product_alias" : "kafka.4u8g.cluster", "max_bandwidth_per_broker" : "100", "min_storage_per_node" : "100", "max_tps_per_broker" : "100000" }, "available_zones" : [ "xxx" ], "unavailable_zones" : [ ] }, { "type" : "cluster", "product_id" : "c6.8u16g.cluster", "ecs_flavor_id" : "c3.2xlarge.2", "arch_types" : [ "X86" ], "charging_mode" : [ "monthly", "hourly" ], "ios" : [ { "io_spec" : "dms.physical.storage.high.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.ultra.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] } ], "support_features" : [ { "name" : "connector_obs", "properties" : { "max_task" : "10", "max_node" : "10", "min_task" : "1", "min_node" : "2" } } ], "properties" : { "max_partition_per_broker" : "1000", "max_broker" : "30", "max_storage_per_node" : "30000", "max_consumer_per_broker" : "4000", "min_broker" : "3", "product_alias" : "kafka.8u16g.cluster", "max_bandwidth_per_broker" : "100", "min_storage_per_node" : "100", "max_tps_per_broker" : "150000" }, "available_zones" : [ "xxx" ], "unavailable_zones" : [ ] }, { "type" : "cluster", "product_id" : "c6.12u24g.cluster", "ecs_flavor_id" : "c3.3xlarge.2", "arch_types" : [ "X86" ], "charging_mode" : [ "monthly", "hourly" ], "ios" : [ { "io_spec" : "dms.physical.storage.high.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.ultra.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] } ], "support_features" : [ { "name" : "connector_obs", "properties" : { "max_task" : "10", "max_node" : "10", "min_task" : "1", "min_node" : "2" } } ], "properties" : { "max_partition_per_broker" : "1500", "max_broker" : "30", "max_storage_per_node" : "30000", "max_consumer_per_broker" : "4000", "min_broker" : "3", "product_alias" : "kafka.12u24g.cluster", "max_bandwidth_per_broker" : "100", "min_storage_per_node" : "100", "max_tps_per_broker" : "200000" }, "available_zones" : [ "xxx" ], "unavailable_zones" : [ ] }, { "type" : "cluster", "product_id" : "c6.16u32g.cluster", "ecs_flavor_id" : "c3.4xlarge.2", "arch_types" : [ "X86" ], "charging_mode" : [ "monthly", "hourly" ], "ios" : [ { "io_spec" : "dms.physical.storage.high.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] }, { "io_spec" : "dms.physical.storage.ultra.v2", "available_zones" : [ "xxx" ], "type" : "evs", "unavailable_zones" : [ ] } ], "support_features" : [ { "name" : "connector_obs", "properties" : { "max_task" : "10", "max_node" : "10", "min_task" : "1", "min_node" : "2" } } ], "properties" : { "max_partition_per_broker" : "2000", "max_broker" : "30", "max_storage_per_node" : "30000", "max_consumer_per_broker" : "4000", "min_broker" : "3", "product_alias" : "kafka.16u32g.cluster", "max_bandwidth_per_broker" : "100", "min_storage_per_node" : "100", "max_tps_per_broker" : "250000" }, "available_zones" : [ "xxx" ], "unavailable_zones" : [ ] } ] }
  • 响应示例 状态码: 200 获取实例配置成功。 { "kafka_configs" : [ { "name" : "min.insync.replicas", "valid_values" : "1~3", "default_value" : "1", "config_type" : "dynamic", "value" : "1", "value_type" : "integer" }, { "name" : "message.max.bytes", "valid_values" : "0~10485760", "default_value" : "10485760", "config_type" : "dynamic", "value" : "10485760", "value_type" : "integer" }, { "name" : "auto.create.groups.enable", "valid_values" : "true,false", "default_value" : "true", "config_type" : "dynamic", "value" : "true", "value_type" : "enum" }, { "name" : "connections.max.idle.ms", "valid_values" : "5000~600000", "default_value" : "600000", "config_type" : "static", "value" : "600000", "value_type" : "integer" }, { "name" : "log.retention.hours", "valid_values" : "1~168", "default_value" : "72", "config_type" : "static", "value" : "72", "value_type" : "integer" }, { "name" : "max.connections.per.ip", "valid_values" : "100~20000", "default_value" : "1000", "config_type" : "dynamic", "value" : "1000", "value_type" : "integer" }, { "name" : "group.max.session.timeout.ms", "valid_values" : "6000~1800000", "default_value" : "1800000", "config_type" : "static", "value" : "1800000", "value_type" : "integer" }, { "name" : "unclean.leader.election.enable", "valid_values" : "true,false", "default_value" : "false", "config_type" : "dynamic", "value" : "false", "value_type" : "enum" }, { "name" : "default.replication.factor", "valid_values" : "1~3", "default_value" : "3", "config_type" : "static", "value" : "3", "value_type" : "integer" }, { "name" : "offsets.retention.minutes", "valid_values" : "1440~30240", "default_value" : "20160", "config_type" : "dynamic", "value" : "20160", "value_type" : "integer" }, { "name" : "num.partitions", "valid_values" : "1~200", "default_value" : "3", "config_type" : "static", "value" : "3", "value_type" : "integer" }, { "name" : "group.min.session.timeout.ms", "valid_values" : "6000~300000", "default_value" : "6000", "config_type" : "static", "value" : "6000", "value_type" : "integer" } ] }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 kafka_configs Array of InstanceConfig objects kafka配置列表。 表3 InstanceConfig 参数 参数类型 描述 name String 配置名称。 valid_values String 有效值。 default_value String 默认值。 config_type String 配置类型:static/dynamic。 value String 配置当前值。 value_type String 值类型。
  • 请求消息 请求参数 参数说明见表2。 表2 参数说明 参数 类型 是否必选 说明 id String 是 topic名称,长度为4-64,以字母开头且只支持大小写字母、中横线、下划线以及数字。 partition Integer 否 topic分区数,设置消费的并发数。 默认值为3,取值范围为1~100。 replication Integer 否 副本数,配置数据的可靠性 默认值为3,取值范围为1~3。 sync_replication Boolean 否 是否开启同步复制,开启后,客户端生产消息时相应的也要设置acks=-1,否则不生效。 默认关闭。 retention_time Integer 否 消息老化时间。默认值为72。 取值范围1~720,单位小时。 sync_message_flush Boolean 否 是否使用同步落盘。默认值为false。同步落盘会导致性能降低。 请求示例 POST https://{dms_endpoint}/v1.0/{project_id}/instances/{instance_id}/topics { "id" : "haha", "partition" : 3, "replication" : 3, "sync_replication " : true, "retention_time" : 10, "sync_message_flush" : true }
  • 响应消息 响应参数 参数说明见表2。 表2 响应参数说明 参数 类型 说明 dimensions Array of object dimensions 监控维度。参数参考表3。 instance_ids Array of object instance_ids 实例信息。参数参考表4。 nodes Array of object nodes 节点信息。参数参考表5。 queues Array of object queues 队列信息。参数参考表6。 groups Array of object groups 消费组信息。参数参考表7。 表3 dimensions参数说明 参数 类型 说明 name String 监控维度名称。 metrics Array of object metrics 监控指标名称。参数参考表10。 key_name Array of object key_name 监控查询使用的key。 dim_router Array of object dim_router 监控维度路由。 children Array of object children 子维度列表。参数参考表8。 表4 instance_ids参数说明 参数 类型 说明 name String 实例ID。 表5 nodes参数说明 参数 类型 说明 name String 节点名称。 表6 queues参数说明 参数 类型 说明 name String topic名称。 partitions Array of object partitions 分区列表。参数参见表9。 表7 groups参数说明 参数 类型 说明 name String 消费组名称。 queues Array of object queues 队列信息。 表8 children参数说明 参数 类型 说明 name String 子维度名称。 metrics Array of String 监控指标名称列表。参数参见表10。 key_name Array of String 监控查询使用的key。 dim_router Array of String 监控维度路由 表9 partitions参数说明 参数 类型 说明 name String 分区id 表10 metrics说明 维度 指标ID 说明 kafka_instance_id (kafka实例维度) current_topics topic个数 current_partitions 分区个数 group_messages 消费组堆积消息数 kafka_broker(kafka节点维度) broker_data_size 节点数据容量 broker_messages_in_rate 消息生产速率,每秒生产的消息数量 broker_bytes_out_rate 消费流量,每秒消费的字节数 broker_bytes_in_rate 生产流量,每秒生产的字节数 broker_public_bytes_in_rate 公网入流量,每秒节点公网访问流入流量 broker_public_bytes_out_rate 公网出流量,每秒节点公网访问流出流量 broker_produce_mean 消息生产平均处理时长,服务端处理消息生产请求平均时长 broker_fetch_mean 消息消费平均处理时长,服务端处理消息消费请求平均时长 kafka_topics(kafka topic维度) topic_data_size 队列数据容量,当前队列的数据容量 topic_messages_in_rate 消息生产速率,每秒钟生产的消息数量 topic_bytes_out_rate 消费流量,每秒钟消费的字节数 topic_bytes_in_rate 生产流量,每秒钟生产的字节数 topic_messages 队列消息总数,当前队列的总消息数 kafka_partitions(kafka分区维度) produced_messages 生产消息数,已经生产的消息数 partition_messages 分区消息数,分区当前的消息数 messages_consumed 分区已消费消息数,当前消费组已经消费的消息个数 messages_remained 分区剩余可消费数,消费组剩余可消费的消息个数 kafka_groups_partitions(kafka消费组维度) messages_consumed 分区已消费消息数,当前消费组已经消费的消息个数 messages_remained 分区剩余可消费消息数,当前消费组剩余可消费的消息个数 响应示例 { "dimensions": [{ "name": "kafka_instance_id", "metrics": ["current_partitions", "current_topics", "group_messages"], "key_name": ["instance_ids"], "dim_router": ["kafka_instance_id"] }, { "name": "kafka_broker", "metrics": ["broker_data_size", "broker_messages_in_rate", "broker_bytes_out_rate", "broker_bytes_in_rate", "broker_produce_mean", "broker_fetch_mean"], "key_name": ["nodes"], "dim_router": ["kafka_instance_id", "kafka_broker"] }, { "name": "kafka_rest", "metrics": ["rest_produce_success", "rest_produce_failed", "rest_produce_latency", "rest_produce_msg_num", "rest_produce_flow", "rest_consume_success", "rest_consume_failed", "rest_consume_latency", "rest_consume_msg_num", "rest_consume_flow", "rest_commit_success", "rest_commit_failed", "rest_commit_latency", "rest_commit_msg_num", "rest_commit_flow"], "key_name": ["nodes"], "dim_router": ["kafka_instance_id", "kafka_rest"] }, { "name": "kafka_topics", "metrics": ["topic_data_size", "topic_messages_in_rate", "topic_bytes_out_rate", "topic_bytes_in_rate", "topic_messages"], "key_name": ["queues"], "dim_router": ["kafka_instance_id", "kafka_topics"], "children": [{ "name": "kafka_partitions", "metrics": ["produced_messages", "partition_messages"], "key_name": ["queues", "partitions"], "dim_router": ["kafka_instance_id", "kafka_topics", "kafka_partitions"] }] }, { "name": "kafka_groups_partitions", "metrics": ["messages_consumed", "messages_remained"], "key_name": ["groups", "queues", "partitions"], "dim_router": ["kafka_instance_id", "kafka_groups", "kafka_groups_topics", "kafka_groups_partitions"] }], "instance_ids": [{ "name": "68f3f6a0-3741-453b-bda9-a6ff6b5bb6f7" }], "nodes": [{ "name": "broker-0" }, { "name": "broker-1" }, { "name": "broker-2" }], "queues": [{ "name": "aaaa", "partitions": [{ "name": "0" }] }, { "name": "mytest", "partitions": [{ "name": "0" }, { "name": "1" }, { "name": "2" }] }, { "name": "topic-84234378", "partitions": [{ "name": "0" }, { "name": "1" }, { "name": "2" }] }], "groups": [{ "name": "test-consumer-group", "queues": [{ "name": "mytest", "partitions": [{ "name": "0" }, { "name": "1" }, { "name": "2" }] }] }] }
  • 状态码 状态码如表1所示 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 200 OK 请求成功。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
  • 调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "xxx-xxx-xxx", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 响应消息 响应参数 表2 响应参数说明 参数 类型 说明 cluster Object of cluster 集群基本信息。参数请查看表3。 表3 cluster参数说明 参数 类型 说明 controller String 控制器ID。 brokers Array Object of brokers 节点列表。参数请查看表4。 topics_count Integer 总topic数量。 partitions_count Integer 总分区数。 online_partitions_count Integer 在线分区数。 replicas_count Integer 总副本数。 isr_replicas_count Integer ISR(In-Sync Replicas) 副本总数。 consumers_count Integer 消费者总数。 表4 brokers参数说明 参数 类型 说明 host String 节点IP。 port Integer 端口号。 broker_id String 节点id。 is_controller Boolean 是否为contoller节点。 version Boolean 服务端版本。 register_time Long broker注册时间,为unix时间戳格式。 is_health Boolean Kafka实例节点的连通性是否正常。 响应示例 { "cluster": { "controller": "1", "brokers": [ { "broker_id": "1", "is_controller": true, "version": "1.1.0", "register_time": 1569059680711, "is_health": true }, { "broker_id": "2", "is_controller": false, "version": "1.1.0", "register_time": 1569059684548, "is_health": true } ], "topics_count": 4, "partitions_count": 13, "online_partitions_count": 12, "replicas_count": 31, "isr_replicas_count": 21, "consumers_count": 7 } }
  • 请求示例 创建一个转储任务,转储topic-test中的数据到OBS。 POST https://{endpoint}/v2/{project_id}/connectors/{connector_id}/sink-tasks { "source_type" : "BLOB", "task_name" : "obsTransfer-1122976956", "destination_type" : "OBS", "obs_destination_descriptor" : { "consumer_strategy" : "earliest", "destination_file_type" : "TEXT", "access_key" : "XXXXXXXXXXXXXXXXXXXX", "secret_key" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "obs_bucket_name" : "6666", "obs_path" : "obsTransfer-1122976956", "partition_format" : "yyyy/MM/dd/HH/mm", "record_delimiter" : "", "deliver_time_interval" : 300, "topics" : "topic-test" } }
  • URI GET /v2/{project_id}/instances/{instance_id}/management/topics/{topic}/partitions/{partition}/end-message 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID。 topic 是 String Topic名称。 Topic名称必现以字母开头且只支持大小写字母、中横线、下划线以及数字。 partition 是 Integer 分区编号。
  • 响应示例 状态码: 200 查询topic的当前生产者列表成功 { "total" : 3, "producers" : [ { "producer_address" : "192.0.0.149:40443", "broker_address" : "192.0.0.146:9092", "join_time" : 1687204743328 }, { "producer_address" : "192.0.0.149:13807", "broker_address" : "192.0.0.80:9092", "join_time" : 1687204745939 }, { "producer_address" : "192.0.0.149:31876", "broker_address" : "192.0.0.71:9092", "join_time" : 1687204744934 } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 total Integer 总条数 最小值:0 最大值:10000 producers Array of producers objects 生产者列表 数组长度:0 - 50 表4 producers 参数 参数类型 描述 producer_address String 生产者地址 最小长度:0 最大长度:64 broker_address String broker地址 最小长度:0 最大长度:64 join_time Long 加入时间 最小值:0 最大值:9223372036854775807
共100000条