云服务器内容精选

  • 操作步骤(VLAN接口上网) 在管理PC上登录简易界面:https://192.168.0.1:8443/cloud。 登录帐号使用跟标准界面相同的管理员帐号。 (可选)参考如下界面提示进行配置,以保证天关可以访问云端。 如果设备版本为V600R023C00SPC100之前版本,请执行本步骤。 按照下图所示配置VLAN接口地址。 图1 配置VLAN接口上网 单击“华为乾坤对接配置”进入对接配置页面,单击“检测连通性”。检测成功后,单击“应用”网络配置立即生效,自动触发天关向云端的注册请求。 如果设备版本为V600R022C00SPC100及其之前的版本,请登录标准页面https://192.168.0.1:8443/default.html,执行如下操作设备才能正常上线。 在界面的右上角,单击CLI控制台按钮,(如果是V600R022C00SPC100之前的版本,单击右下角的CLI控制台按钮)。 图2 进入CLI控制台 参考如下操作,执行undo ssh user huawei cert-verify-san enable命令。 图3 系统视图下执行命令 (可选)参考如下界面提示进行配置,以保证天关可以访问云端。 如果设备版本为V600R023C00SPC100,请执行本步骤。 按照下图所示配置VLAN接口地址,并单击“应用”使网络配置生效。 图4 配置VLAN接口上网 单击下图中的“华为乾坤对接配置”,按照下图所示操作,操作完成后自动触发天关向华为乾坤的注册请求。 图5 华为乾坤对接配置
  • 单独物理网口上网(推荐) 适用场景:客户网络已有出口路由器(出口网关)。业务链路所在网段没有可分配的IP地址,或者该网段不能访问互联网,需要单独物理口接入可访问互联网网段。 方案特点:需要额外连一根网线上网,并配置该物理接口的“工作模式”为“路由”模式。云端管理口和业务上行口不共用一个物理接口。 图2 单独物理网口上网 更多其他部署场景,比如天关旁挂,或者您的企业内部存在NAT转换/DNS服务器,请参见《典型配置案例》完成天关部署和上线配置。
  • 异常处理 如果天关上线不成功,请尝试参考以下步骤处理。 检查default策略的动作是否为“允许”,如果不是,修改default安全策略为允许。 图1 安全策略 在任意界面的右下角,单击“CLI控制台”。 图2 安全策略 参考如下操作,进入系统视图。 图3 进入系统视图 通过ping检查设备到客户网络内网关是否通畅。 ping 10.1.1.254 //假设网关IP地址为10.1.1.254,检查时请更换为局点实际网关IP地址 如果ping不通,请检查网线连接。 通过ping检查设备在客户网络内DNS解析是否正常。 ping mgt.seccloud.huawei.com 如果ping不通,请再ping DNS的IP地址,检查与DNS的网络是否能正常通信。 通过telnet检查设备注册公网端口连通性是否正常。 telnet mgt.seccloud.huawei.com 10020,有ssh证书交换字样,说明连通性正常。 如果连通性异常,请检查客户侧的安全设备是否做了端口访问限制。
  • 1. 功能介绍 CodeArts IDE面向开发者提供的智能化可扩展桌面 集成开发环境 (IDE),结合行业和产业开发套件,实现一站式开发体验。 编码新体验,开发更高效:内置自研C/C++语言开发支持,提供全新的工程加载、语法着色、符号解析、编码重构和运行调试等开发体验,提升开发效率。 能力可扩展,生态更开放:支持基于插件的能力扩展,开放的插件标准,开源的插件框架,开放的插件市场,形成更加开放的生态系统。 界面可裁剪,体验更优质:支持基于组建的界面剪裁,在精简模式下形成专用工具的优质体验,又可以在需要时升级为全模式的全量IDE工具。 CodeArts IDE for C/C++:基于C/C++语言开发CMake工程,并通过CodeArts IDE完成从工程创建、代码编写、运行调试到发布测试的全过程。基于插件扩展可以将个人开发者作业流集成其中,实现从需求到提交的全部过程,更可在业务中集成提供的的诸多能力,提升应用交付效率。 本实验将指导开发者通过CodeArts IDE for C/C++平台,在本地桌面快速开发一个基于Qt实现的简单项目。通过本实验您将体验到: 如何在CodeArts IDE for C/C++上进行基于CMake项目的本地编译构建; 在CodeArts IDE上调试和运行; 实现一个简单OpenGL demo。
  • 参数说明 字段 必选/可选 类型 描述 uiCookie 可选 unsign int Cookie有效值1-65535。 pcRequstId 必选 String 请求ID,用来匹配之前平台下发的服务命令。当该次数据上报为此前某一次命令请求的响应时,需要填写此次命令请求的请求ID,该参数必须带结束符‘\0’。 pcDeviceId 必选 String 设备ID,该参数必须带结束符‘\0’。 pcServiceId 必选 String 服务ID,该参数必须带结束符‘\0’。 pcServiceProperties 必选 String 服务属性,该参数必须带结束符‘\0’。
  • 示例 用户根据Profile格式使用Json组件拼装服务属性的内容(pcServiceProperties)。 1 2 3 HW_UINT *uiLen; IOTA_ServiceDataReport(1211, NULL, "xxxx_xxxx_xxxx_xxxx" , "DoorWindow", “{\“status\”:\“OPEN\”}”); 数据上报结果接收。 1 2 3 4 5 6 7 8 9 10 11 12 //开发者注册该函数进行设备服务数据上报后的处理 HW_iNT Device_DataReportResultHandler(HW_UiNT uiCookie, HW_MSG pstMsg) { uiResult = HW_MsgGetUint(pstMsg, EN_IOTA_DATATRANS_IE_RESULT); if (HW_SUC CES S != uiResult) { // retry with uiCookie return 0; } return 0; } //在设备添加成功后立即注册服务数据上报结果接收广播 HW_BroadCastReg(“IOTA_TOPIC_DATATRANS_REPORT_RSP/XXXX_XXXX_XXXX_XXXX”, Device_AddResultHandler);
  • 示例 --建表。 gaussdb=# CREATE TABLE emp( empno varchar(7), ename varchar(50), job varchar(50), mgr varchar(7), deptno int ); --表添加注释。 gaussdb=# COMMENT ON TABLE emp IS '部门表'; --字段添加注释。 gaussdb=# COMMENT ON COLUMN emp.empno IS '员工编号'; gaussdb=# COMMENT ON COLUMN emp.ename IS '员工姓名'; gaussdb=# COMMENT ON COLUMN emp.job IS '职务'; gaussdb=# COMMENT ON COLUMN emp.mgr IS '上司编号'; gaussdb=# COMMENT ON COLUMN emp.deptno IS '部门编号'; --查看表的注释。 gaussdb=# \d+ Schema | Name | Type | Owner | Size | Storage | Description --------+-------------+----------+-------+------------+----------------------------------+------------- public | emp | table | omm | 0 bytes | {orientation=row,compression=no} | 部门表 --查看字段注释。 gaussdb=# \d+ emp Table "public.emp" Column | Type | Modifiers | Storage | Stats target | Description --------+-----------------------+-----------+----------+--------------+------------- empno | character varying(7) | | extended | | 员工编号 ename | character varying(50) | | extended | | 员工姓名 job | character varying(50) | | extended | | 职务 mgr | character varying(7) | | extended | | 上司编号 deptno | integer | | plain | | 部门编号 Has OIDs: no Distribute By: HASH(empno) Location Nodes: ALL DATANODES Options: orientation=row, compression=no --删除表emp。 gaussdb=# DROP TABLE emp;
  • 语法格式 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 31 32 33 34 COMMENT ON { AGGREGATE agg_name (agg_type [, ...] ) | CAST (source_type AS target_type) | COLLATION object_name | COLUMN { table_name.column_name | view_name.column_name } | CONSTRAINT constraint_name ON table_name | CONVERSION object_name | DATABASE object_name | DOMAIN object_name | EXTENSION object_name | FOREIGN DATA WRAPPER object_name | FUNCTION function_name ( [ {[ argname ] [ argmode ] argtype} [, ...] ] ) | INDEX object_name | LARGE OBJECT large_object_oid | OPERATOR operator_name (left_type, right_type) | OPERATOR CLASS object_name USING index_method | OPERATOR FAMILY object_name USING index_method | [ PROCEDURAL ] LANGUAGE object_name | ROLE object_name | SCHEMA object_name | SERVER object_name | TABLE object_name | TABLESPACE object_name | TEXT SEARCH CONFIGURATION object_name | TEXT SEARCH DICTIONARY object_name | TEXT SEARCH PARSER object_name | TEXT SEARCH TEMPLATE object_name | TYPE object_name | VIEW object_name | TRIGGER trigger_name ON table_name } IS 'text';
  • 注意事项 每个对象只存储一条注释,因此要修改一个注释,对同一个对象发出一条新的COMMENT命令即可。要删除注释,在文本字符串的位置写上NULL即可。当删除对象时,注释自动被删除。 目前注释浏览没有安全机制,任何连接到某数据库上的用户都可以看到所有该数据库对象的注释。共享对象(比如数据库、角色、表空间)的注释是全局存储的,连接到任何数据库的任何用户都可以看到它们。因此,不要在注释里存放与安全有关的敏感信息。 对大多数对象,只有对象的所有者或者被授予了对象COMMENT权限的用户可以设置注释,系统管理员默认拥有该权限。 角色没有所有者,所以COMMENT ON ROLE命令仅可以由系统管理员对系统管理员角色执行,有CREATE ROLE权限的角色也可以为非系统管理员角色设置注释。系统管理员可以对所有对象进行注释。
  • 参数说明 agg_name 聚集函数的名称 agg_type 聚集函数参数的类型 source_type 类型转换的源数据类型。 target_type 类型转换的目标数据类型。 object_name 对象名。 table_name.column_name view_name.column_name 列名称。前缀可加表名称或者视图名称。 constraint_name 表约束的名称。 table_name 表的名称。 function_name 函数名称。 argmode,argname,argtype 函数参数的模式、名称、类型。 large_object_oid 大对象的OID。 operator_name 操作符名称。 left_type,right_type 操作参数的数据类型(可以用模式修饰)。当前置或者后置操作符不存在时,可以增加NONE选项。 text 注释。
  • 下载Demo 首先参考创建工程的步骤创建新的工程。 复制Demo,解压并覆盖新建项目中的 main.c 文件。 最终的文件树应如下图所示。 MyCApp │ ├─main.c // 主程序 │ ├─lib // sdk库文件 │ │ ├─libmodule.so │ │ └─*** │ ├─include // 头文件 │ │ ├─edge_error.h │ │ ├─edge_daemon.h │ │ └─edge.h └───conf // 配置文件 │ │ ├─sdk_log.conf //sdk日志配置 │ │ ├─module.dat //sdk需要的密钥 │ │ └─rootcert.pem //证书 └───start.sh // 启动脚本(编写启动脚本可参考制作镜像包或插件包) 详细目录树如下图 更多Demo参见ModuleSDK-C Demo展示。 父主题: 集成ModuleSDK(C)
  • 注意事项 当在OPTIONS中出现password选项时,需要保证 GaussDB 每个节点的$GAUSSHOME/bin目录下存在usermapping.key.cipher和usermapping.key.rand文件,如果不存在这两个文件,请使用gs_guc工具生成并使用gs_ssh工具发布到GaussDB每个节点的$GAUSSHOME/bin目录下。具体操作请参考•OPTIONS ( { option_name ' value ' } [, ...] )中的说明。 OPTIONS中的敏感字段(如password)在使用多层引号时,语义和不带引号的场景是不同的,因此不会被识别为敏感字段进行脱敏。
  • 参数说明 user_name 需要映射到外部服务器的一个现有用户的名称。 CURRENT_USER和USER匹配当前用户的名称。 当PUBLIC被指定时,一个公共映射会被创建,当没有特定用户的映射可用时将会使用它。 server_name 创建用户映射的现有服务器的名称。 OPTIONS ( { option_name ' value ' } [, ...] ) 这个子句指定用户映射的选项。这些选项通常定义该映射实际的用户名和密码。选项名必须唯一。允许的选项名和值与该服务器的外部数据包装器有关。 用户的密码会加密后保存到系统表PG_USER_MAPPING中,加密时需要使用usermapping.key.cipher和usermapping.key.rand作为加密密码文件和加密因子。首次使用前需要通过如下命令创建这两个文件,并将这两个文件放入各节点的$GAUSSHOME/bin目录,且确保具有读权限。gs_ssh工具可以协助您快速将文件放入各节点对应目录下。 gs_ssh -c "gs_guc generate -o usermapping -S default -D $GAUSSHOME/bin" 其中-S参数指定default时会随机生成密码,用户也可为-S参数指定密码,此密码用于保证生成密码文件的安全性和唯一性,用户无需保存或记忆。其他参数详见工具参考中gs_guc工具说明。
  • 示例 --创建角色。 gaussdb=# CREATE ROLE bob PASSWORD '********'; --创建外部服务器。 gaussdb=# CREATE SERVER my_server FOREIGN DATA WRAPPER log_fdw; --创建USER MAPPING。 gaussdb=# CREATE USER MAPPING FOR bob SERVER my_server OPTIONS (USER 'bob', PASSWORD '********'); --修改USER MAPPING。 gaussdb=# ALTER USER MAPPING FOR bob SERVER my_server OPTIONS (SET PASSWORD '********'); --删除USER MAPPING。 gaussdb=# DROP USER MAPPING FOR bob SERVER my_server; --删除外部服务器。 gaussdb=# DROP SERVER my_server; --删除角色。 gaussdb=# DROP ROLE bob;
  • 参数说明 mv_name 要创建的物化视图的名称(可以被模式限定)。 取值范围:字符串,要符合标识符命名规范。 column_name 新物化视图中的一个列名。物化视图支持指定列,指定列需要和后面的查询语句结果的列数量保持一致;如果没有提供列名,会从查询的输出列名中获取列名。 取值范围:字符串,要符合标识符命名规范。 TABLESPACE tablespace_name 可选。指定新建物化视图所属表空间。如果没有声明,将使用默认表空间。 AS query 一个SELECT或者TABLE命令。这个查询将在一个安全受限的操作中运行。