华为云用户手册

  • 列存表存储机制 在 GaussDB (DWS)中,列存表以压缩单元(CU)为最小存储单位,每列默认以60000行当做一个CU进行存储。由于CU采用追加写模式,更新和删除操作不会修改原有CU。CU一旦生成,其数据便不可更改,无论插入1条还是60,000条数据,都会生成一个新的完整CU。 因此使用过程中会产生如下问题: 删除操作:仅在字典中将旧数据标记为作废,并未释放空间。 更新操作:标记旧数据删除后,将新记录写入新的CU。 空间问题:频繁更新/删除会导致表空间膨胀和大量存储空间无法有效利用。
  • 自动分区创建规则 自动创建新分区 分区自动管理每隔period的时间就会自动创建分区,每次创建一个或多个时间范围为period的新分区,以推进最大的分区边界时间,保证其大于nowTime+30*period。由于每次创建分区时,都动态地为未来时间创建了预留分区,所以只要有一次自动创建新分区成功,就可以保证在未来30个period的时间之内,都不会出现实时数据因为没有对应分区而导入失败的情况。 图1 自动创建分区示意图 自动删除过期分区 边界时间早于nowTime-ttl的分区被认为是过期分区。分区自动管理每隔period的时间就会遍历检测所有分区,并删除其中的过期分区,如果所有的分区都是过期分区,则保留一个分区,并TRUNCATE该表。
  • 约束限制 在使用分区管理功能时,需要满足如下约束: 不支持在小型机、加速集群、单机集群上使用。 支持在8.1.3及以上集群版本中使用。 仅支持行存范围分区表、列存范围分区表、时序表以及冷热表。 分区键必须保持唯一性,其支持的数据类型包括TIMESTAMP、TIMESTAMPTZ、DATE,以及在9.1.0.200版本中新增的INT、BIGINT、VARCHAR和TEXT类型。 不支持存在maxvalue分区。 (nowTime - boundaryTime) / period需要小于分区个数上限,其中nowTime为当前时间,boundaryTime为现有分区中最早的分区边界时间。 period、ttl取值范围为1hour ~ 100years。另外,在兼容Teradata或MySQL的数据库中,分区键类型为date时,period不能小于1day。 表级参数ttl不支持单独存在,必须要提前或同时设置period,并且要大于或等于period。 集群在线扩容期间,自动增加分区会失败,但是由于每次增分区时,都预留了足够的分区,所以不影响使用。 time_format选项不支持SET修改。当period被RESET时(表示已经关闭自动分区,会报出提示),此时可以RESET此选项。
  • 步骤二:准备GaussDB(DWS)的样例数据 连接到GaussDB(DWS)的默认数据库gaussdb,创建一个名为dws_test的数据库。 1 CREATE DATABASE dws_test; 重新连接到新创建的数据库dws_test,创建名为dws_data的SCHEMA,同时在该SCHEMA下创建名为rpg_order的表,并插入4条数据。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CREATE SCHEMA dws_data; CREATE TABLE dws_data.dws_order ( order_id VARCHAR, order_channel VARCHAR, order_time VARCHAR, cust_code VARCHAR, pay_amount DOUBLE PRECISION, real_pay DOUBLE PRECISION ) DISTRIBUTE BY HASH (order_id); INSERT INTO dws_data.dws_order VALUES ('202306270001', 'webShop', '2023-06-27 10:00:00', 'CUST1', 1000, 1000); INSERT INTO dws_data.dws_order VALUES ('202306270002', 'webShop', '2023-06-27 11:00:00', 'CUST2', 5000, 5000); INSERT INTO dws_data.dws_order VALUES ('202307100003', 'webShop', '2023-07-10 13:00:00', 'CUST1', 3000, 3000); INSERT INTO dws_data.dws_order VALUES ('202307200004', 'webShop', '2023-07-20 14:00:00', 'CUST2', 4000, 4000); 查询表数据,验证数据是否插入。 1 SELECT * FROM dws_data.dws_order; 创建使用Power BI的数据库用户,密码需自定义。 1 CREATE USER dws_thiru PASSWORD '{password}'; 授权该用户可访问对应Schema和表的权限。 1 2 GRANT USAGE ON SCHEMA dws_data TO dws_thiru; GRANT SELECT ON dws_data.dws_order TO dws_thiru;
  • 步骤四:添加DWS的连接信息到Power BI的网关列表中 基于 数据仓库 安全角度考虑,GaussDB(DWS)不能直接暴露到公网上,因此Power BI无法一直与GaussDB(DWS)建立连接以实时刷新已发布的报表数据。此时,需参见以下步骤将DWS连接信息添加到Power BI的网关列表中。 访问链接,登录在线Power BI,输入电子邮件和密码,单击“提交”。 在Power BI在线页面,单击左侧“Workspaces”,单击已保存报表的工作区。 图18 选中工作区 单击需要设置的报表右上角的,单击“Settings”。 图19 设置报表 将“Use an On-premises or VNet data gateway”开关打开,并单击“Actions”下面的,在弹出的下拉信息中,单击“Add to gateway”。 图20 添加到网关 填写DWS的连接信息,如表1所示。 表1 添加网关信息 参数 描述 示例 Connection name 连接名称。 用户自定义 Server DWS的连接地址和端口。 192.168.0.196:8000 Database 待连接的DWS数据库名称。 dws_test Authentication method 鉴权方式。 Basic Username 数据库用户名称。 dws_thiru Password 数据库用户密码。 前面用户自定义的密码 Encrypted connection 是否加密连接。 Not encrypted Privacy level 隐私级别。 Organizational 图21 添加网关信息 核对参数无误,单击“Create”。上方新创建的连接信息将出现在网关列表中。 图22 添加网关成功 选择新创的连接名“pbogw_dws_cn1”,单击“Apply”。 网关映射成功。已完成报表与DWS的数据对接。 图23 网关映射成功
  • 查询数据库大小 查询数据库的大小。 1 select datname,pg_size_pretty(pg_database_size(datname)) from pg_database; 示例: 1 2 3 4 5 6 7 select datname,pg_size_pretty(pg_database_size(datname)) from pg_database; datname | pg_size_pretty -----------+---------------- template1 | 61 MB template0 | 61 MB postgres | 320 MB (3 rows)
  • 查询指定SCHEMA下的表大小及表对应索引的大小 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 SELECT t.tablename, indexname, c.reltuples AS num_rows, pg_size_pretty(pg_relation_size(quote_ident(t.tablename)::text)) AS table_size, pg_size_pretty(pg_relation_size(quote_ident(indexrelname)::text)) AS index_size, CASE WHEN indisunique THEN 'Y' ELSE 'N' END AS UNIQUE, idx_scan AS number_of_scans, idx_tup_read AS tuples_read, idx_tup_fetch AS tuples_fetched FROM pg_tables t LEFT OUTER JOIN pg_class c ON t.tablename=c.relname LEFT OUTER JOIN ( SELECT c.relname AS ctablename, ipg.relname AS indexname, x.indnatts AS number_of_columns, idx_scan, idx_tup_read, idx_tup_fetch, indexrelname, indisunique FROM pg_index x JOIN pg_class c ON c.oid = x.indrelid JOIN pg_class ipg ON ipg.oid = x.indexrelid JOIN pg_stat_all_indexes psai ON x.indexrelid = psai.indexrelid ) AS foo ON t.tablename = foo.ctablename WHERE t.schemaname='public' ORDER BY 1,2;
  • 查询数据库 使用gsql的\l元命令查看数据库系统的数据库列表。 1 2 3 4 5 6 7 8 9 10 \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+-------+-----------+---------+-------+------------------- gaussdb | Ruby | SQL_ASCII | C | C | template0 | Ruby | SQL_ASCII | C | C | =c/Ruby + | | | | | Ruby=CTc/Ruby template1 | Ruby | SQL_ASCII | C | C | =c/Ruby + | | | | | Ruby=CTc/Ruby (3 rows) 如果用户在数据库安装的时候没有指定LC_COLLATE、LC_CTYPE参数,则LC_COLLATE、LC_CTYPE参数的默认值为C。 如果用户在创建数据库时没有指定LC_COLLATE、LC_CTYPE参数,则默认使用模板数据库的排序顺序及字符分类。 详细内容可参见CREATE DATABASE参数说明。 通过系统表pg_database查询数据库列表。 1 2 3 4 5 6 7 SELECT datname FROM pg_database; datname ----------- template1 template0 gaussdb (3 rows)
  • 查询表分布键 使用PG_GET_TABLEDEF函数查询某个表(例如表名为customer_t1)的分布键,回显信息中的“HASH(c_last_name)”表示该表分布方式为HASH,且分布键为c_last_name。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 SELECT * FROM PG_GET_TABLEDEF('customer_t1'); pg_get_tabledef ----------------------------------------------------------------------------------- SET search_path = tpchobs; + CREATE TABLE customer_t1 ( + c_customer_sk integer, + c_customer_id character(5), + c_first_name character(6), + c_last_name character(8) + ) + WITH (orientation=column, compression=middle, colversion=2.0, enable_delta=false)+ DISTRIBUTE BY HASH(c_last_name) + TO GROUP group_version1; (1 row) 批量查询多个表的分布方式和分布键,使用以下SQL语句。语句末尾的dbadmin替换为实际的表owner,以下示例为查询dbadmin创建的所有表的分布方式和分布键。 下图回显的distribute_type表示分布方式,例如HASH;distributekey表示分布键,例如ca_address_sk。 1 2 3 4 5 6 7 8 9 10 11 12 13 SELECT pg_catalog.pg_get_userbyid(pc.relowner) AS tableowner, pn.nspname AS schemaname, pc.relname AS tablename, CASE pxc.pclocatortype WHEN 'N' THEN 'ROUND ROBIN' WHEN 'R' THEN 'REPLICATION' WHEN 'H' THEN 'HASH' WHEN 'M' THEN 'MODULO' END AS distribute_type, pc.relkind, getdistributekey(pxc.pcrelid) AS distributekey, pc.reloptions FROM pgxc_class pxc, pg_class pc,pg_namespace pn WHERE pxc.pcrelid = pc.oid AND pn.oid=pc.relnamespace AND tableowner='dbadmin';
  • 快速查询全库中所有表占用空间大小 8.1.3及以上集群版本在大集群大数据量(表数量大于1000)场景下,如果进行全库表查询,建议优先使用pgxc_wlm_table_distribution_skewness视图,该视图可以查到全库内的各表空间使用情况以及数据倾斜分布情况。其中,total_size和avg_size的单位为字节(bytes)。 1 2 3 4 5 6 7 SELECT *, pg_size_pretty(total_size) as tableSize FROM pgxc_wlm_table_distribution_skewness ORDER BY total_size desc; schema_name | table_name | total_size | avg_size | max_percent | min_percent | skew_percent | tablesize --------------------+---------------------------------------------------+------------+-----------+-------------+-------------+--------------+----------- public | history_tbs_test_row_1 | 804347904 | 134057984 | 18.02 | 15.63 | 7.53 | 767 MB public | history_tbs_test_row_3 | 402096128 | 67016021 | 18.30 | 15.60 | 8.90 | 383 MB public | history_tbs_test_row_2 | 401743872 | 66957312 | 18.01 | 15.01 | 7.47 | 383 MB public | i_history_tbs_test_1 | 325263360 | 54210560 | 17.90 | 15.50 | 6.90 | 310 MB 查询结果显示history_tbs_test_row_1表占用空间最大,且数据有一定的倾斜。 视图pgxc_wlm_table_distribution_skewness需要打开GUC参数use_workload_manager和enable_perm_space才能进行查询,在低版本查询全库时建议使用table_distribution()函数,如果仅查询某一张表的大小,推荐使用table_distribution(schemaname text, tablename text)函数。 8.2.1及以上集群版本中,GaussDB(DWS)已支持pgxc_wlm_table_distribution_skewness视图,可直接查询。 在8.1.3集群版本中,可使用如下定义创建视图后再进行查询: 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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 CREATE OR REPLACE VIEW pgxc_wlm_table_distribution_skewness AS WITH skew AS ( SELECT schemaname, tablename, pg_catalog.sum(dnsize) AS totalsize, pg_catalog.avg(dnsize) AS avgsize, pg_catalog.max(dnsize) AS maxsize, pg_catalog.min(dnsize) AS minsize, (maxsize - avgsize) * 100 AS skewsize FROM pg_catalog.gs_table_distribution() GROUP BY schemaname, tablename ) SELECT schemaname AS schema_name, tablename AS table_name, totalsize AS total_size, avgsize::numeric(1000) AS avg_size, ( CASE WHEN totalsize = 0 THEN 0.00 ELSE (maxsize * 100 / totalsize)::numeric(5, 2) END ) AS max_percent, ( CASE WHEN totalsize = 0 THEN 0.00 ELSE (minsize * 100 / totalsize)::numeric(5, 2) END ) AS min_percent, ( CASE WHEN totalsize = 0 THEN 0.00 ELSE (skewsize / maxsize)::numeric(5, 2) END ) AS skew_percent FROM skew;
  • 步骤一:准备OBS数据 下载数据样例文件。 登录OBS控制台,单击桶列表中已创建好的dws-demo01桶名称。 左侧选择“对象”,单击“新建文件夹”,命名为obs-dws。 进入到obs-dws的文件夹下,单击“上传对象”,将1下载的样例文件上传到obs-dws文件夹下。 获取OBS的Endpoint。 回到obs-dwst桶名的主页面,左侧选择“概览”。 在“ 域名 信息”中记录Endpoint,例如obs.cn-north-4.myhuaweicloud.com。
  • 步骤二:创建OBS的外部服务器和外表 外部服务器(Foreign server)是数据仓库/数据库系统中用于定义和管理对外部数据源(其他数据库、文件系统等)的逻辑连接对象。它的主要作用是支持异构分布式数据的联邦访问,是实现数据整合、实时分析和数据虚拟化的重要工具。 创建OBS外部Server,通过在Server中指定OBS的Endpoint,AK、SK,才可以基于外部Server访问OBS桶数据。 连接数据库后,执行以下SQL语句创建外部服务器。 其中ADDRESS填写5获取地址,AC CES S_KEY、 SECRET_ACCESS_KEY分别填写准备工作中获取账户的AK和SK。 1 2 3 4 5 6 7 CREATE SERVER obs_server FOREIGN DATA WRAPPER DFS_FDW OPTIONS ( ADDRESS 'obs.aaaaa.bbbbb.com', ACCESS_KEY 'xxxxxxxxx', SECRET_ACCESS_KEY 'yyyyyyyyyyyyy', TYPE 'OBS' ); 执行以下SQL,创建名为dws_data的Schema。 1 CREATE SCHEMA dws_data; 切换到新创的Schema下,创建外表。 注意,foldername '/obs-demo01/obs-dws/'请替换为数据文件实际存放的OBS路径,且确保OBS桶与DWS集群在同一个区域下,本例为obs-demo01桶名下的obs-dws文件夹。 SERVER obs_server为1创建的外部服务器实际的名称,本例为obs_server。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CREATE FOREIGN TABLE dws_data.obs_pq_order ( order_idVARCHAR(14)PRIMARY KEY NOT ENFORCED, order_channel VARCHAR(32), order_timeTIMESTAMP, cust_codeVARCHAR(6), pay_amountDOUBLE PRECISION, real_payDOUBLE PRECISION ) SERVER obs_server OPTIONS ( foldername '/obs-demo01/obs-dws/', format 'parquet', encoding 'utf8' ) READ ONLY DISTRIBUTE BY roundrobin;
  • 步骤四:将GaussDB(DWS)某张表的数据导出到OBS桶 创建一张新的本地表。 1 2 3 4 5 6 7 CREATE TABLE dws_data.dws_order ( order_idVARCHAR(14)PRIMARY KEY, order_channel VARCHAR(32), order_timeTIMESTAMP, cust_codeVARCHAR(6), pay_amountDOUBLE PRECISION, real_payDOUBLE PRECISION ); 插入三条数据。 1 2 3 4 INSERT INTO dws_data.dws_order VALUES ('20230627000001', 'webShop', TIMESTAMP '2023-06-27 10:00:00', 'CUST1', 1000, 1000) , ('20230627000002', 'webShop', TIMESTAMP '2023-06-27 11:00:00', 'CUST2', 5000, 5000) , ('20240309000003', 'webShop', TIMESTAMP '2024-03-09 13:00:00', 'CUST1', 2000, 2000); 创一张外表,用于导出数据到OBS桶。 其中foldername '/obs-demo01/obs-dws/'请替换为实际需要导出的OBS桶路径。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CREATE FOREIGN TABLE dws_data.obs_orc_order ( order_idVARCHAR(14)PRIMARY KEY NOT ENFORCED, order_channel VARCHAR(32), order_timeTIMESTAMP, cust_codeVARCHAR(6), pay_amountDOUBLE PRECISION, real_payDOUBLE PRECISION ) SERVER obs_server OPTIONS ( foldername '/obs-demo01/obs-dws/', format 'ORC', encoding 'utf8' ) WRITE ONLY DISTRIBUTE BY roundrobin; 执行以下语句,将本地表数据写入OBS外表。 1 2 3 INSERT INTO dws_data.obs_orc_order ( order_id, order_channel, order_time, cust_code, pay_amount, real_pay ) SELECT order_id, order_channel, order_time, cust_code, pay_amount, real_pay FROM dws_data.dws_order; 查询外表,数据写入成功。 1 SELECT * FROM dws_data.obs_orc_order; 成功写入后,您可以登录OBS控制台,查看OBS桶对应路径下是否有数据文件存在。 同时可以验证下,是否允许同一张外表下额外插入数据。 1 2 3 INSERT INTO dws_data.obs_orc_order ( order_id, order_channel, order_time, cust_code, pay_amount, real_pay ) SELECT order_id, order_channel, order_time, cust_code, pay_amount, real_pay FROM dws_data.dws_order; 结果会报错:“the file path specified in the foreign table is not empty”,但如果删除外表中指定的OBS文件路径下的数据文件后,可以重新插入数据。 执行以下语句,验证下是否允许更新和删除外表数据。 1 2 UPDATE dws_data.obs_orc_order SET pay_amount = 3000, real_pay = 3000 WHERE order_id = '20240309000003'; DELETE FROM dws_data.obs_orc_order WHERE order_id = '20240309000003'; 从显示结果看,不支持更新和删除外表数据。
  • 如何群发短信? 准备群发短信相关数据: 已创建短信应用,并获取APP_Key、APP_Secret和APP接入地址。 (仅国内短信)已申请短信签名,获取签名通道号。 已申请短信模板,并获取模板ID。 您可以使用如下三种方式群发短信: 调用发送短信API,向单个或多个用户发送相同内容的短信。 调用发送分批短信API,向多个用户发送不同内容的短信。 通过群发助手提交发送任务。 群发助手暂不支持发送验证码类短信。 父主题: 短信发送相关
  • 短信群发助手中,为何无法选择短信签名和模板? 使用群发助手提交发送任务时,请按先后顺序依次选择“短信应用” 、 “短信签名”、“短信模板”。 国内短信应用、签名、模板之间的关联关系,详见短信资源介绍。若下拉选项为空,请按下表处理。 参数 问题现象 可能原因 处理建议 短信应用 下拉选项为空,显示“暂无数据” 该华为云账号下还未添加短信应用。 请先创建短信应用。 短信签名 未选择“短信应用”。 已选择的“短信应用”下无可用的非验证码类短信签名。 请检查“短信应用”参数,并确认选择正确。 请检查该应用下是否有可用的非验证码类短信签名。若没有,请先申请短信签名。 短信模板 未选择“短信应用”。 (仅国内短信)未选择“短信签名”。 (仅国内短信)群发助手只支持选择非验证码类短信模板,已选择的“短信签名”下无可用的短信模板。 请检查“短信应用”参数,并确认选择正确。 (仅国内短信)请检查“短信签名”参数,并确认选择正确。 (仅国内短信)群发助手只支持选择非验证码类短信模板,请检查该签名下是否有可用的短信模板。若没有,请先申请短信模板。 父主题: 故障排除
  • 为何短信模板显示为“审核通过-去激活”状态?如何恢复? 短信模板设置为“审核通过-去激活”状态,通常是因为运营商规则变动,已不支持此条内容的发送。去激活的模板暂时无法恢复,请重新申请短信模板。 短信模板共有以下几种状态: 模板状态 操作(修改) 操作(删除) 操作(催审) 说明 待审核 - - √ 模板申请已提交成功,待运营经理审核。 审核通过-激活 - √ - 模板审核已通过,“模板ID”已下发,可以正常使用。 审核通过-去激活 - √ - 模板审核已通过,“模板ID”已下发,但模板未激活,不可以使用。 审核不通过 √ √ - 因不符合模板规范和变量规范,而审核不通过。 “√”指支持该操作,“-”指不支持该操作。 父主题: 模板相关
  • 常用概念 名词 说明 短信服务 华为云为企业用户(不包括个体工商户、个人独资企业、合伙企业等非法人主体或组织)提供单发、群发短信服务,同时可接收用户回复短信。 短信发送形式:可开发代码调用API,或使用群发助手发送短信。 国内短信 向中国大陆号码发送短信。支持发送验证码和行业通知短信。国内短信支持三网合一(移动,联通,电信,新增支持广电)专属通道。可参见开通流程。 验证码短信 发送携带数字验证码内容的短信。用于用户注册、用户登录、转账和密码找回等场景。可参见模板规范和变量规范。 通知短信 发送携带通知类内容的短信。用于快递通知、消费通知、即时提醒等场景。可参见模板规范和变量规范。 推广短信 又称营销短信,向有订购关系的会员用户发送推广短信。用于会员关怀、促销活动、运营活动等场景。可参见模板规范和变量规范。 短信签名 签名为一种方便快捷的个性化短信签名方式。短信由签名和短信正文组成。 说明: 在发送短信前需要申请短信签名和正文内容模板。国内短信必须携带签名,例如【华为云】。 请您提前申请签名,平台根据运营商规范审核通过后,使用申请的签名发送短信。 签名用于标识企业、产品或业务,必须提供实际依据,授权委托书、营业执照等。 签名分验证码、通知、推广三种类型,可申请多个。具体请参见签名规范。 短信模板 为用户提供短信正文的固定模板,根据企业业务需要,分为两种: 短信模板 = 固定文本+变量 短信模板 = 固定文本 说明: 必须提前将短信内容申请为模板才能发送短信,平台根据运营商规范审核(仅支持工作日审核)通过后,使用申请的模板发送短信。 根据企业业务需要,可提前申请多个短信模板。 短信模板分为分验证码、通知、推广三种类型。具体请参见模板规范和变量规范。 群发助手 群发短信工具,可直接在短信控制台上一键群发,无需开发代码。 群发助手暂不支持发送验证码类短信。 父主题: 产品概述
  • 模板审核常见问题 短信模板审核的通用问题和处理建议如下: 类型 一级问题 二级问题 处理建议 错误模板示例 正确模板示例 申请错误 所属签名错误 选择“华为云短信测试”及通用签名 申请模板时,需要选择自己申请的签名。 建议在有两个以上同类型签名需要使用同一个模板时选择通用签名。 - 更多正确示例请参见模板示例。 短信模板属性与短信签名属性不一致 短信模板属性需和短信签名属性保持一致。(如:不支持以A公司的签名申请关于B公司业务的模板内容。) - 更多正确示例请参见模板示例。 在选择纯英文签名时选择了[] 目前国内短信签名符号格式仅支持【】,请修改后提交。 - 更多正确示例请参见模板示例。 短信类别错误 通知内容误选验证码类、推广内容选通知类等 根据自己的短信内容选择适合的短信类型。 - 更多正确示例请参见模板示例。 格式错误 变量错误 变量数量错误 不支持连续变量,变量总数不能超过20个。 温馨提醒:${PHONE}${CHARDIGIT}${DATETIME}的会议即将开始,请您准时参加。 温馨提醒:${1}-${2}的会议即将开始,请您准时参加。 变量格式错误 变量格式为${1}、${2}、...、${20},中间数字应代表变量在模板内容中的位置顺序。 不允许设置局部变量,如www.${1}.cn、186${2}1234等。 温馨提醒:${3}-${5}的会议即将开始,请您准时参加。 温馨提醒:${1}-${2}的会议即将开始,请您准时参加。 变量属性错误 创建模板时,支持以下五种变量属性: 电话号码:可以传入手机号、座机号、95或400、800电话等,长度为1-15个字符。 其他号码:主要用途为订单号,密码、随机密钥等,长度为1-20个字符。 时间:需要符合时间的表达方式,长度为1-20个字符。 金额:仅支持传入能够正常表达金额的数字、小数点或中文,例如壹、贰、叁、肆等,长度为1-20个字符。 其他(如名称、账号、地址等):可以设置为公司/产品/地址/姓名/内容/账号/会员名等,长度为1-20个字符。 您的验证码为:${NUM_6},5分钟内有效!请勿泄漏! 您的验证码为:${CHARDIGIT},5分钟内有效!请勿泄漏! 重复签名错误 模板内容中额外添加短信签名 发送时系统会自动添加签名【签名内容】,请去除。 【签名】您的验证码为:${1},5分钟内有效!请勿泄漏! 您的验证码为:${1},5分钟内有效!请勿泄漏! 内容错误 有严禁符号 不支持如¥、★、^_^、&、√、※、[]等特殊符号,可能会导致短信出现乱码 含不支持发送符号的,请删除。 模板中含【】符号可能会致使短信发送失败,请删除。 温馨提醒:${1}&${2}的会议即将开始,请您准时参加。 温馨提醒:${1}-${2}的会议即将开始,请您准时参加。 变量使用错误 笼统设置变量属性为“其他”,未区分时间、电话号码、数值等。 请根据短信实际内容,合理使用变量,并设置相应的变量属性,不可笼统设置为“其他”。 尊敬的客户:您${TEXT}消费${TEXT}元,当前账号余额${TEXT}元。 尊敬的客户:您${DATETIME}消费${MONEY}元,当前账号余额${MONEY}元。 内容不清晰 全变量模板;固定文本太少,变量过多,取值过大,无法辨认业务场景等 全变量模板不支持,按需求设置变量并使用尽可能多的固定文本描述,以便能判读短信内容含义及使用场景。 ${1}-${2}的${3}。 温馨提醒:${1}-${2}的会议即将开始,请您准时参加。 缺少必备关键字 推广短信内容需要添加退订方式,支持回复“R”进行短信退订 推广短信内容需要添加退订方式,请在模板中添加退订方式,支持回复“R”进行短信退订。 尊敬的会员,您收到了一个xx送给您的大礼包,请通过微信小程序查询。 尊敬的会员,xx商场年中大促全场3折起!精选款5折,叠加满500减100,全城独家限6月18日前。地址xx路xx号。拒收请回复R。 验证码模板内容必须含有验证码,注册码,校验码,动态码这4个词其中之一 请添加相应关键字,验证码模板内容必须含有验证码,注册码,校验码,动态码这4个词其中之一。 ${1},5分钟内有效!请勿泄漏! 您的验证码为:${1},5分钟内有效!请勿泄漏! 不同短信模板类型特有的问题如下: 类型 一级问题 二级问题 处理建议 错误模板示例 正确模板示例 验证码类 夹带禁发内容 不是纯验证码,夹带了营销内容 将非验证码内容删除。 您的验证码为:${1},该验证码5分钟内有效。登录之后领取新人专属福利,券等你来! 您的验证码为:${1},该验证码5分钟内有效,请勿泄漏于他人! 夹带其他变量 除验证码外还有其他长变量 请勿将短信其他内容设为变量,若验证码分注册、修改密码等多个类型,可以分开申请。 您的验证码为:${1},该验证码5分钟内有效,仅供${TXT_20}使用。 您的验证码为:${1},该验证码5分钟内有效,请勿泄漏于他人! 通知类 招聘面试不支持 - 平台目前不支持发送招聘、面试通知等,请谅解。 尊敬的XX,提醒您于${1}到${2}进行第一轮面试,请准备好相关资料。 更多正确示例请参见模板示例。 游戏、金融、房地产、教育通知不发 - 平台目前不支持发送游戏、房地产、金融、教育等通知,请谅解。 您有一个游戏奖励未领取,请登录XX手游领取。 更多正确示例请参见模板示例。 催缴性质的不发 - 平台不支持催缴短信、包括提醒支付,请谅解。 您有${MONEY}元账单待还款,最后还款日期未本月8日。 更多正确示例请参见模板示例。 通知夹带营销信息 前半段是通知内容,后半段是营销信息 通知类短信中不要夹带营销信息,可根据平台返回的审核说明对模板内容进行修改。 您已成功预订${1}张门票,取票密码:${2},请提前到达并兑换门票。关注XX公众号获取更多当地旅游信息。 您已成功预订${1}张门票,取票密码:${2},请提前到达并兑换门票。 短信含其他规则范围内的禁带内容 如优惠券、加QQ等短信模板规范中短信通知禁带内容 参照模板规范创建模板。 根据模板不通过时平台返回的审核说明对禁发内容进行删除。 更多正确示例见模板示例。 更多正确示例请参见模板示例。 推广类 明显盲发内容 没有带会员描述,模板内容无法识别是否发送给会员 发送对象为非注册用户、非会员用户、或非已产生购买的用户 开业宣传、业务介绍、公司介绍 在模板中添加会员称谓,模板内容中体现出是发会员,确认会员关系。 开业宣传、业务介绍、公司介绍等不能确认会员关系的内容均属盲发短信,不支持发送,请谅解。 xx商场xx服饰上线春季新品,欢迎到店选购,拒收请回复R。 尊敬的会员,xx商场xx服饰上线春季新品,会员叠加满500减100,限6月18日前。地址xx路xx号。拒收请回复R。 4S店、车类不发 - 4S、车类投诉风险过高,平台暂不支持发送,请谅解。 尊敬的客户,您在xx4S店产生了一笔消费单,请及时查看。 - 短信内链接无效或不合规,变量明显指向链接的 链接内容与短信内容不符、链接失效等 模板内容只支持全固定文本链接,以便平台对链接内容进行核实。 若链接为无效链接或无法打开,请您先自行检查是否填错。 若链接内容与模板内容不符,不支持发送。 亲爱的会员,您在xx品牌消费满500获赠100元的礼金券,已推送至您的券包,点击${1}链接查看,有效期为6.1-6.18,使用规则详见券面,拒收请回复R。 亲爱的会员,您在xx品牌消费满500获赠100元的礼金券,已推送至您的券包,点击https://xx/xx查看,有效期为6.1-6.18,使用规则详见券面,拒收请回复R。 注意: https://xx/xx为链接示例,请填入真实有效且与模板内容相符的固定链接。 涉及房产、家装、展会等模板审核标准中明显禁止的类型 - 创建模板前,请先仔细阅读模板规范,涉及不支持发送的行业类型,平台将直接驳回。 国际新工艺展览会于${DATETIME}国际会议中心展开,领门票点击https:xxxx。 - 内容过期 带QQ、微信\微信群、关注公众号、个人联系方式等内容 带链接变量 如重大节日后提交节日活动模板 任何节假日(如五一、十一等)的推广内容,都需提前审核模板,以免错过发送时间,造成短信内容过期。 推广短信不支持带加QQ、微信、微信群、关注公众号、个人联系方式、联系方式变量等,建议联系方式改为固话或400或官网链接等。 不支持将链接作为变量,请将链接作为固定文本。 尊敬的会员。xx商场庆端午开场,全场低至3折,更有粽子礼盒消费满额送,欢迎到场参与活动,拒收请回复R。 - 如有任何疑问,请联系华为云智能客服,将有专人为您解答。
  • 模板规范 模板规范分为模板格式规范和模板内容规范。 模板格式规范 文本短信模板限500字符。 不支持使用【】,【】可能会与签名混淆,导致发送失败。 不支持使用特殊符号,如¥、★、^_^、&、√、※、[]等,特殊符号可能会导致短信出现乱码。 模板内容规范 模板必须体现实际公司业务,除变量以外的文本内容必须可判断短信含义和使用场景,请尽可能多地使用固定文字描述。 不允许发送未经许可的邀请,主要指邀请注册、邀请成为会员或报名参加活动等行为。 房地产、教育、游戏行业暂只支持验证码短信。 禁止发送涉及以下信息或关键字的短信:股票、移民、金融、面试招聘、博彩赌球,彩票、返利、贷款、催款、投资理财、中奖、一元夺宝、一元秒杀、A货、医疗、整形、美容、会所、酒吧、黄赌毒、足浴、带有威胁性质、皮草、助考、商标注册、加群、加QQ、加微信、贩卖个人信息、APP下载/推广链接、好评返现、用户拉新、用户召回、运营商相关(增值业务、营业厅,移动,联通,电信,广电,大王卡,短信群发、4G\5G等)、代写论文刊物、棋牌、赌博、游戏、法院诉讼、传票、征信黑名单、党政维权、原油期货、贵金属、私募股权、评价、留学、海外置业投资、银行汇票、工商代办、开发票、招募合伙人、邀请注册、驾驶证年审、售卖软件、手机或山寨机买卖、回复确认收货、违禁品、虚拟货币、邮币邮票、上门追讨、宗教、迷信、二类电商、交友、婚恋、POS机、积分兑换、红白事、法律、财税、代理认证、专利、加盟、展会、调解、借贷、分期、积分清零、刷单、加客服、淘口令、零元购、公司注册、知识产权、公积金/社保代申报、保健养生、养老、数字藏品、问卷调查、培训讲座、保险、直播、烟、酒、茶叶、兼职、房产买卖、装修建材等及其他违反法律法规的内容。 模板内容不需要填写短信签名,发送短信时系统会自动添加。 不同类型的模板有不同的模板规范,如下: 类别 变量规范 内容规范 模板示例 验证码短信 仅支持一个变量,用于填写数字验证码。 验证码变量的“最大长度”要求为8位及以下。 国内短信必须含有验证码,注册码,校验码,动态码这4个词其中之一。 请参考短信模板示例。 通知短信 链接和手机号码不支持使用变量发送,请填写在模板的固定文本中。 不支持带营销推广的内容。 链接只能为固定网址,不能是跳转链接或短网址。 请参考短信模板示例。 推广短信 不支持变量,模板只能为纯固定文本。 推广短信除公共规范外,还禁止发送涉及以下信息或关键字的短信:培训、招商加盟类、团购会、装修(含建材,家私)、烟、酒、茶、捐款献血、迷信色彩、人工或软件刷单、做任务、虚拟货币、人民币收藏、钱币买卖、沙发翻新、工商代办、代开发票、买卖黑车、非法钓鱼、会展、网站、优惠券类推广、卡类、保险、税票、APP推广、办证、回收、医疗保健、信用卡、交友、猎头、直播及其他违反法律法规的内容。 只支持发送给有订购关系的会员用户,模板必须体现是发送给会员。 必须添加退订方式,支持回复“R”进行短信退订回复。 联系方式仅支持固话或400电话,不支持手机号。 不支持携带变量链接,请将链接作为固定文本;链接只能为固定网址,不能是跳转链接或短网址。 - 模板规范可能随运营商规则变化实时调整,最终以模板审核结果为准。 如遇到违反规范并造成恶劣影响的,将严肃处理并进行封号!请严格遵守规范要求,加强自身业务安全,健康发送短信。
  • 模板示例 您需要自行编辑短信内容并申请短信模板,才能发送短信,验证码短信和通知短信的模板样例请参考下表。 推广短信无模板样例,您可参考模板规范和变量规范编辑您的模板。 验证码短信示例 应用场景 模板示例 变量属性 登录/验证 您的动态码为:${1},5分钟内有效!请勿泄漏! ${1}:其他号码 您的校验码为:${1},您正在使用移动服务平台,请勿泄漏验证码。 您的验证码为:${1},该验证码5分钟内有效,请勿泄漏于他人! 您的验证码为:${1},请尽快完成验证。祝您生活愉快! 注册 您的注册码为:${1},您正在注册成为会员,感谢您的支持! 修改密码 您的检验码为:${1},您正在进行密码重置操作,如非本人操作,请忽略本短信! 修改手机号 您正在修改注册手机号码,验证码为:${1}(5分钟有效),为保障账户安全,请勿向任何人提供此验证码。 找回密码 您正在进行密码找回,验证码为:${1} (10分钟内有效),请勿向任何人提供此验证码 登录 验证码:${1},您正在登录平台账号,如非本人操作,请勿泄漏 。 变更信息 验证码:${1},您正在变更重要信息,请妥善保管账户信息。 通知短信示例 应用场景 模板示例 变量属性 会议 温馨提醒:${1} ${2} - ${3} 的会议即将开始,请您准时参加。 ${1}${2}${3}:时间 消费 尊敬的客户:您${1} ${2}消费${3}元,当前账号余额${4}元。 ${1}${2}:时间 ${3}${4}:金额 审核 您的申请已于${1} ${2}审批通过,请登录平台确认。 ${1}${2}:时间 注册 您申请的用户名为:${1},密码:${2},请登录并修改密码。 ${1}:其他 ${2}:其他号码 欢迎您的加入!请用注册的手机号码及初始密码(${1})登录。 ${1}:其他号码 修改密码 尊敬的用户,您的密码已经重置为${1},请尽快登录并修改密码。 ${1}:其他号码 快递 您的订单${1}已打包发送,快递单号${2},请注意查收。 ${1}${2}:其他号码 您的快递${1}正在配送中,请注意查收。 ${1}:其他号码 取票 您已成功预订${1}张门票,取票密码:${2},请提前到达并兑换门票。 ${1}${2}:其他号码 预约 您已成功预约 ${1} ${2}-${3},预约号${4},请提前到达等候叫号。 ${1}${2}${3}:时间 ${4}:其他号码 排队 您的排队号${1},您前面还有${2}人等待,请在现场等候叫号。 ${1}${2}:其他号码 售后咨询 已安排售后人员和您联系,请您保持电话畅通耐心等待,谢谢! - 兑换码 您的兑换申请已经通过,兑换码为${1},请勿泄漏。 ${1}:其他号码
  • 计费示例 假设您在2023/03/08 15:50:04购买了DSC服务(大模型数据安全防护场景)标准版,并购买了一个数据扩展包。购买时长为一个月,并在到期前手动续费1个月,则: 第一个计费周期为:2023/03/08 15:50:04 ~ 2023/04/08 23:59:59 第二个计费周期为:2023/04/08 23:59:59 ~ 2023/05/08 23:59:59 图1给出了上述示例配置的费用计算过程。 图1 包年/包月DSC费用计算示例
  • 到期后影响 图2描述了包年/包月DSC资源各个阶段的状态。购买后,在计费周期内DSC功能正常使用,此阶段为有效期;资源到期而未续费时,将陆续进入宽限期和保留期。 图2 计费资源生命周期 到期后预警 包年/包月DSC资源在到期前第7天内,系统将向用户推送到期预警消息。预警消息将通过邮件、短信和站内信的方式通知到华为云账号的创建者。 到期后影响 包年/包月方式购买的专业版DSC(大模型数据安全防护场景)到期未续费,首先会进入宽限期,宽限内您可以查看历史任务数据,不能新增或者编辑任务。 如果您在宽限期内仍未续费包年/包月DSC资源,那么就会进入保留期,资源状态变为“已冻结”,您将无法对处于保留期的包年/包月资源执行任何操作。 保留期的时长由客户等级来定,详细信息请参见保留期。 保留期到期后,若包年/包月DSC仍未续费,那么 数据安全中心 资源数据将被删除,数据无法恢复。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 关于续费的详细介绍请参见续费概述。
  • 适用场景 包年/包月计费模式需要用户预先支付一定时长的费用,适用于长期、稳定的业务需求。以下是一些适用于包年/包月计费模式的业务场景: 稳定业务需求:对于长期运行且资源需求相对稳定的业务,如企业官网、在线商城、博客等,包年/包月计费模式能提供较高的成本效益。 长期项目:对于周期较长的项目,如科研项目、大型活动策划等,包年/包月计费模式可以确保在整个项目周期内资源的稳定使用。 业务高峰预测:如果能预测到业务高峰期,如电商促销季、节假日等,可提前购买包年/包月资源以应对高峰期的需求,避免资源紧张。 数据安全要求高:对于对数据安全性要求较高的业务,包年/包月计费模式可确保资源的持续使用,降低因资源欠费而导致的数据安全风险。
  • 计费构成分析 可以将DSC的使用阶段按照计费模式分为两段: 在2023/05/01 15:50:00~2023/07/01 23:59:59期间为包年/包月计费。 在2023/06/8 8:00:00-2023/06/28 18:00期间为按需计费,调用110万次。 包年包月计费 在2023/05/01 15:50:00~2023/07/01 23:59:59期间为包年/包月计费,并分别购买了一个数据库扩展包和一个OBS扩展包,购买时长为2个月,费用计算如下 : 图1 包年/包月DSC费用计算示例 由此可见,在5~6月,专业版产生的费用为:10000+3600+1800=15400元。 按需计费 在2023/06/8 8:00:00-2023/06/28 18:00期间为按需计费,调用110万次,费用计算如下: 图2 按需计费DSC计算示例 由此可见,在6月,按需计费产生的费用为:150元。 由此可见,在5~6月,使用DSC总共产生的费用为:15400 + 150 = 15550元。
  • 计费场景 某用户于2023/05/01 15:50:00购买了数据安全中心服务(通用数据安全防护场景)的专业版,并分别购买了一个数据库扩展包和OBS扩展包。购买时长为一个月,一个月后又手动续费了一个月。 该用户在6月时,需要通过调用水印API来为文档添加水印。因此,该用户于2023/06/8 8:00:00-2023/06/28 18:00调用API110万次。 那么,5~6月份,总共产生多少费用呢?
  • 变更配置后对计费的影响 当前包年/包月DSC的规格不满足您的业务需要时,您可以在DSC控制台发起变更规格操作,变更服务版本和扩展包数量,即可以升级DSC的版本,也可增加或者退订多余的数据库扩展包、OBS扩展包的数量。 版本升级或增加扩展包数量:新版本价格高于老版本价格,此时您需要支付新老版本的差价。 数据安全中心暂不支持降级。升级后如需使用低版本数据安全中心,请先进行退订再进行购买。 升配费用=新版本价格*剩余周期-旧配置价格*剩余周期 公式中的剩余周期为每个自然月的剩余天数/对应自然月的最大天数。更多信息请参见变更资源规格费用说明。
  • 到期后影响 图2描述了包年/包月DSC资源各个阶段的状态。购买后,在计费周期内DSC功能正常使用,此阶段为有效期;资源到期而未续费时,将陆续进入宽限期和保留期。 图2 计费资源生命周期 到期后预警 包年/包月DSC资源在到期前第7天内,系统将向用户推送到期预警消息。预警消息将通过邮件、短信和站内信的方式通知到华为云账号的创建者。 到期后影响 包年/包月方式购买的专业版DSC(通用数据安全防护场景)到期未续费,首先会进入宽限期,宽限内您可以查看历史任务数据,不能新增或者编辑任务。 如果您在宽限期内仍未续费包年/包月DSC资源,那么就会进入保留期,资源状态变为“已冻结”,您将无法对处于保留期的包年/包月资源执行任何操作。 保留期的时长由客户等级来定,详细信息请参见保留期。 保留期到期后,若包年/包月DSC仍未续费,那么数据安全中心资源数据将被删除,数据无法恢复。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 关于续费的详细介绍请参见续费概述。
  • 适用场景 包年/包月计费模式需要用户预先支付一定时长的费用,适用于长期、稳定的业务需求。以下是一些适用于包年/包月计费模式的业务场景: 稳定业务需求:对于长期运行且资源需求相对稳定的业务,如企业官网、在线商城、博客等,包年/包月计费模式能提供较高的成本效益。 长期项目:对于周期较长的项目,如科研项目、大型活动策划等,包年/包月计费模式可以确保在整个项目周期内资源的稳定使用。 业务高峰预测:如果能预测到业务高峰期,如电商促销季、节假日等,可提前购买包年/包月资源以应对高峰期的需求,避免资源紧张。 数据安全要求高:对于对数据安全性要求较高的业务,包年/包月计费模式可确保资源的持续使用,降低因资源欠费而导致的数据安全风险。
  • 计费示例 假设您在2023/03/08 15:50:04购买了DSC服务(通用数据安全防护场景)专业版,并分别购买了一个数据库扩展包和OBS扩展包。购买时长为一个月,并在到期前手动续费1个月,则: 第一个计费周期为:2023/03/08 15:50:04 ~ 2023/04/08 23:59:59 第二个计费周期为:2023/04/08 23:59:59 ~ 2023/05/08 23:59:59 图1给出了上述示例配置的费用计算过程。 图1 包年/包月DSC费用计算示例
  • 计费示例 以包年/包月计费模式为例,假设您在2023/07/08 15:50:04购买了DSC(大模型数据安全防护场景)的标准版,并购买了一个数据扩展包。购买时长为一个月,并在到期前手动续费1个月,则: 第一个计费周期为:2023/07/08 15:50:04 ~ 2023/08/08 23:59:59 第二个计费周期为:2023/08/08 23:59:59 ~ 2023/09/08 23:59:59 图2 包年/包月DSC费用计算示例
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全