云服务器内容精选

  • 手动导入 通过主页面的“更多功能”选项或单击左上角搜索框旁边的,可以展示当前支持的导入选项,可根据需要选择。 导入文件 选择响应格式的文件并上传,然后选择文件中系统识别出来的接口和数据模型导入。 一个文件导入后,将会视为一个根目录,一个根目录中不允许存在URL相同的接口。 Postman支持Collections和Environment数据集ZIP包的全量导入,也支持单个Collection文件导入。 Postman支持接口和接口用例的前置脚本及后置脚本导入。 导入URL 选择“导入Swagger URL”,输入URL,即可完成文档导入。 通过Swagger URL导入时,需要填写json数据文件的URL,而非Swagger UI的URL。
  • 问题现象 ECS服务器部署logstash,然后推送数据到云搜索服务CSS,出现错误信息如下: LogStash::Outputs::ElasticSearch::HttpClient::Pool::BadResponseCodeError: Got response code '500' contacting Elasticsearch at URL 'https://192.168.xx.xx:9200/_xpack'。
  • 执行数据导入 创建本地目标表。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 DROP TABLE IF EXISTS product_info; CREATE TABLE product_info ( product_price integer , product_id char(30) , product_time date , product_level char(10) , product_name varchar(200) , product_type1 varchar(20) , product_type2 char(10) , product_monthly_sales_cnt integer , product_comment_time date , product_comment_num integer , product_comment_content varchar(200) ) with ( orientation = column, compression=middle ) DISTRIBUTE BY HASH (product_id); 从外表导入目标表。 1 INSERT INTO product_info SELECT * FROM foreign_product_info; 查询导入结果。 1 SELECT * FROM product_info;
  • 创建外部服务器 使用Data Studio连接已创建好的DWS集群。 新建一个具有创建数据库权限的用户dbuser: 1 CREATE USER dbuser WITH CREATEDB PASSWORD 'password'; 切换为新建的dbuser用户: 1 SET ROLE dbuser PASSWORD 'password'; 创建新的mydatabase数据库: 1 CREATE DATABASE mydatabase; 执行以下步骤切换为连接新建的mydatabase数据库。 在Data Studio客户端的“对象浏览器”窗口,右键单击数据库连接名称,在弹出菜单中单击“刷新”,刷新后就可以看到新建的数据库。 右键单击“mydatabase”数据库名称,在弹出菜单中单击“打开连接”。 右键单击“mydatabase”数据库名称,在弹出菜单中单击“打开新的终端”,即可打开连接到指定数据库的SQL命令窗口,后面的步骤,请全部在该命令窗口中执行。 为dbuser用户授予创建外部服务器的权限,8.1.1及以后版本,还需要授予使用public模式的权限: 1 2 GRANT ALL ON FOREIGN DATA WRAPPER hdfs_fdw TO dbuser; GRANT ALL ON SCHEMA public TO dbuser; //8.1.1及以后版本,普通用户对public模式无权限,需要赋权,8.1.1之前版本不需要执行。 其中FOREIGN DATA WRAPPER的名字只能是hdfs_fdw,dbuser为创建SERVER的用户名。 执行以下命令赋予用户使用外表的权限。 1 ALTER USER dbuser USEFT; 切换回Postgres系统数据库,查询创建MRS数据源后系统自动创建的外部服务器。 1 SELECT * FROM pg_foreign_server; 返回结果如: 1 2 3 4 5 6 srvname | srvowner | srvfdw | srvtype | srvversion | srvacl | srvoptions --------------------------------------------------+----------+--------+---------+------------+--------+--------------------------------------------------------------------------------------------------------------------- gsmpp_server | 10 | 13673 | | | | gsmpp_errorinfo_server | 10 | 13678 | | | | hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca | 16476 | 13685 | | | | {"address=192.168.1.245:9820,192.168.1.218:9820",hdfscfgpath=/MRS/8f79ada0-d998-4026-9020-80d6de2692ca,type=hdfs} (3 rows) 切换到mydatabase数据库,并切换到dbuser用户。 1 SET ROLE dbuser PASSWORD 'password'; 创建外部服务器。 SERVER名字、地址、配置路径保持与8一致即可。 1 2 3 4 5 6 7 CREATE SERVER hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca FOREIGN DATA WRAPPER HDFS_FDW OPTIONS ( address '192.168.1.245:9820,192.168.1.218:9820', //MRS管理面的Master主备节点的内网IP,可与DWS通讯。 hdfscfgpath '/MRS/8f79ada0-d998-4026-9020-80d6de2692ca', type 'hdfs' ); 查看外部服务器。 1 SELECT * FROM pg_foreign_server WHERE srvname='hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca'; 返回结果如下所示,表示已经创建成功: 1 2 3 4 srvname | srvowner | srvfdw | srvtype | srvversion | srvacl | srvoptions --------------------------------------------------+----------+--------+---------+------------+--------+--------------------------------------------------------------------------------------------------------------------- hdfs_server_8f79ada0_d998_4026_9020_80d6de2692ca | 16476 | 13685 | | | | {"address=192.168.1.245:9820,192.168.1.218:9820",hdfscfgpath=/MRS/8f79ada0-d998-4026-9020-80d6de2692ca,type=hdfs} (1 row)
  • 使用须知 如果导出数据时未勾选“生成单表文件”,则导出的数据文件后缀为“.zip”格式,此格式的数据文件暂不支持直接导入,需要解压后才可再次导入。 如果导出数据时勾选了“生成单表文件”,则导出的数据文件为每个单表的数据文件(“.sql”或者“.csv”格式),该情况下导出的数据文件可直接再次导入。 如果导出的实例表数量超过1万时,使用导出数据库功能会报错表数量过多,无法导出数据。此时请使用导出SQL结果集功能。
  • 导入到已有分组注意事项 将API定义导入到一个已有的分组,导入过程中不会删除分组中已有的API,只是将新增的API导入分组。 适用于将一个新的API或者一个修改后的API导入到已有的分组。 导入API前,请注意以下事项: API网关中API的配额满足需求。 导入的API定义与已有的API定义冲突时,您可以选择使用导入的API定义覆盖已有的API定义,或者保留已有的API定义,此时导入的API定义会显示导入失败。 如果选择扩展覆盖,当导入API的扩展定义项名称与已有策略(ACL,流量控制等)名称相同时,则会覆盖已有策略(ACL,流量控制等)。 导入的API不会自动发布到环境,导入时可以选择“立即发布”或者“稍后发布”,您可以自行选择策略。
  • 导入到新分组注意事项 将API定义导入到一个新的分组,导入过程中系统会自动创建一个新的API分组,并将导入的API归属到该分组。 适用于将一份全新且完整的API导入到API网关。 导入API前,请注意以下事项: API网关中API分组和API的配额满足需求。 使用Swagger info或OpenAPI info的title作为API分组名称,新创建的API分组名称不能与已有的API分组名称重名。 导入的API定义中,如果存在冲突,那么根据系统导入的先后顺序,先导入的API会显示导入成功,后导入的API会显示导入失败。例如导入的API定义中存在2个名称相同或请求路径相同的API,那么先导入的API会显示导入成功,后导入的会显示导入失败。 如果选择扩展覆盖,当导入API的扩展定义项名称与已有策略(ACL,流量控制等)名称相同时,则会覆盖已有策略(ACL,流量控制等)。 导入的API不会自动发布到环境,导入时可以选择“立即发布”或者“稍后发布”,您可以自行选择策略。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Workspace-Id 是 String 工作空间ID。 X-Auth-Token 是 String 用户Token。 Content-Type 是 String 固定值,指定请求体类型和字符集。 表3 请求Body参数 参数 是否必选 参数类型 描述 service_type 是 String 服务类型。 obs_endpoint 是 String OBS终端节点。 obs_bucket_name 是 String OBS桶名。 max_storage_days 是 Integer 导出文件在OBS的最大存储时间。 obs_path_prefix 是 String OBS前缀路径。
  • 请求示例 POST https://{endpoint}/v1/{project_id}/exports/config { "service_type" : "obs", "obs_endpoint" : "obs.xxx.com", "obs_bucket_name" : "xxxxx", "max_storage_days" : 1, "obs_path_prefix" : "/dataArts-insight" }
  • 使用须知 当需要进行数据备份或迁移时,您可以将数据导入目标数据表,目标CSV表数据类型须与待导入表数据类型保持一致,SQL文件同理。 导入单文件大小最大可达1GB。 可以支持导入的数据文件类型包括CSV格式和SQL文件格式。如果MySQL 8.0实例表数量超过10万(5.7和5.6版本超过1万),则不能使用CSV格式。 暂不支持BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB等二进制类型字段的导入。
  • 原因分析 MySQL5.0.3之前varchar(n)这里的n表示字节数。 MySQL5.0.3之后varchar(n)这里的n表示字符数,比如varchar(200),不管是英文还是中文都可以存放200个。 GaussDB(DWS)的varchar(n)这里的n表示字节数。 根据字符集,字符类型如果为gbk,每个字符占用2个字节;字符类型如果为utf8,每个字符最多占用3个字节。根据转换规则,同样的字段长度,会导致GaussDB(DWS)出现字段超长的问题。
  • 数据如何存储到数据仓库服务? GaussDB(DWS)支持多数据源高效入库,典型的入库方式如下所示。详细指导请参见导入数据。 从OBS导入数据。 数据上传到OBS对象存储服务中,再从OBS中导入,支持CSV,TEXT格式数据。 通过INSERT语句直接插入数据。 用户可以通过GaussDB(DWS)提供的客户端工具(gsql)或者JDBC/ODBC驱动从上层应用向GaussDB(DWS)写入数据。GaussDB(DWS)支持完整的数据库事务级别的增删改(CRUD)操作。这是最简单的一种方式,这种方式适合数据写入量不太大, 并发度不太高的场景。 从MRS导入数据,将MRS作为ETL。 通过COPY FROM STDIN方式导入数据。 通过COPY FROM STDIN命令写数据到一个表。 使用GDS从远端服务器导入数据到GaussDB(DWS)。 当用户需要将普通文件系统(例如,弹性云服务器)中的数据文件导入到GaussDB(DWS)时,可以使用GaussDB(DWS)提供的GDS导入数据的功能。 使用CDM迁移数据到GaussDB(DWS)。 父主题: 数据导入导出
  • URI POST AstroZero域名/u-route/baas/bulk/v1.0/import/data?filename={filename}&flag={hasid}&comment=X 表1 路径参数 参数 是否必选 描述 filename 是 上传的文件名称,此处文件名对应的文件数据上传时应转为二进制流的形式传输。 flag 是 当前支持的flag。 hasid:导入的源数据中,已存在ID值。 noid:导入的源数据中,没有ID值。 comment 是 是否对zip文件进行完整性校验。 true:校验文件的完整性。 false:不校验文件的完整性。
  • 上传数据到OBS 将上面准备的3个CSV格式的数据源文件存储到OBS桶中。 登录OBS管理控制台。 单击“服务列表”,选择“对象存储服务”,打开OBS管理控制台页面。 创建桶。 如何创建OBS桶,具体请参见《对象存储服务》“快速入门”中的创建桶章节。 例如,创建以下两个桶:“mybucket”和“mybucket02”。 确保这两个桶与GaussDB(DWS)集群在同一个区域,本教程以"华北-北京四”区域为例。 新建文件夹。 具体请参见《对象存储服务控制台指南》中的新建文件夹章节。 例如: 在已创建的OBS桶“mybucket”中新建一个文件夹“input_data”。 在已创建的OBS桶“mybucket02”中新建一个文件夹“input_data”。 上传文件。 具体请参见《对象存储服务控制台指南》的上传对象章节。 例如: 将以下数据文件上传到OBS桶“mybucket”的“input_data”目录中。 1 2 product_info0.csv product_info1.csv 将以下数据文件上传到OBS桶“mybucket02”的“input_data”目录中。 1 product_info2.csv 为导入用户设置OBS桶的读取权限。 在从OBS导入数据到集群时,执行导入操作的用户需要取得数据源文件所在OBS桶的读取权限。通过配置桶的ACL权限,可以将读取权限授予指定的用户账号。 具体请参见《对象存储服务控制台指南》中的配置桶ACL章节。
  • 创建外表 连接GaussDB(DWS)数据库。 创建外表。 ACCESS_KEY和SECRET_ACCESS_KEY 用户访问OBS的AK和SK,请根据实际替换。 获取访问密钥,请登录管理控制台,将鼠标移至右上角的用户名,单击“我的凭证”,然后在左侧导航树单击“访问密钥”。在访问密钥页面,可以查看已有的访问密钥ID(即AK),如果要同时获取AK和SK,可以单击“新增访问密钥”创建并下载访问密钥。 认证用的AK和SK硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 DROP FOREIGN TABLE IF EXISTS product_info_ext; CREATE FOREIGN TABLE product_info_ext ( product_price integer not null, product_id char(30) not null, product_time date , product_level char(10) , product_name varchar(200) , product_type1 varchar(20) , product_type2 char(10) , product_monthly_sales_cnt integer , product_comment_time date , product_comment_num integer , product_comment_content varchar(200) ) SERVER gsmpp_server OPTIONS( LOCATION 'obs://mybucket/input_data/product_info | obs://mybucket02/input_data/product_info', FORMAT 'CSV' , DELIMITER ',', ENCODING 'utf8', HEADER 'false', ACCESS_KEY 'access_key_value_to_be_replaced', SECRET_ACCESS_KEY 'secret_access_key_value_to_be_replaced', FILL_MISSING_FIELDS 'true', IGNORE_EXTRA_DATA 'true' ) READ ONLY LOG INTO product_info_err PER NODE REJECT LIMIT 'unlimited'; 返回如下信息表示创建成功: 1 CREATE FOREIGN TABLE