华为云用户手册

  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 X-Enterprise-Project-ID 否 String 如果不带则默认企业项目为"default",ID为"0" 缺省值:0 Content-Type 是 String 该字段内容填为 "application/json;charset=UTF-8" Accept 是 String 该字段内容填为 "application/json" x_engine_id 是 String 微服务引擎专享版ID。 表4 请求Body参数 参数 是否必选 参数类型 描述 ids 否 Array of strings 配置ID的集合
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 metadata metadata object 导出文件的描述信息 data Array of CreateKieReq objects 导出的配置项列表。 表6 metadata 参数 参数类型 描述 version String 导出数据的版本号 annotations Object 导出文件的其他信息 表7 CreateKieReq 参数 参数类型 描述 key String 配置项的key。 缺省值:$random(6)-$date(yyyy-MM-dd-HH-mm-ss) labels Object 配置项的标签 value String 配置项的值。 缺省值:$random(20) value_type String 配置项value的类型。 缺省值:text status String 配置项的状态。 缺省值:enabled 状态码: 400 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 detail String 详细定位信息。 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 detail String 详细定位信息。
  • URI POST /v1/{project_id}/kie/download 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户子项目的唯一标识。字符长度为1~64。 表2 Query参数 参数 是否必选 参数类型 描述 label 否 String 按label过滤项导出,格式为:{标签key}:{标签value} match 否 String 对label过滤项的匹配选项,如果值为exact:表示严格匹配,包括label个数和内容相等;不填表示包含匹配 枚举值: exact
  • 响应参数 状态码: 200 表7 响应Body参数 参数 参数类型 描述 success Array of GetKieConfigs objects 导入成功的配置项列表。 failure Array of failure objects 导入失败的配置项及其错误列表。 表8 GetKieConfigs 参数 参数类型 描述 id String 配置项的id。 key String 配置项的key。 labels Object 配置项的标签。 value String 配置项的值。 value_type String 配置项value的类型。 status String 配置项的状态。 create_time Integer 创建时间。 update_time Integer 更新时间。 表9 failure 参数 参数类型 描述 key String 导入失败配置的key labels Object 导入失败配置的label error_code String 导入失败的错误码 error_message String 导入失败的原因 状态码: 400 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 detail String 详细定位信息。 状态码: 500 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 detail String 详细定位信息。
  • URI POST /v1/{project_id}/kie/file 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户子项目的唯一标识。字符长度为1~64。 表2 Query参数 参数 是否必选 参数类型 描述 override 否 String 覆盖策略,force 强制覆盖、abort 遇到第一个重复时终止导入后续的kv、skip 跳过重复的key 缺省值:force 枚举值: force abort skip label 否 String 指定label导入,格式为:{标签key}:{标签value},如果不填则按body的label导入
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 X-Enterprise-Project-ID 否 String 如果不带则默认企业项目为"default",ID为"0" 缺省值:0 Content-Type 是 String 该字段内容填为 "application/json;charset=UTF-8" Accept 是 String 该字段内容填为 "application/json" 表4 请求Body参数 参数 是否必选 参数类型 描述 metadata 否 metadata object 导出文件的描述信息 data 否 Array of CreateKieReq objects 导出的配置项列表。 表5 metadata 参数 是否必选 参数类型 描述 version 否 String 导出数据的版本号 annotations 否 Object 导出文件的其他信息 表6 CreateKieReq 参数 是否必选 参数类型 描述 key 否 String 配置项的key。 缺省值:$random(6)-$date(yyyy-MM-dd-HH-mm-ss) labels 否 Object 配置项的标签 value 否 String 配置项的值。 缺省值:$random(20) value_type 否 String 配置项value的类型。 缺省值:text status 否 String 配置项的状态。 缺省值:enabled
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 微服务引擎专享版规格总个数 data Array of FlavorBrief objects 微服务引擎专享版规格详情 表5 FlavorBrief 参数 参数类型 描述 flavor String 微服务引擎专享版规格 description String 微服务引擎专享版规格描述 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 detail String 详细定位信息。 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 detail String 详细定位信息。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String 创建的微服务引擎专享版ID。 name String 创建的微服务引擎专享版名称。 jobId Integer 微服务引擎专享版执行的任务ID。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误代码。 error_msg String 错误信息。 detail String 详细定位信息。 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误代码。 error_msg String 错误信息。 detail String 详细定位信息。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String 创建的微服务引擎专享版ID。 name String 创建的微服务引擎专享版名称。 jobId Integer 微服务引擎专享版执行的任务ID。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误代码。 error_msg String 错误信息。 detail String 详细定位信息。 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误代码。 error_msg String 错误信息。 detail String 详细定位信息。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 X-Enterprise-Project-ID 否 String 如果不带则默认企业项目为"default",ID为"0"。 Content-Type 是 String 该字段内容填为 "application/json;charset=UTF-8"。 Accept 是 String 该字段内容填为 "application/json"。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 quotas quotas object 微服务引擎配额内容 表4 quotas 参数 参数类型 描述 resources Array of TenantQuotaUsed objects 微服务引擎配额详情列表 表5 TenantQuotaUsed 参数 参数类型 描述 type String 配额类型,该字段内容固定值为 "Engine" used Integer 已使用的配额数量 quota Integer 引擎总配额数量 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 detail String 详细定位信息。 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 detail String 详细定位信息。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 id String 创建的微服务引擎专享版ID。 name String 创建的微服务引擎专享版名称。 jobId Integer 微服务引擎专享版执行的任务ID。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 detail String 详细定位信息。 状态码: 500 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息。 detail String 详细定位信息。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String IAM-Token X-Enterprise-Project-ID 否 String 如果不带则默认企业项目为"default",ID为"0" 缺省值:0 Content-Type 是 String 该字段内容填为 "application/json;charset=UTF-8" Accept 是 String 该字段内容填为 "application/json"
  • 如何在ModelArts上获得RANK_TABLE_FILE进行分布式训练? ModelArts会帮用户生成RANK_TABLE_FILE文件,可通过环境变量查看文件位置。 在Notebook中打开terminal,可以运行如下命令查看RANK_TABLE_FILE: 1 env | grep RANK 在训练作业中,您可以在训练启动脚本的首行加入如下代码,把RANK_TABLE_FILE的值打印出来: 1 os.system('env | grep RANK') 父主题: 功能咨询
  • 方法二:在Notebook中通过SDK上传下载OBS文件 使用ModelArts SDK接口将OBS中的文件下载到Notebook后进行操作。 示例代码:将OBS中的文件file1.txt下载到Notebook的/home/ma-user/work/路径下。其中,桶名称、文件夹和文件的名称均可以按照业务需求自定义。 1 2 3 from modelarts.session import Session session = Session() session.obs.download_file(src_obs_file="obs://bucket-name/dir1/file1.txt", dst_local_dir="/home/ma-user/work/") 使用ModelArts SDK接口将OBS中的文件夹下载到Notebook后进行操作。 示例代码:将OBS中的文件夹dir1下载到Notebook的/home/ma-user/work/路径下。其中,桶名称和文件夹的名称均可以按照业务需求自定义。 from modelarts.session import Session session = Session() session.obs.download_dir(src_obs_dir="obs://bucket-name/dir1/", dst_local_dir="/home/ma-user/work/") 使用ModelArts SDK接口将Notebook中的文件上传到OBS后进行操作。 示例代码:将Notebook中的file1.txt文件上传到OBS桶路径obs://bucket-name/dir1/中。其中,桶名称、文件夹和文件的名称均可以按照业务需求自定义。 1 2 3 from modelarts.session import Session session = Session() session.obs.upload_file(src_local_file='/home/ma-user/work/file1.txt', dst_obs_dir='obs://bucket-name/dir1/') 使用ModelArts SDK接口将Notebook中的文件夹上传到OBS。 示例代码:将Notebook中的文件夹“/work/”上传至“bucket-name”桶的“dir1”文件夹下,路径为“obs://bucket-name/dir1/work/”。其中,桶名称和文件夹的名称均可以按照业务需求自定义。 from modelarts.session import Session session = Session() session.obs.upload_dir(src_local_dir='/home/ma-user/work/', dst_obs_dir='obs://bucket-name/dir1/')
  • 异常处理 通过OBS下载文件到Notebook中时,提示Permission denied。请依次排查: 请确保读取的OBS桶和Notebook处于同一站点区域,例如:都在华北-北京四站点。不支持跨站点访问OBS桶。具体请参见查看OBS桶与ModelArts是否在同一个区域。 请确认操作Notebook的帐号有权限读取OBS桶中的数据。如没有权限,请参见在Notebook中,如何访问其他帐号的OBS桶?。
  • 方法一:在Notebook中通过Moxing上传下载OBS文件 MoXing是ModelArts自研的分布式训练加速框架,构建于开源的深度学习引擎TensorFlow、PyTorch等之上,使用MoXing API可让模型代码的编写更加简单、高效。 MoXing提供了一套文件对象API,可以用来读写OBS文件。 您可以通过MoXing API文档了解其与原生API对应关系,以及详细的接口调用示例,详细说明请参见MoXing文件操作。 示例代码: import moxing as mox #下载一个OBS文件夹sub_dir_0,从OBS下载至Notebook mox.file.copy_parallel('obs://bucket_name/sub_dir_0', '/home/ma-user/work/sub_dir_0') #下载一个OBS文件obs_file.txt,从OBS下载至Notebook mox.file.copy('obs://bucket_name/obs_file.txt', '/home/ma-user/work/obs_file.txt') #上传一个OBS文件夹sub_dir_0,从Notebook上传至OBS mox.file.copy_parallel('/home/ma-user/work/sub_dir_0', 'obs://bucket_name/sub_dir_0') #上传一个OBS文件obs_file.txt,从Notebook上传至OBS mox.file.copy('/home/ma-user/work/obs_file.txt', 'obs://bucket_name/obs_file.txt')
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: 1 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 请求消息头 附加请求头字段,如指定的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,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 是 application/json Content-Length 请求body长度,单位为Byte。 否 3495 X-Project-Id project id,项目编号。请参考获取项目ID章节获取项目编号。 否 如果是专属云场景采用AK/SK 认证方式的接口请求或者多project场景采用AK/SK认证的接口请求则该字段必选。 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”即可,添加消息头后的请求如下所示。 1 2 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“cn-north-1”,您可以从地区和终端节点获取。 scope参数定义了Token的作用域,上面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 POST https://iam.cn-north-1.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 请求URI由如下部分组成: {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。 例如IAM服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1.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-1.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 1 https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 在构造请求中以调用获取用户Token接口为例说明了如何调用API。 获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 1 2 3 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333 。
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • 响应消息 正常响应要素说明 表2 要素说明 名称 参数类型 说明 keep_days Integer 审计日志保存天数,审计日志策略关闭时为0。 audit_types Array of strings 审计记录的实际操作类型,空表示不过滤任何操作类型。 all_audit_log_action String 审计记录的所有操作类型。 正常响应样例 { "keep_days":7, "audit_types":["CREATE_USER"], "all_audit_log_action": '{"DCL":"CREATE_USER,DROP_USER,RENAME_USER,GRANT,REVOKE,ALTER_USER,ALTER_USER_DEFAULT_ROLE","DDL":"CREATE,ALTER,DROP,RENAME,TRUNCATE,REPAIR,OPTIMIZE","DML":"INSERT,DELETE,UPDATE,REPLACE,SELECT","OTHER":"BEGIN/COMMIT/ROLLBACK,PREPARED_STATEMENT,CALL_PROCEDURE,KILL,SET_OPTION,CHANGE_DB,UNINSTALL_PLUGIN,UNINSTALL_PLUGIN,INSTALL_PLUGIN,SHUTDOWN,SLAVE_START,SLAVE_STOP,LOCK_TABLES,UNLOCK_TABLES,FLUSH,XA"}' } 异常响应 请参见异常请求结果。
  • 验证Maxwell 登录Maxwell所在的服务器。 查看日志。如果日志里面没有ERROR日志,且有打印如下日志,表示与MySQL连接正常。 BinlogConnectorLifecycleListener - Binlog connected. 登录MySQL数据库,对测试数据进行更新/创建/删除等操作。操作语句可以参考如下示例。 -- 创建库 create database test; -- 创建表 create table test.e ( id int(10) not null primary key auto_increment, m double, c timestamp(6), comment varchar(255) charset 'latin1' ); -- 增加记录 insert into test.e set m = 4.2341, c = now(3), comment = 'I am a creature of light.'; -- 更新记录 update test.e set m = 5.444, c = now(3) where id = 1; -- 删除记录 delete from test.e where id = 1; -- 修改表 alter table test.e add column torvalds bigint unsigned after m; -- 删除表 drop table test.e; -- 删除库 drop database test; 观察Maxwell的日志输出,如果没有WARN/ERROR打印,则表示Maxwell安装配置正常。 若要确定数据是否成功上传,可设置config.properties中的log_level为debug,则数据上传成功时会立刻打印如下JSON格式数据,具体字段含义请参考Maxwell生成的数据格式及常见字段含义。 {"database":"test","table":"e","type":"insert","ts":1541150929,"xid":60556,"commit":true,"data":{"id":1,"m":4.2341,"c":"2018-11-02 09:28:49.297000","comment":"I am a creature of light."}} …… 当整个流程调试通过之后,可以把config.properties文件中的配置项log_level修改为info,减少日志打印量,并重启Maxwell。 # log level [debug | info | warn | error] log_level=info
  • 启动Maxwell 登录Maxwell所在的服务器。 执行如下命令进入Maxwell安装目录。 cd /opt/maxwell-1.21.0/ 如果是初次使用Maxwell,建议将conf/config.properties中的log_level改为debug(调试级别),以便观察启动之后是否能正常从MySQL获取数据并发送到kafka,当整个流程调试通过之后,再把log_level修改为info,然后先停止再启动Maxwell生效。 # log level [debug | info | warn | error] log_level=debug 执行如下命令启动Maxwell。 source /opt/client/bigdata_env bin/Maxwell bin/maxwell --user='maxwell' --password='XXXXXX' --host='127.0.0.1' \ --producer=kafka --kafka.bootstrap.servers=kafkahost:9092 --kafka_topic=Maxwell 其中,user,password和host分别表示MySQL的用户名,密码和IP地址,这三个参数可以通过修改配置项配置也可以通过上述命令配置,kafkahost为流式集群的Core节点的IP地址。 命令中如果携带认证密码信息可能存在安全风险,在执行命令前建议关闭系统的history命令记录功能,避免信息泄露。 显示类似如下信息,表示Maxwell启动成功。 Success to start Maxwell [78092].
  • Maxwell生成的数据格式及常见字段含义 Maxwell生成的数据格式为JSON,常见字段含义如下: type:操作类型,包含database-create,database-drop,table-create,table-drop,table-alter,insert,update,delete database:操作的数据库名称 ts:操作时间,13位时间戳 table:操作的表名 data:数据增加/删除/修改之后的内容 old:数据修改前的内容或者表修改前的结构定义 sql:DDL操作的SQL语句 def:表创建与表修改的结构定义 xid:事务唯一ID commit:数据增加/删除/修改操作是否已提交
  • 配置Maxwell 在maxwell-XXX文件夹下若有conf目录则配置config.properties文件,配置项说明请参见表1。若没有conf目录,则是在maxwell-XXX文件夹下将config.properties.example修改成config.properties。 表1 Maxwell配置项说明 配置项 是否必填 说明 默认值 user 是 连接MySQL的用户名,即2中新创建的用户 - password 是 连接MySQL的密码,配置文件中包含认证密码信息可能存在安全风险,建议当前场景执行完毕后删除相关配置文件或加强安全管理。 - host 否 MySQL地址 localhost port 否 MySQL端口 3306 log_level 否 日志打印级别,可选值为 debug info warn error info output_ddl 否 是否发送DDL(数据库与数据表的定义修改)事件 true:发送DDL事件 false:不发送DDL事件 false producer 是 生产者类型,配置为kafka stdout:将生成的事件打印在日志中 kafka:将生成的事件发送到kafka stdout producer_partition_by 否 分区策略,用来确保相同一类的数据写入到kafka同一分区 database:使用数据库名称做分区,保证同一个数据库的事件写入到kafka同一个分区中 table:使用表名称做分区,保证同一个表的事件写入到kafka同一个分区中 database ignore_producer_error 否 是否忽略生产者发送数据失败的错误 true:在日志中打印错误信息并跳过错误的数据,程序继续运行 false:在日志中打印错误信息并终止程序 true metrics_slf4j_interval 否 在日志中输出上传kafka成功与失败数据的数量统计的时间间隔,单位为秒 60 kafka.bootstrap.servers 是 kafka代理节点地址,配置形式为HOST:PORT[,HOST:PORT] - kafka_topic 否 写入kafka的topic名称 maxwell dead_letter_topic 否 当发送某条记录出错时,记录该条出错记录主键的kafka topic - kafka_version 否 Maxwell使用的kafka producer版本号,不能在config.properties中配置,需要在启动命令时用-- kafka_version xxx参数传入 - kafka_partition_hash 否 划分kafka topic partition的算法,支持default或murmur3 default kafka_key_format 否 Kafka record的key生成方式,支持array或Hash Hash ddl_kafka_topic 否 当output_ddl配置为true时,DDL操作写入的topic {kafka_topic} filter 否 过滤数据库或表。 若只想采集mydatabase的库,可以配置为 exclude: *.*,include: mydatabase.* 若只想采集mydatabase.mytable的表,可以配置为 exclude: *.*,include: mydatabase.mytable 若只想采集mydatabase库下的mytable,mydate_123, mydate_456表,可以配置为 exclude: *.*,include: mydatabase.mytable, include: mydatabase./mydate_\\d*/ -
  • 安装Maxwell 下载安装包,下载路径为https://github.com/zendesk/maxwell/releases,选择名为maxwell-XXX.tar.gz的二进制文件下载,其中XXX为版本号。 将tar.gz包上传到任意目录下(本示例路径为Master节点的/opt)。 登录部署Maxwell的服务器,并执行如下命令进入tar.gz包所在目录。 cd /opt 执行如下命令解压“maxwell-XXX.tar.gz”压缩包,并进入“maxwell-XXX”文件夹。 tar -zxvf maxwell-XXX.tar.gz cd maxwell-XXX
  • 回答 查询 S3 中的数据: select * from s3(path [,aws_access_key_id, aws_secret_access_key] [,format] [,structure]) 参数说明: path:带有文件路径的 Bucket url。 format:文件的格式。 aws_access_key_id, aws_secret_access_key:AWS 账号的长期凭证,可以使用凭证来对请求进行认证,参数是可选的。如果没有指定凭据,将从配置文件中读取凭据。 structure:表结构。 ClickHouse 从 S3 中获取数据创建表: CREATE TABLE test1_s3 (name String, value UInt32) ENGINE = S3(path, [aws_access_key_id, aws_secret_access_key,] format) 查看创建好的表: select * from test1_s3
共100000条