华为云用户手册

  • 响应示例 状态码: 200 正常返回 { "streamId" : "CiFdELMr0401K9GGZlp", "rules" : [ { "action_type" : "putRecords", "principal" : "3b3f237122574xxxxb74482ae11005ba.*", "principal_name" : "anotherusername", "effect" : "accept" } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 tags Array of Tags objects 标签列表。 表4 Tags 参数 参数类型 描述 key String 键。 不能为空。 对于同一资源键值唯一。 字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 最大长度:36 values Array of strings 标签值列表。 如果values为空列表,则表示any_value。value之间为或的关系。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 stream_name 是 String 通道名称。 通道名称由字母、数字、下划线和中划线组成,长度为1~64字符。 最大长度:64 partition_count 是 Integer 分区数量。 分区是DIS数据通道的基本吞吐量单位。 stream_type 否 String 通道类型。 COMMON:普通通道,表示1MB带宽。 ADVANCED:高级通道,表示5MB带宽。 枚举值: COMMON ADVANCED data_type 否 String 源数据类型。 BLOB:存储在数据库管理系统中的一组二进制数据。 JSON:一种开放的文件格式,以易读的文字为基础,用来传输由属性值或者序列性的值组成的数据对象。 CS V:纯文本形式存储的表格数据,分隔符默认采用逗号。 缺省值:BLOB。 枚举值: BLOB JSON CSV data_duration 否 Integer 数据保留时长。 取值范围:24~72。 单位:小时。 空表示使用缺省值。 缺省值:24 auto_scale_enabled 否 Boolean 是否开启自动扩缩容。 true:开启自动扩缩容。 false:关闭自动扩缩容。 默认不开启。 缺省值:false auto_scale_min_partition_count 否 Long 当自动扩缩容启用时,自动缩容的最小分片数。 最小值:1 auto_scale_max_partition_count 否 Integer 当自动扩缩容启用时,自动扩容的最大分片数。 data_schema 否 String 用于描述用户JSON、CSV格式的源数据结构,采用Avro Schema的语法描述。 csv_properties 否 CSVProperties object CSV 格式数据的相关属性,比如分隔符 delimiter compression_format 否 String 数据的压缩类型,目前支持: snappy gzip zip 默认不压缩。 枚举值: snappy gzip zip tags 否 Array of Tag objects 通道标签列表。 sys_tags 否 Array of SysTag objects 通道企业项目列表。 表4 CSVProperties 参数 是否必选 参数类型 描述 delimiter 否 String 数据分隔符。 表5 Tag 参数 是否必选 参数类型 描述 key 否 String 键。 不能为空。 对于同一资源键值唯一。 字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 最小长度:1 最大长度:36 value 否 String 值。 长度不超过43个字符。 字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 只能包含数字、字母、中划线“-”、下划线“_”。 最小长度:0 最大长度:43 表6 SysTag 参数 是否必选 参数类型 描述 key 否 String 键。 不能为空。 值必须为_sys_enterprise_project_id。 status 否 String 枚举值: _sys_enterprise_project_id value 否 String 值。 对应的是企业项目ID,需要在企业管理页面获取。 36位UUID。
  • 请求示例 使用标签过滤资源(通道等),查询记录总数。 POST https://{Endpoint}/v2/{project_id}/stream/resource_instances/action { "action" : "count", "tags" : [ { "key" : "key1", "values" : [ "value1", "value2" ] }, { "key" : "key2", "values" : [ "value1", "value2" ] } ], "matches" : [ { "key" : "resource_name", "value" : "resource1" } ] } 使用标签过滤资源(通道等),分页查询。 POST https://{Endpoint}/v2/{project_id}/stream/resource_instances/action { "offset" : "0", "limit" : "100", "action" : "filter", "matches" : [ { "key" : "resource_name", "value" : "resource1" } ], "tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ] }
  • 响应示例 状态码: 200 使用标签过滤资源(通道等)请求体。 { "resources" : [ { "resource_detail" : null, "resource_id" : "cdfs_cefs_wesas_12_dsad", "resource_name" : "resouece1", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value1" } ] } ], "total_count" : 1000 }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 action String 操作标识(仅限于filter,count) filter:分页查询 count:查询总条数,只需按照条件将总条数返回即可 枚举值: filter count limit String 查询记录数(action为count时无此参数)如果action为filter默认为1000,limit最多为1000,不能为负数,最小值为1 缺省值:1000 offset String 索引位置, 从offset指定的下一条数据开始查询。 查询第一页数据时,不需要传入此参数,查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数(action为count时无此参数)如果action为filter默认为0,必须为数字,不能为负数 tags Array of Tags objects 返回结果包含该参数中所有标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。 tags_any Array of Tags objects 返回结果包含该参数中任意一个标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。 not_tags Array of Tags objects 返回结果不包含该参数中所有标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个, 结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。 not_tags_any Array of Tags objects 返回结果不包含该参数中任意一个标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。 matches String 搜索字段,key为要匹配的字段,当前仅支持resource_name。value为匹配的值。此字段为固定字典值 表6 Tags 参数 参数类型 描述 key String 键。 不能为空。 对于同一资源键值唯一。 字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 最大长度:36 values Array of strings 标签值列表。 如果values为空列表,则表示any_value。value之间为或的关系。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 action 是 String 操作标识(仅限于filter,count) filter:分页查询 count:查询总条数,只需按照条件将总条数返回即可 枚举值: filter count limit 否 String 查询记录数(action为count时无此参数)如果action为filter默认为1000,limit最多为1000,不能为负数,最小值为1 缺省值:1000 offset 否 String 索引位置, 从offset指定的下一条数据开始查询。 查询第一页数据时,不需要传入此参数,查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数(action为count时无此参数)如果action为filter默认为0,必须为数字,不能为负数 tags 否 Array of Tags objects 返回结果包含该参数中所有标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。 tags_any 否 Array of Tags objects 返回结果包含该参数中任意一个标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。 not_tags 否 Array of Tags objects 返回结果不包含该参数中所有标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个, 结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。 not_tags_any 否 Array of Tags objects 返回结果不包含该参数中任意一个标签对应的资源,该参数最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复。 matches 否 String 搜索字段,key为要匹配的字段,当前仅支持resource_name。value为匹配的值。此字段为固定字典值 表4 Tags 参数 是否必选 参数类型 描述 key 否 String 键。 不能为空。 对于同一资源键值唯一。 字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 最大长度:36 values 否 Array of strings 标签值列表。 如果values为空列表,则表示any_value。value之间为或的关系。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 records Array of Record objects 下载的记录列表。 next_partition_cursor String 下一个迭代器。 说明: 数据游标有效期为5分钟。 表5 Record 参数 参数类型 描述 partition_key String 用户上传数据时设置的partition_key。说明:上传数据时,如果传了partition_key参数,则下载数据时可返回此参数。如果上传数据时,未传partition_key参数,而是传入partition_id,则不返回partition_key。 sequence_number String 该条数据的序列号。 data String 下载的数据。 下载的数据为序列化之后的二进制数据(Base64编码后的字符串)。 比如下载数据接口返回的数据是“ZGF0YQ==”,“ZGF0YQ==”经过Base64解码之后是“data”。 timestamp Long 记录写入DIS的时间戳。 timestamp_type String 时间戳类型。 CreateTime:创建时间。 缺省值:CreateTime
  • 响应示例 状态码: 200 正常返回 { "records" : [ { "partition_key" : "0", "sequence_number" : "485", "data" : "MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx", "timestamp" : 1527577402541, "timestamp_type" : "CreateTime" } ], "next_partition_cursor" : "eyJpdGVyR2VuVGltZSI6MTQ5MDk1MDE1Nzc0NywiU3RyZWFtTmFtZSI6IjY2MCIsIlNoYXJkSWQiOiIwIiwiU2hhcmRJdGVyYXRvclR5cGUiOiJBVF9TRVFVRU5DRV9OVU1CRVIiLCJTdGFydGluZ1NlcXVlbmNlTnVtYmVyIjoiMjIiLCJUaW1lU3RhbXAiOjB9" }
  • URI GET /v2/{project_id}/records 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 partition-cursor 是 String 数据游标,需要先通过获取数据游标的接口获取。 取值范围:1~512个字符。 说明: 数据游标有效期为5分钟。 max_fetch_bytes 否 Integer 每个请求获取记录的最大字节数。 注意: 该值如果小于分区中单条记录的大小,会导致一直无法获取到记录。
  • URI GET /v2/{project_id}/streams/{stream_name}/metrics 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 stream_name 是 String 通道名称。 最大长度:60 表2 Query参数 参数 是否必选 参数类型 描述 label 否 String 通道监控指标。(label与label_list必须二选一,label_list与label同时存在时,以label_list为准) total_put_bytes_per_stream:总输入流量(Byte) total_get_bytes_per_stream:总输出流量(Byte) total_put_records_per_stream:总输入记录数(个) total_get_records_per_stream:总输出记录数(个) total_put_req_latency:上传请求平均处理时间(毫秒) total_get_req_latency:下载请求平均处理时间(毫秒) total_put_req_suc_per_stream:上传请求成功次数(个) total_get_req_suc_per_stream:下载请求成功次数(个) traffic_control_put:因流控拒绝的上传请求次数 (个) traffic_control_get:因流控拒绝的下载请求次数 (个) 枚举值: total_put_bytes_per_stream total_get_bytes_per_stream total_put_records_per_stream total_get_records_per_stream total_put_req_latency total_get_req_latency total_put_req_suc_per_stream total_get_req_suc_per_stream traffic_control_put traffic_control_get label_list 否 String 使用label用逗号拼接组成,用于批量查询多个label的指标。(label与label_list必须二选一,label_list与label同时存在时,以label_list为准) start_time 是 Long 监控开始时间点,10位时间戳。 end_time 是 Long 监控结束时间点,10位时间戳。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 metrics Metrics object 数据对象。 metrics_list Array of Metrics objects 监控数据对象列表。 表5 Metrics 参数 参数类型 描述 dataPoints Array of DataPoint objects 监控数据。 label String 监控指标。 表6 DataPoint 参数 参数类型 描述 timestamp Long 时间戳。 value Long 时间戳对应的监控值。
  • URI GET /v2/{project_id}/checkpoints 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 stream_name 是 String 该Checkpoint所属的通道名称。 partition_id 是 String 该Checkpoint所属的通道分区标识符。可定义为如下两种样式:- shardId-0000000000- 0比如一个通道有三个分区,那么分区标识符分别为0, 1, 2,或者shardId-0000000000, shardId-0000000001, shardId-0000000002 app_name 是 String 该Checkpoint关联App名称。 checkpoint_type 是 String Checkpoint类型。 LAST_READ:在数据库中只记录序列号。 枚举值: LAST_READ
  • 请求示例 批量添加资源标签 POST https://{Endpoint}/v2/{project_id}/stream/{stream_id}/tags/action { "action" : "create", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value3" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 action 是 String 操作标识:仅限于create create:批量创建 枚举值: create tags 是 Array of Tag objects 标签列表。 表4 Tag 参数 是否必选 参数类型 描述 key 否 String 键。 不能为空。 对于同一资源键值唯一。 字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 最小长度:1 最大长度:36 value 否 String 值。 长度不超过43个字符。 字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 只能包含数字、字母、中划线“-”、下划线“_”。 最小长度:0 最大长度:43
  • 响应示例 状态码: 200 正常返回 { "tasks" : [ { "task_id" : "As805BudhcH1lDs6gbn", "destination_type" : "OBS", "task_name" : "newtask", "create_time" : 1606554932552, "state" : "RUNNING", "last_transfer_timestamp" : 1606984428612 } ], "total_number" : 1 }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 total_number Integer 转储任务总数。 quota Integer 可创建的转储任务配额。 tasks Array of TransferTask objects 转储任务列表。 表4 TransferTask 参数 参数类型 描述 task_name String 转储任务名称。 state String 转储任务状态。 ERROR:错误。 STARTING:启动中。 PAUSED:已停止。 RUNNING:运行中。 DELETE:已删除。 ABNORMAL:异常。 枚举值: ERROR STARTING PAUSED RUNNING DELETE ABNORMAL destination_type String 转储任务类型。 OBS:转储到OBS。 MRS :转储到MRS。 DLI :转储到DLI。 CLOUDTABLE:转储到CloudTable。 DWS:转储到DWS。 枚举值: OBS MRS DLI CLOUDTABLE DWS create_time Long 转储任务创建时间。 last_transfer_timestamp Long 转储任务最近一次转储时间。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 destination_type 是 String 转储任务类型。 OBS:转储到OBS MRS:转储到MRS DLI:转储到DLI CLOUDTABLE:转储到CloudTable DWS:转储到DWS 缺省值:NOWHERE 枚举值: MRS mrs_destination_descriptor 否 MRSDestinationDescriptorRequest object 转储目的地为MRS的参数列表。 表4 MRSDestinationDescriptorRequest 参数 是否必选 参数类型 描述 task_name 是 String 转储任务的名称。 任务名称由英文字母、数字、中划线和下划线组成。长度为1~64个字符。 agency_name 是 String 在 统一身份认证 服务(IAM)中创建委托的名称,DIS需要获取IAM委托信息去访问您指定的资源。创建委托的参数设置如下:- 委托类型:云服务- 云服务:DIS- 持续时间:永久- “所属区域”为“全局服务”,“项目”为“ 对象存储服务 ”对应的“策略”包含“Tenant Administrator”。如果已经创建过委托,可以使用IAM服务提供的查询委托列表接口,获取有效可用的委托名称。取值范围:长度不超过64位,且不可配置为空。如果有在Console控制台使用转储任务,会提示自动创建委托,自动创建的委托名称为:dis_admin_agency 最大长度:64 deliver_time_interval 是 Integer 根据用户配置的时间,周期性的将数据导入OBS,若某个时间段内无数据,则此时间段不会生成打包文件。 单位:秒 最小值:30 最大值:900 缺省值:300 consumer_strategy 否 String 偏移量。 LATEST:最大偏移量,即获取最新的数据。 TRIM_HORIZON:最小偏移量,即读取最早的数据。 缺省值:LATEST 枚举值: LATEST TRIM_HORIZON mrs_cluster_name 是 String 存储该通道数据的MRS集群名称。 说明: 仅支持非Kerberos认证的MRS集群。 mrs_cluster_id 是 String 存储该通道数据的MRS集群ID。 mrs_hdfs_path 是 String 存储该通道数据的MRS集群的HDFS路径。 file_prefix 否 String 临时存储该通道数据的OBS桶下的自定义目录,多级目录可用“/”进行分隔,不可以“/”开头。 取值范围:英文字母、数字、下划线和斜杠,最大长度为50个字符。 默认配置为空。 hdfs_prefix_folder 否 String 在MRS集群HDFS中存储通道文件的自定义目录,多级目录可用"/"进行分隔。 取值范围:0~50个字符。 默认配置为空。 obs_bucket_path 是 String 临时存储该通道数据的OBS桶名称。 retry_duration 否 String 用户数据转储失败的失效重试时间。重试时间超过该配置项配置的值,则将转储失败的数据备份至“OBS桶/ file_prefix/mrs_error”目录下。 取值范围:0~7200。 单位:秒。 默认配置为1800。 配置为“0”表示DIS服务不会在转储失败时进行重试。
  • 请求示例 添加MRS转储任务 POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/transfer-tasks { "destination_type" : "MRS", "mrs_destination_descriptor" : { "task_name" : "mrstask", "consumer_strategy" : "LATEST", "agency_name" : "dis_admin_agency", "destination_file_type" : "text", "mrs_cluster_id" : "f8123fa6-99f1-4ed9-83f4-c827c7277d41", "mrs_cluster_name" : "mrscluster", "mrs_hdfs_path" : "/user", "obs_bucket_path" : "obsbucket", "file_prefix" : "", "hdfs_prefix_folder" : "", "deliver_time_interval" : 30, "retry_duration" : 1800 } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 tag 是 Tag object 标签对象。 表4 Tag 参数 是否必选 参数类型 描述 key 否 String 键。 不能为空。 对于同一资源键值唯一。 字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 最小长度:1 最大长度:36 value 否 String 值。 长度不超过43个字符。 字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 只能包含数字、字母、中划线“-”、下划线“_”。 最小长度:0 最大长度:43
  • 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的ID,获取方法请参见获取项目ID。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见表3。 表3 公共请求消息头 名称 描述 是否必选 示例 Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时该字段必选。 code.test.com or code.test.com:443 Content-Type 发送的实体的MIME类型。推荐用户默认使用application/json,有其他取值时会在具体接口中专门说明。 是 application/json Content-Length 请求body长度,单位为Byte。 否 3495 X-Project-Id project id,项目编号。请参考获取项目ID章节获取项目编号。 否 e9993fc787d94b6c886cbaa340f9c0f4 X-Auth-Token 用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 否 使用Token认证时该字段必选。 注:以下仅为Token示例片段 MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见认证鉴权的“AK/SK认证”。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
  • 请求URI 请求URI由如下部分组成: {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器 域名 或IP,不同服务不同区域的Endpoint不同,您可以从终端节点及区域说明中获取。 例如IAM服务在“华北-北京四”区域的Endpoint为“iam.cn-north-4.myhuaweicloud.com”。 resource-path 资源路径,也即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京四”区域的Token,则需使用“华北-北京四”区域的Endpoint(iam.cn-north-4.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 app_name 是 String APP的名称,用户数据消费程序的唯一标识符。 应用名称由字母、数字、下划线和中划线组成,长度为1~200个字符。 最小长度:1 最大长度:200
  • 请求示例 给租户添加权限策略 POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/policies { "stream_id" : "CiFdELMr0401K9GGZlp", "principal_name" : "domainname1", "action_type" : "putRecords", "effect" : "accept" } 给子用户添加权限策略 POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/policies { "stream_id" : "CiFdELMr0401K9GGZlp", "principal_name" : "domainname1.username1", "action_type" : "putRecords", "effect" : "accept" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 stream_id 是 String 通道唯一标识符。 principal_name 是 String 授权用户。 如果授权给指定租户,格式为:domainName.*;如果授权给租户下的指定子用户,则格式为:domainName.userName; 支持多账号添加,用","隔开,比如:domainName1.userName1,domainName2.userName2; action_type 是 String 授权操作类型。 putRecords:上传数据。 getRecords:下载数据。 getStreamInfo:通道详情。 枚举值: putRecords getRecords getStreamInfo effect 是 String 授权影响类型。 accept:允许该授权操作。 枚举值: accept
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 tags Array of Tag objects 标签列表。 表4 Tag 参数 参数类型 描述 key String 键。 不能为空。 对于同一资源键值唯一。 字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 最小长度:1 最大长度:36 value String 值。 长度不超过43个字符。 字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\u4E00-\u9FFF)。 只能包含数字、字母、中划线“-”、下划线“_”。 最小长度:0 最大长度:43
  • URI DELETE /v2/{project_id}/checkpoints 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 stream_name 是 String 该Checkpoint所属的通道名称。 app_name 是 String 该Checkpoint关联App名称。 最小长度:1 最大长度:50 checkpoint_type 是 String Checkpoint类型。 LAST_READ:在数据库中只记录序列号。 枚举值: LAST_READ partition_id 否 String 该Checkpoint所属的通道分区标识符。可定义为如下两种样式:- shardId-0000000000- 0比如一个通道有三个分区,那么分区标识符分别为0, 1, 2,或者shardId-0000000000, shardId-0000000001, shardId-0000000002
  • 请求示例 添加CloudTable HBase转储任务 POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/transfer-tasks { "destination_type" : "CLOUDTABLE", "cloudtable_destination_descriptor" : { "task_name" : "hbasetask", "consumer_strategy" : "TRIM_HORIZON", "agency_name" : "dis_admin_agency", "cloudtable_cluster_name" : "cloudtablecluster", "cloudtable_cluster_id" : "b8c095e2-db5f-4732-8a1d-eacd662e35dc", "cloudtable_table_name" : "cloudtabletable", "cloudtable_row_key_delimiter" : "|", "retry_duration" : 1800, "obs_backup_bucket_path" : "obsbackupbucket", "backup_file_prefix" : "", "cloudtable_schema" : { "row_key" : [ { "value" : "datavalue", "type" : "String" } ], "columns" : [ { "column_family_name" : "cfname1", "column_name" : "ID", "value" : "datavalue1", "type" : "String" }, { "column_family_name" : "cfname2", "column_name" : "VALUE", "value" : "datavalue2", "type" : "String" } ] } } } 添加CloudTable OpenTSDB转储任务 POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/transfer-tasks { "destination_type" : "CLOUDTABLE", "cloudtable_destination_descriptor" : { "task_name" : "opentsdbtask", "consumer_strategy" : "LATEST", "agency_name" : "dis_admin_agency", "cloudtable_cluster_name" : "cloudtablecluster", "cloudtable_cluster_id" : "b8c095e2-db5f-4732-8a1d-eacd662e35dc", "retry_duration" : 1800, "obs_backup_bucket_path" : "obsbackupbucket", "backup_file_prefix" : "", "opentsdb_schema" : [ { "metric" : [ { "type" : "Constant", "value" : "age" } ], "timestamp" : { "value" : "date", "type" : "String", "format" : "yyyy/MM/dd HH:mm:ss" }, "value" : { "value" : "value", "type" : "Bigint" }, "tags" : [ { "name" : "name", "value" : "name", "type" : "Bigint" } ] } ] } }
共100000条