华为云用户手册

  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 stream_id String 通道唯一标识符。 rules Array of PrincipalRule objects 通道授权信息列表。 表4 PrincipalRule 参数 参数类型 描述 principal String 授权用户ID。 principal_name String 授权用户名。如果授权给租户下的所有子用户,格式为:domainName.*;如果授权给租户下的指定子用户,则格式为:domainName.userName action_type String 授权操作类型。 putRecords:上传数据。 getRecords:下载数据。 枚举值: putRecords getRecords effect String 授权影响类型。 accept:允许该授权操作。 枚举值: accept
  • 响应示例 状态码: 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 }
  • 请求参数 表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 表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参数 参数 是否必选 参数类型 描述 stream_name 是 String 需要变更分区数量的通道名称。 最大长度:64 target_partition_count 是 Integer 变更的目标分区数量。 取值为大于0的整数。 设置的值大于当前分区数量表示扩容,小于当前分区数量表示缩容。 注意: 每个通道在一小时内扩容和缩容总次数最多5次,且一小时内扩容或缩容操作有一次成功则最近一小时内不允许再次进行扩容或缩容操作。 最小值:0
  • URI GET /v2/{project_id}/records 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 partition-cursor 是 String 数据游标,需要先通过获取数据游标的接口获取。 取值范围:1~512个字符。 说明: 数据游标有效期为5分钟。 max_fetch_bytes 否 Integer 每个请求获取记录的最大字节数。 注意: 该值如果小于分区中单条记录的大小,会导致一直无法获取到记录。
  • 响应示例 状态码: 200 正常返回 { "records" : [ { "partition_key" : "0", "sequence_number" : "485", "data" : "MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEx", "timestamp" : 1527577402541, "timestamp_type" : "CreateTime" } ], "next_partition_cursor" : "eyJpdGVyR2VuVGltZSI6MTQ5MDk1MDE1Nzc0NywiU3RyZWFtTmFtZSI6IjY2MCIsIlNoYXJkSWQiOiIwIiwiU2hhcmRJdGVyYXRvclR5cGUiOiJBVF9TRVFVRU5DRV9OVU1CRVIiLCJTdGFydGluZ1NlcXVlbmNlTnVtYmVyIjoiMjIiLCJUaW1lU3RhbXAiOjB9" }
  • 响应参数 状态码: 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
  • 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 时间戳对应的监控值。
  • 响应示例 状态码: 200 正常返回 { "stream_id" : "RdMFID6edQdf8eDzc9e", "stream_name" : "newstream", "task_name" : "newtask", "task_id" : "As805BudhcH1lDs6gbn", "destination_type" : "OBS", "state" : "RUNNING", "create_time" : 1606554932552, "last_transfer_timestamp" : 1606984428612, "obs_destination_description" : { "agency_name" : "dis_admin_agency", "file_prefix\"" : "", "partition_format" : "yyyy/MM/dd", "obs_bucket_path" : "obsbucket", "deliver_time_interval" : 60, "consumer_strategy" : "LATEST", "retry_duration" : 0, "destination_file_type" : "text", "record_delimiter" : "\n\n" }, "partitions" : [ { "partitionId" : "shardId-0000000000", "discard" : 0, "state" : "RUNNING", "last_transfer_timestamp" : 1606984428612, "last_transfer_offset" : 289897 } ] }
  • 请求示例 添加OBS转储任务 POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/transfer-tasks { "destination_type" : "OBS", "obs_destination_descriptor" : { "task_name" : "newtask", "consumer_strategy" : "LATEST", "agency_name" : "dis_admin_agency", "destination_file_type" : "text", "obs_bucket_path" : "obsbucket", "file_prefix" : "", "partition_format" : "yyyy/MM/dd/HH/mm", "record_delimiter" : "|", "deliver_time_interval" : 30 } } 添加OBS转储任务(转储文件格式是parquet) POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/transfer-tasks { "destination_type" : "OBS", "obs_destination_descriptor" : { "task_name" : "newtask", "consumer_strategy" : "LATEST", "agency_name" : "dis_admin_agency", "destination_file_type" : "parquet", "obs_bucket_path" : "obsbucket", "file_prefix" : "", "partition_format" : "yyyy/MM/dd/HH/mm", "record_delimiter" : "|", "deliver_time_interval" : 30 } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 action 是 String 操作标识:仅限于delete delete:批量删除 枚举值: delete 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
  • 请求示例 批量删除资源标签 POST https://{Endpoint}/v2/{project_id}/stream/{stream_id}/tags/action { "action" : "delete", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value3" } ] }
  • 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
  • 请求参数 表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 枚举值: DWS dws_destination_descriptor 否 DWSDestinationDescriptorRequest object 转储目的地为DWS的参数列表。 表4 DWSDestinationDescriptorRequest 参数 是否必选 参数类型 描述 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 dws_cluster_name 是 String 存储该通道数据的DWS集群名称。 dws_cluster_id 是 String 存储该通道数据的DWS集群ID。 dws_database_name 是 String 存储该通道数据的DWS数据库名称。 dws_schema 是 String 存储该通道数据的DWS数据库模式。 dws_table_name 是 String 存储该通道数据的DWS数据库模式下的数据表。 dws_delimiter 是 String 用户数据的字段分隔符,根据此分隔符分隔用户数据插入DWS数据表的相应列。 取值范围:“,”、“;”和“|”三种字符中的一个。 user_name 是 String 存储该通道数据的DWS数据库的用户名。 user_password 是 String 存储该通道数据的DWS数据库的密码。 kms_user_key_name 是 String 用户在密钥管理服务(简称KMS)创建的用户主密钥名称,用于加密存储DWS数据库的密码。 kms_user_key_id 是 String 用户在密钥管理服务(简称KMS)创建的用户主密钥ID,用于加密存储DWS数据库的密码。 obs_bucket_path 是 String 临时存储该通道数据的OBS桶名称。 file_prefix 否 String 临时存储该通道数据的OBS桶下的自定义目录,多级目录可用“/”进行分隔,不可以“/”开头。 取值范围:英文字母、数字、下划线和斜杠,最大长度为50个字符。 默认配置为空。 retry_duration 否 String 用户数据导入DWS集群失败的重试失效时间。超出此配置项配置的时间,转储DWS失败的数据将备份至“OBS桶/ file_prefix/dws_error”目录下。取值范围: 0~7200。单位:秒。默认配置为1800。 dws_table_columns 否 String 指定要转储到DWS表中的列,为null或者为空则默认全列。比如“c1,c2”表示将Schema中c1和c2这两列转储到DWS。 默认为空。 options 否 Options object DWS容错性选项(用于指定外表数据的各类参数)。 表5 Options 参数 是否必选 参数类型 描述 fill_missing_fields 否 String 数据入库时,数据源文件中某行的最后一个字段缺失时,请选择是直接将字段设为Null,还是在错误表中报错提示。 取值范围: true/on false/off 缺省值:false/off 枚举值: true/on false/off ignore_extra_data 否 String 数据源文件中的字段比外表定义列数多时,是否忽略多出的列。该参数只在数据导入过程中使用。 取值范围: true/on false/off 缺省值:false/off 枚举值: true/on false/off compatible_illegal_chars 否 String 导入非法字符容错参数。是将非法字符按照转换规则转换后入库,还是报错中止导入。 取值范围: true/on false/off 缺省值:false/off 枚举值: true/on false/off reject_limit 否 String 指定本次数据导入允许出现的数据格式错误个数,当导入过程中出现的数据格式错误未达到限定值时,本次数据导入可以成功。 取值范围: 整型值 unlimited(无限制) 缺省值为0,有错误信息立即返回。 error_table_name 否 String 用于记录数据格式错误信息的错误表表名。并行导入结束后查询此错误信息表,能够获取详细的错误信息。
  • 请求示例 添加DWS转储任务 POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/transfer-tasks { "destination_type" : "DWS", "dws_destination_descriptor" : { "task_name" : "dwstask", "consumer_strategy" : "LATEST", "agency_name" : "dis_admin_agency", "dws_cluster_name" : "dwscluster", "dws_cluster_id" : "f82dc227-3691-47eb-bca7-e7851f509b2a", "dws_database_name" : "postgres", "dws_schema" : "dbadmin", "dws_table_name" : "dwstablename", "dws_delimiter" : "", "user_name" : "dbadmin", "user_password" : "userpassword", "kms_user_key_name" : "kmskey", "kms_user_key_id" : "1e759f06-9188-4d21-afab-a75e57c04d2b", "obs_bucket_path" : "obsbucket", "file_prefix" : "", "deliver_time_interval" : 60, "retry_duration" : 1800, "options" : { "fill_missing_fields" : "false", "ignore_extra_data" : "false", "compatible_illegal_chars" : "false" } } }
  • 响应示例 状态码: 200 正常返回 { "total_number" : 1, "stream_names" : [ "newstream" ], "stream_info_list" : [ { "stream_id" : "8QM3Nt9YTLOwtUVYJhO", "stream_name" : "newstream", "create_time" : 1593569685875, "retention_period" : 24, "status" : "RUNNING", "stream_type" : "COMMON", "data_type" : "BLOB", "partition_count" : 1, "tags" : [ ], "auto_scale_enabled" : false, "auto_scale_min_partition_count" : 0, "auto_scale_max_partition_count" : 0 } ], "has_more_streams" : false }
  • URI GET /v2/{project_id}/streams 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 单次请求返回通道列表的最大数量。 最小值:1 最大值:100 缺省值:10 start_stream_name 否 String 从该通道开始返回通道列表,返回的通道列表不包括此通道名称。如果需要分页查询,第一页查询时不传该字段。返回结果has_more_streams为true时,进行下一页查询,start_stream_name传入第一页查询结果的最后一条通道名称。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total_number Long 当前租户所有通道数量。 stream_names Array of strings 满足当前请求条件的通道名称的列表。 has_more_streams Boolean 是否还有更多满足条件的通道。 true:是 false:否 缺省值:false stream_info_list Array of StreamInfo objects 通道列表详情。 表5 StreamInfo 参数 参数类型 描述 stream_name String 通道名称。 create_time Long 通道创建的时间,13位时间戳。 retention_period Integer 数据保留时长,单位是小时。 status String 通道的当前状态。 CREATING:创建中 RUNNING:运行中 TERMINATING:删除中 TERMINATED:已删除 枚举值: CREATING RUNNING TERMINATING FROZEN stream_type String 通道类型。 COMMON:普通通道,表示1MB带宽。 ADVANCED:高级通道,表示5MB带宽。 枚举值: COMMON ADVANCED data_type String 源数据类型。 BLOB:存储在数据库管理系统中的一组二进制数据。 JSON:一种开放的文件格式,以易读的文字为基础,用来传输由属性值或者序列性的值组成的数据对象。 CSV:纯文本形式存储的表格数据,分隔符默认采用逗号。 缺省值:BLOB。 枚举值: BLOB JSON CSV partition_count Integer 分区数量。 分区是DIS数据通道的基本吞吐量单位。 auto_scale_enabled Boolean 是否开启自动扩缩容。 true:开启自动扩缩容。 false:关闭自动扩缩容。 默认不开启。 缺省值:false auto_scale_min_partition_count Integer 当自动扩缩容启用时,自动缩容的最小分片数。 最小值:1 auto_scale_max_partition_count Integer 当自动扩缩容启用时,自动扩容的最大分片数。 tags Array of Tag objects 通道标签列表。 sys_tags Array of SysTag objects 通道企业项目列表。 表6 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 表7 SysTag 参数 参数类型 描述 key String 键。 不能为空。 值必须为_sys_enterprise_project_id。 status String 枚举值: _sys_enterprise_project_id value String 值。 对应的是企业项目ID,需要在企业管理页面获取。 36位UUID。
  • 请求示例 添加DLI转储任务 POST https://{Endpoint}/v2/{project_id}/streams/{stream_name}/transfer-tasks { "destination_type" : "DLI", "dli_destination_descriptor" : { "task_name" : "dlitask", "consumer_strategy" : "LATEST", "agency_name" : "dis_admin_agency", "dli_database_name" : "dlidatabasename", "dli_table_name" : "dlitablename", "obs_bucket_path" : "obsbucket", "file_prefix" : "", "deliver_time_interval" : 300, "retry_duration " : 300 } }
  • 请求参数 表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 枚举值: DLI dli_destination_descriptor 否 DliDestinationDescriptorRequest object 转储目的地为DLI的参数列表。 表4 DliDestinationDescriptorRequest 参数 是否必选 参数类型 描述 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 dli_database_name 是 String 存储该通道数据的DLI数据库名称。 dli_table_name 是 String 存储该通道数据的DLI表名称。 说明: 仅支持数据位置为DLI的表,且用户需具有该表的插入权限。 obs_bucket_path 是 String 临时存储该通道数据的OBS桶名称。 file_prefix 否 String 临时存储该通道数据的OBS桶下的自定义目录,多级目录可用“/”进行分隔,不可以“/”开头。 取值范围:英文字母、数字、下划线和斜杠,最大长度为50个字符。 默认配置为空。 retry_duration 否 String 用户数据导入DLI失败的失效重试时间。重试时间超过该配置项配置的值,则将转储失败的数据备份至“OBS桶/ file_prefix/dli_error”目录下。取值范围:0~7200。单位:秒。默认配置为1800。配置为“0”表示DIS服务不会在转储失败时进行重试。
  • 日志级别 RTD提供了如表2所示的日志级别。 运行日志的级别优先级从高到低分别是FATAL、ERROR、WARN、INFO、DEBUG,程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少。 表2 日志级别 级别 描述 FATAL FATAL表示当前事件处理出现严重错误信息,可能导致系统崩溃。 ERROR ERROR表示当前事件处理出现错误信息,系统运行出错。 WARN WARN表示当前事件处理存在异常信息,但认为是正常范围,不会导致系统出错。 INFO INFO表示记录系统及各事件正常运行状态信息。 DEBUG DEBUG表示记录系统及系统的调试信息。
  • 调用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": "region_id", "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" } }
共100000条