华为云用户手册
-
JDBC通过ssl方式连接doris(验证证书) 在应用层进行代码重试和负载均衡时,代码重试需要应用自己多个配置doris前端节点地址。比如发现一个连接异常退出,就自动在其他连接上进行重试。 前提条件:集群必须开启HTTPS。 下载证书请在集群详情页面下载。 在已安装mysql客户端的ecs服务器上先执行以下命令,导入服务器证书。 your_certificate_path:自定义证书存放路径。 your_truststore_name:自定义truststore名称。 your_truststore_password:自定义 truststore密码。 keytool -importcert -alias MySQLCACert -file your_certificate_path -keystore your_truststore_name -storepass your_truststore_password 运行该命令的过程中,需要手动输入yes,如下所示: 图1 运行图 执行以下代码样例。 以下java代码中your_truststore_path为truststore文件路径,your_truststore_password为上述命令设置的truststore密码。 public class Main { private static String URL = "jdbc:mysql:loadbalance://" + "[FE1_host]:[FE1_port],[FE2_host]:[FE2_port],[FE3_host]:[FE3_port]/[your_database]?" + "loadBalanceConnectionGroup=first&ha.enableJMX=true"; static Connection getNewConnection() throws SQLException, ClassNotFoundException { Class.forName("com.mysql.cj.jdbc.Driver"); System.setProperty("javax.net.ssl.trustStore","your_truststore_path"); System.setProperty("javax.net.ssl.trustStorePassword","your_truststore_password"); String user = "your_username"; String password = "your_password"; Properties props = new Properties(); props.setProperty("user", user); props.setProperty("password", password); props.setProperty("useSSL", "true"); props.setProperty("requireSSL", "true"); props.setProperty("verifyServerCertificate", "true"); props.setProperty("sslMode", "VERIFY_CA"); return DriverManager.getConnection(URL, props); } public static void main(String[] args) throws Exception { Connection c = getNewConnection(); try { System.out.println("begin print"); String query = "your sqlString"; c.setAutoCommit(false); Statement s = c.createStatement(); ResultSet resultSet = s.executeQuery(query); while(resultSet.next()) { int id = resultSet.getInt(1); System.out.println("id is: "+id); } System.out.println("end print"); Thread.sleep(Math.round(100 * Math.random())); c.close(); } catch (Exception e) { e.printStackTrace(); } } } 父主题: 通过JDBC方式连接Doris
-
数据模型选择 Doris数据模型上目前分为三类:AGGREGATE KEY,UNIQUE KEY,DUPLICATE KEY。三种模型中数据都是按KEY进行排序。 Aggregate模型。 Aggregate模型可以通过预聚合,极大地降低聚合查询时所需扫描的数据量和查询的计算量,非常适合有固定模式的报表类查询场景。但是该模型对count( * ) 查询很不友好。同时因为固定了Value列上的聚合方式,在进行其他类型的聚合查询时,需要考虑语意正确性。 Aggregate Key相同时,新旧记录进行聚合,目前支持的聚合函数有SUM,MIN,MAX,REPLACE。 CREATE TABLE site_visit ( siteid INT, city SMALLINT, username VARCHAR(32), pv BIGINT SUM DEFAULT '0' ) AGGREGATE KEY(siteid, city, username) DISTRIBUTED BY HASH(siteid) BUCKETS 10; Unique模型。 Unique模型针对需要唯一主键约束的场景,Unique key相同时,新记录覆盖旧记录,可以保证主键唯一性约束。适用于有更新需求的分析业务。目前Unique key实现上和Aggregate key的 REPLACE聚合方法一样,二者本质上相同。但是无法利用ROLLUP等预聚合带来的查询优势(因为本质是REPLACE,没有SUM这种聚合方式)。 CREATE TABLE sales_order ( orderid BIGINT, status TINYINT, username VARCHAR(32), amount BIGINT DEFAULT '0' ) UNIQUE KEY(orderid) DISTRIBUTED BY HASH(orderid) BUCKETS 10; Duplicate模型。 Duplicate模型相同的行不会合并,适合任意维度的Ad-hoc查询。虽然无法利用预聚合的特性,但是不受聚合模型的约束,可以发挥列存模型的优势(列裁剪、向量执行等)。 CREATE TABLE session_data ( visitorid SMALLINT, sessionid BIGINT, visittime DATETIME, city CHAR(20), province CHAR(20), ip varchar(32), brower CHAR(20), url VARCHAR(1024) ) DUPLICATE KEY(visitorid, sessionid) DISTRIBUTED BY HASH(sessionid, visitorid) BUCKETS 10;
-
大宽表与Star Schema 业务方建表时, 为了和前端业务适配, 往往不对维度信息和指标信息加以区分, 而将Schema定义成大宽表,这种操作对于数据库其实不是那么友好,我们更建议用户采用星型模型。 Schema中字段数比较多, 聚合模型中可能key列比较多, 导入过程中需要排序的列会增加。 维度信息更新会反应到整张表中,而更新的频率直接影响查询的效率。 使用过程中,建议用户尽量使用Star Schema区分维度表和指标表。频繁更新的维度表也可以放在MySQL外部表中。而如果只有少量更新, 可以直接放在Doris中。在Doris中存储维度表时,可对维度表设置更多的副本,提升Join的性能。
-
通过CCE模板管理页面安装Sermant Injector 第一次启动Sermant Injector实例之前,需申请Sermant Injector https证书。 登录已安装kubectl命令的CCE节点,请参考Linux弹性云服务器登录方式概述选择相应方式登录CCE节点。 执行以下命令申请Sermant Injector https证书: wget -O- https://cse-bucket-cn-east-3.obs.cn-east-3.myhuaweicloud.com/javaagent/certificate.sh | sh 该步骤会把证书挂载到cse命名空间中,如果不存在cse命名空间,则会自动创建。 该步骤会向k8s集群申请名为sermant-injector.cse.svc的CertificateSigningRequest,如果之前存在,则会被覆盖。 该步骤会在cse命名空间中创建名为sermant-injector-secret的Secret,如果之前存在,则会被覆盖。 使用Sermant Injector时,如果提示证书失效等证书相关的错误,请重新申请证书并重新安装Sermant Injector实例。 上传Sermant Injector模板。 下载模板。Sermant Injector模板版本及下载地址如下表所示: 版本 发行时间 获取路径 1.0.9 2023.06.30 sermant-injector-1.0.9.tgz 上传模板,请参考上传模板。 安装Sermant Injector,请参考创建模板实例。 安装时,按需修改配置文件,配置说明如下: agent: image: # 选填配置,Sermant Agent镜像版本,默认为最新版本。 version: ${agent.version} cse: config: # 必填配置,微服务引擎配置中心地址,获取方式请参考获取微服务引擎配置中心地址。 endpoints: https://localhost:30110 registry: # 必填配置,注册中心类型,当前支持SERVICE_COMB/NACOS type: SERVICE_COMB # 必填配置,微服务引擎注册中心地址,获取方式请参考获取微服务引擎服务注册发现地址。 endpoints: https://localhost:30100 image: # 选填配置,镜像拉取策略:Always(总是拉取)/IfNotPresent(本地有则使用本地镜像,不拉取)/Never(只使用本地镜像,从不拉取) pullPolicy: IfNotPresent # 必填配置,CCE所在的region,具体请参考地区和终端节点。 region: ${region} injector: image: # 选填配置,injector镜像版本,默认为最新版本。 version: ${injector.version} # 选填配置,拉取镜像的密钥。 pullSecrets: default-secret # 选填配置,injector实例数,若CCE集群只有一个节点,则需配置为1。 replicas: 2 webhooks: # 必填配置,K8s集群证书,请在已安装kubectl命令的CCE节点中使用以下命令获取 # kubectl config view --raw --minify --flatten -o jsonpath='{.clusters[].cluster.certificate-authority-data}' caBundle: null 目前Sermant Injector只支持安装到cse命名空间中,如果安装时,无法在页面上找到cse命名空间,请刷新页面。 父主题: 安装Sermant Injector
-
背景信息 CCE容器部署的Spring Cloud应用可通过Sermant Injector插件自动挂载Sermant Agent,通过Sermant Agent接入未开启安全认证的微服务引擎。同Spring Cloud Huawei接入方式相比,Sermant Agent方式无需修改代码即可接入并使用应用注册发现等功能,但是不支持使用微服务治理功能。关于Sermant Agent,请参考Sermant-agent使用手册。 请根据您的实际业务需要选择使用Sermant Agent、Spring Cloud Huawei接入方式中的一种将Spring Cloud应用接入微服务引擎,但不可同时使用,以免导致冲突。
-
使用条件 已创建Kubernetes类型的环境,请参考创建环境。 环境中已绑定1.15以上版本的CCE集群,请参考绑定CCE集群。 CCE集群节点已安装kubectl,安装kubectl命令请参考通过kubectl连接集群中相关操作。 环境中已纳管2.4.0及以上版本的未开启安全认证的微服务引擎专享版,请参考纳管资源。 Sermant Agent及Sermant Injector版本要求1.0.3及以上。
-
开启安全认证 登录微服务引擎控制台。 在左侧导航栏选择“ServiceComb引擎专享版”。 单击待操作的引擎。 在“网络配置 & 安全”区域,单击“开启安全认证”。 如果引擎版本低于1.2.0,执行5。 如果引擎版本为1.2.0及以上版本,执行6。 升级引擎至1.2.0或以上版本。 单击“升级”。 选择“升级后版本”,查看版本说明,根据需要决定是否升级到该版本后,单击“确定”。 在刚升级成功的ServiceComb引擎的“网络配置 & 安全”区域,单击“开启安全认证”。 在“系统管理”页面开启安全认证。 首次开启安全认证,单击“去开启安全认证”。 需先创建root账号。输入root账号的“密码”和“确认密码”,单击“立即创建”。 再次开启安全认证,输入引擎中已关联了admin角色的账号名称及其密码。 (可选)参考角色管理,根据业务需要,创建角色。 (可选)参考账号管理,根据业务需要,创建账号。 在“系统管理”页面单击“设置安全认证”,根据实际业务需要设置安全配置。 选择开启“控制台安全认证”,请执行11。 开启控制台安全认证后,进入微服务引擎控制台界面,需要使用账号、密码登录。登录账号用户只能查看、配置有权限的服务。 选择开启“编程接口安全认证”,请执行10。 开启编程接口安全认证,会自动同步开启“控制台安全认证”。 开启编程接口安全认证后,需要在微服务的配置文件中添加对应用户的账号密码,否则服务无法注册到引擎。 关闭编程接口安全认证,微服务的配置文件中无需配置账号密码即可将服务注册到引擎,效率性能更高,建议用于VPC内访问时使用。 配置SDK,对于已部署但未配置安全认证参数的微服务组件,请参考配置微服务安全认证的账号名和密码 先为组件配置微服务安全认证的账号名和密码,再升级组件。 单击“确定”。 等待ServiceComb引擎更新完成,引擎状态由“配置中”变为“可用”,开启安全认证成功。
-
环境要求 Web SDK运行环境要求,如表1所示。 表1 环境要求 环境项 使用限制 开发工具 Microsoft Visual Studio Code、WebStorm或其他Web IDE开发工具。 语言 Javascript或Typescript。 编译环境 建议Node 17+。 浏览器 浏览器使用限制,请参见表2。 由于浏览器的安全策略限制,仅支持通过“https:// 域名 ”方式访问,否则无法获取麦克风权限。 表2 浏览器适配详情 操作系统类型 浏览器类型 浏览器版本 Windows Chrome浏览器 91+ Edge浏览器 80+ Android 微信内嵌浏览器(TBS内核) - 微信内嵌浏览器(XWEB内核) - 企业微信内嵌浏览器 - 移动版Chrome浏览器 91+ iOS 微信内嵌浏览器 iOS 14.3+ 微信6.5+版本 移动版Safari浏览器 -
-
操作步骤 在“欢迎入驻成为华为云合作伙伴”页面填写商业信息,单击“下一步”。 若贵公司已经是华为云合作伙伴,您无需再次注册,您可以关联该公司,成为华为云合作伙伴。 填写联系人信息,单击“下一步”。 填写敏感关系申报信息,单击“下一步”。 签署协议,请认真阅读以下协议内容并在方框内勾选确认,单击“提交认证”并确定入驻申请信息提交成功。 系统提示您成功入驻华为云合作伙伴。 您可以选择与华为云的合作方向,包括以下几种: 探索伙伴发展路径:您可以通过伙伴发展路径构建您的方案和能力,如: 软件伙伴发展路径 服务伙伴发展路径 学习与赋能伙伴发展路径 总经销商合作伙伴发展路径 加入伙伴计划:您可以通过伙伴计划营销推广您的产品与服务,如: 解决方案提供商计划 分销计划 云商店计划 合作伙伴能力计划 如果自动入驻未成功,系统将触发人工审核: 华为云会尽快审核您的入驻申请信息。 若您的入驻申请信息审核未通过,请根据审核未通过原因进行修改并重新提交认证。 成功入驻华为云合作伙伴体系后不支持退出HCPN。
-
产品价目表字段说明如下: 字段 说明 示例值 产品ID 云服务产品的唯一标识。 OFFI514702727422058496 产品名称 云服务产品的名称。 通用计算型_S6_1核1G_linux 按需 资源规格编码 云服务产品的资源规格编码。 s6.small.1.linux 资源规格描述 云服务产品的资源规格描述。 用于描述云服务所需资源的特征信息,一组属性和属性值域的集合,同一个资源类型的资源规格所包含的属性相同,但属性取值不同。 CPU核数:1核;内存值:1024MB;系统盘值:40GB;镜像类型:Linux;虚拟机类型:0 资源类型编码 云服务产品所属的资源类型编码。 hws.resource.type.vm 资源类型名称 云服务产品所属的资源类型名称。 云主机 计费模式 指消费云服务产品产生的计费模式,包括: ON_DEMAND:按需计费 ONE_TIME:一次性计费 PERIOD:包年/包月计费 ON_DEMAND 周期类型 指云服务包年/包月产品的使用周期类型,包括: YEAR:年 MONTH:月 WEEK:周 DAY:天 HOUR:小时 MONTH 状态 指云服务产品的销售状态,包括: ONSALE:在售 SUSPENDED:停售 RETIREMENT:退市 ONSALE 云服务区编码 云服务区域的独立编码,请参见地区和终端节点对应云服务的“区域”列的值。如果有多个,中间用“|”隔开。 la-south-2 区域 独立提供公有云服务资源、并服务于一个较大地理范围的云服务区域。 如果有多个,中间用“|”隔开,顺序和“云服务区编码”顺序一致。 AP-Singapore 产品类别 指云服务的产品类别,包括: COMMON:华为云通用云服务 HARDWARE:华为云硬件产品 SOFTWARE:华为云软件产品 COMMON 云服务类型编码 产品的云服务类型编码。如果有多个,中间用“|”隔开。 hws.service.type.ec2 云服务类型名称 产品的云服务类型名称。如果有多个,中间用“|”隔开,和“云服务类型编码”顺序一致。 弹性云服务器 产品归属类型编码 产品匹配的伙伴商务折扣归属的云服务类型编码。 hws.service.type.ec2 产品归属类型名称 产品匹配的伙伴商务折扣归属的云服务类型名称。如果有多个,中间用“|”隔开,和“产品归属类型编码”顺序一致。 弹性云服务器 线性产品 指云服务产品是否是线性产品,线性产品即包含一系列规格属性如卷大小或带宽大小等的产品。 Y:是线性产品 N:不是线性产品 N 线性属性编码 云服务线性产品的属性编码。 linearDisk 线性属性名称 云服务线性产品的属性名称。 磁盘大小 线性度量单位ID 云服务线性产品的度量单位ID。 17 线性度量单位名称 云服务产品的线性度量单位名称,和“线性度量单位ID”保持一致。 GB 可售卖周期 云服务产品的可售卖周期,如果有多个,中间用“|”隔开,和周期类型组合使用。 例如,周期类型为MONTH,则产品的可售卖周期为1个月至9个月。 1|2|3|4|5|6|7|8|9 定价 计划ID 云服务产品实施某个定价计划时,该计划的唯一标识。 PLAN506398831931318273 之前的定价计划ID 云服务产品之前所使用的定价计划唯一标识。 PLAN472256170757029889 使用量类型编码 云服务按需产品的使用量类型编码。 Duration 使用量类型名称 云服务按需产品的使用量类型名称,与使用量类型编码保持一致。 时长 使用量定价度量单位ID 云服务按需产品的用量定价度量单位ID。 4 使用量定价度量单位名称 云服务按需产品的用量定价度量单位名称,和“使用量定价度量单位ID”保持一致。 小时 使用量定价度量步长 云服务按需产品的用量定价度量步长,和“单价”组合使用。 例如,单价按时长计费,使用量定价步长为1时: 非线性产品,目前为1小时2.8元 线性产品,目前为1GB1小时2.8元 1 周期数 云服务包年/包月产品的周期数,和周期类型及单价组合使用。 例如,单击为按时长计费,周期类型为MONTH,周期数为1时: 非线性产品,目前为1月2.8元 为线性产品,目前为1GB1月2.8元 1 分档起始值 云服务产品的价格进行分档定价时的档位起始值。 1 分档起始度量单位ID 云服务产品的价格进行分档定价时的档位度量单位ID。 仅产品进行分档定价时存在。 10 分档起始度量单位名称 云服务产品分档定价时的分档度量单位名称,仅产品进行分档定价时存在。 和“分档起始度量单位ID”保持一致。 次 分档结束值 云服务产品分档定价时的分档结束值,仅产品进行分档定价时存在。 10 分档结束度量单位ID 云服务产品分档定价时的分档度量单位ID,仅产品进行分档定价时存在。 20 分档结束度量单位名称 云服务产品分档定价时的分档度量单位名称,仅产品进行分档定价时存在。 和“分档结束度量单位ID”保持一致。 分钟 单价 云服务产品计费时的单价,单位:元。 2.8 币种 云服务产品计费时使用的币种,CNY。 CNY 生效时间 云服务产品定价的生效时间。 2020/08/29 09:28:10 GMT+00:00 失效时间 云服务产品定价的失效时间。 2099/01/01 00:00:00 GMT+00:00 分档模式类型 指云服务产品价格的分档模式,包括: SIMPLE:直接根据话单中的用量进行分档批价(对每条话单中的用量分档) ACCUMULATE:根据一定周期内多条话单累积的用量进行分档的模式(对多条话单的累计量分档) SIMPLE 分档类型 指云服务产品的价格按类别进行分档,包括: STEP:将用量按区间进行划分,分别计算每个区间的资费,最后得到一个费用的总和(举例:用户使用带宽流量不超过500MB的费率为0.1元/MB,超过500MB的部分的费率0.08元/MB。如果用户累计使用带宽流量800MB,则总费用为500*0.1+300*0.08=74元)。 TIER:当用量达到某一个区间时,按照其当前所在的区间的费率进行批价。此时不需要考虑前面区间的单费率(举例:用户使用带宽流量不超过500MB的费率为0.1元/MB,超过500MB的部分的费率0.08元/MB。如果用户累计使用带宽流量800MB,则总费用为800*0.08=64元)。 STEP 分档依据类型 指云服务产品价格的分档依据,包括: USAGE_VALUE:根据话单中的使用量进行分档计算 SPEC_VALUE:根据资源规格属性值进行分档 USAGE_VALUE 分档规格属性 指云服务产品价格分档时的规格属性,包括: BANDW IDT H:带宽大小 CAPACITY:存储大小 COUNT:个数/次数 BANDWIDTH 触发计费的动作类型 指客户使用云服务产品时触发计费的动作,包括: RATE:费率动作(默认) ONE_OFF_RATE:一次性动作 RATE
-
预算控制 为防止客户过度消费,华为云解决方案提供商可以为转售类客户设置月度预算,用于管理客户每月新增消费金额。 月度预算基于客户每月新增官网价消费金额累计,次月客户预算自动恢复。华为云解决方案提供商可在客户详情中查看客户月度预算使用情况。 如果客户消费超出一定的预算比例,华为云解决方案提供商会收到预警通知。伙伴可选择调整客户月度预算,或者对客户采取冻结措施,冻结后客户无法新购、续订、变更资源;已开通资源可能无法正常操作,但仍会产生费用。 如果客户消费超出预算,华为云会自动限制客户购买新的包月、包年、预留实例订单,但不会限制客户开通按需资源。如需限制客户按需资源的开通,需要华为云解决方案提供商对客户采取冻结措施。 客户与伙伴建立关联关系后,账号默认为冻结状态。解决方案提供商需要为客户设置预算并解除账号冻结,客户才能正常消费。 华为云伙伴服务中心名下解决方案提供商关联的客户的月度预算设置、账号冻结解冻等操作由华为云伙伴服务中心操作。
-
伙伴账单 华为云在北京时间每月5号12:00前会生成上个月伙伴账单、账单明细和发票,伙伴基于该账单与华为云进行结算。 查看账单明细字段说明请参见账单明细说明。还款请参见还款。 转售类客户关联伙伴期间的消费计入伙伴账单,关联伙伴之前的消费仍由客户自己还款。 解决方案提供商的月度账单明细中包含每个客户消费的详细记录,伙伴可以基于账单明细对客户进行批价,生成转售类客户的账单,与转售类客户进行结算,并为转售类客户开具发票。 解决方案提供商与转售类客户的结算规则由解决方案提供商自行定义。
-
响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 error Error object 响应错误 result FileContentInfo object 文件详情 status String 响应状态 表5 Error 参数 参数类型 描述 code String 错误码 message String 错误信息 表6 FileContentInfo 参数 参数类型 描述 file_name String 文件名 file_path String 文件路径 size Integer 文件大小 encoding String 文件编码 content_sha256 String sha256编码的文件内容 ref String 分支名 blob_id String blob sha commit_id String 提交对应的SHA id last_commit_id String 最后一个提交对应的SHA id content String base64编码的文件内容
-
URI GET /v2/projects/{repo_id}/repository/files/{file_path} 表1 路径参数 参数 是否必选 参数类型 描述 repo_id 是 Integer 仓库短id file_path 是 String Url编码的新文件的完整路径。 表2 Query参数 参数 是否必选 参数类型 描述 ref 是 String commit id,仓库的branch名或tag名
-
响应示例 状态码: 200 OK { "result" : { "size" : 9, "encoding" : "base64", "ref" : "master", "content" : "NDU0NTQ1NDQ1", "file_name" : "README.md", "file_path" : "README.md", "content_sha256" : "e16f4f6c41a79d120484774a625bea8a3c3dcb655aa7c7e793ac48639dc63944", "blob_id" : "3325fa3142fd66fedc8c3a5218b417f561e0ea2f", "commit_id" : "a772945ec2765e322cc83e0f467f394effa22cf3", "last_commit_id" : "a772945ec2765e322cc83e0f467f394effa22cf3" }, "status" : "success" }
-
示例2:A向B转账 执行如下命令,A向B转账,金额为10。 ./appdemo transaction -u A -p XXXXXXA -b b22edf18d64f57954640c8f3f6cf67d9401f262daead588ddfe8178xxxx -t 10 -c ./test-sdk-config.yaml -C tongtai -I idchaincode -T transaction -o aa73c757c9026fb623495d7058ca177f6152bcea 其中-b后的参数为接收方的地址。示例中为注册B用户时的返回值,即B用户注册数据的地址信息。 返回值为A账户的地址:2efc4639bc281060ce013dfea33a47b647b6f4a20103a6321c33d67d5xxxx
-
示例3:查询账户余额 执行如下命令查询A账户的余额,返回值为A账户余额。 ./appdemo querybalance -p XXXXXX -u A -c ./test-sdk-config.yaml -C tongtai -I idchaincode -T transaction -o aa73c757c9026fb623495d7058ca177f6152bcea 执行如下名查询B账户的余额,返回值为B账户余额。 ./appdemo querybalance -p XXXXXX -u B -c ./test-sdk-config.yaml -C tongtai -I idchaincode -T transaction -o aa73c757c9026fb623495d7058ca177f6152bcea
-
示例1:注册账户 执行如下命令注册B账户,账户金额为100。 ./appdemo register -u B -p XXXXXX -i 100 -c ./test-sdk-config.yaml -C tongtai -I idchaincode -T transaction -o aa73c757c9026fb623495d7058ca177f6152bcea -u:为注册的用户名B、-p:为B用户密码XXXXXX,密码必须包含大写、小写、数字、特殊字符中的至少两种,-c:为sdk配置文件名,-C:为安装链代码的通道名,-I:为安装示例链代码IDChaincode的实际安装链代码名,-T:为安装示例链代码Transaction的实际安装链代码名,-o:为peer节点组织的ID,可在通道管理界面查询。参数下同。 返回值为一串加密地址,示例: b22edf18d64f57954640c8f3f6cf67d9401f262daead588ddfexxxxx 以相同的方法注册A账户,账户金额为200。 ./appdemo register -u A -p XXXXXX -i 200 -c ./test-sdk-config.yaml -C tongtai -I idchaincode -T transaction -o aa73c757c9026fb623495d7058ca177f6152bcea 返回值为一串加密地址,示例: 2efc4639bc281060ce013dfea33a47b647b6f4a20103a6321c33dxxxxxx
-
示例5:测试同态乘法 执行如下命令测试同态乘法。 ./appdemo homomulti -c ./test-sdk-config.yaml -a 100 -b 5 -C tongtai -T transaction -o aa73c757c9026fb623495d7058ca177f6152bcea 其中-a和-b后的参数为进行同态乘的乘数和被乘数,其中-a后的参数会被加密,-b后的参数是明文。
-
链代码接口 链代码启动必须通过调用shim包中的start方法。实际开发中, 您需要自行定义一个类,来继承ChaincodeBase。以下为继承时必须重写的方法: public class SimpleChaincodeSimple extends ChaincodeBase { @Override public Response init(ChaincodeStub stub) { } @Override public Response invoke(ChaincodeStub stub) { } } init方法:在链代码实例化或升级时被调用,完成初始化数据的工作。 Invoke方法:更新或查询账本数据状态时被调用, 需要在此方法中实现响应调用或查询的业务逻辑。
-
链代码结构 Java语言的链代码结构如下: package main // 引入必要的包,系统自动操作,只要在maven或gradle中配置即可 import org.hyperledger.fabric.shim.ChaincodeBase; import org.hyperledger.fabric.shim.ChaincodeStub; public class SimpleChaincodeSimple extends ChaincodeBase { @Override public Response init(ChaincodeStub stub) { // 在该方法中实现链代码初始化或升级时的处理逻辑 // 编写时可灵活使用stub中的API } @Override public Response invoke(ChaincodeStub stub) { // 在该方法中实现链代码运行中被调用或查询时的处理逻辑 // 编写时可灵活使用stub中的API } //主函数,需要调用shim.Start()方法 public static void main(String[] args) { new SimpleChaincode().start(args); } }
-
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不同,使用时请注意。
-
Token 认证 在计算机系统中,Token代表令牌(临时),拥有Token就代表拥有某种权限。Token认证就是调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 云服务存在两种部署方式: 项目级服务:项目级服务需要获取项目级别的Token,此时请求body中auth.scope的取值为project。 全局级服务:全局级服务需要获取全局级别的Token,此时请求body中auth.scope的取值为domain。 调用本服务API需要项目级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333 。
-
概述 欢迎使用消息&短信服务(Message & SMS )。消息&短信服务是华为云携手全球多家优质运营商和渠道,为企业用户提供的优质通信服务。它操作简单,使用灵活,为您提供一致、稳定的体验。企业调用API或使用群发助手,即可使用验证码、通知短信服务。 本文提供了消息&短信API的描述、参数说明及示例等内容,带您一步一步使用消息&短信服务API。 全部API操作指引,请参见API概况。 在调用API前,请确保您已经充分了解消息&短信相关概念,详细信息请参见消息&短信产品介绍。 如有任何疑问,请联系华为云智能客服,将有专人为您解答。 父主题: 使用前必读
-
响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2022-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "XXXXXX", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error": { "code": "111400060", "message": "instance name exists." } }
-
短信API测试过程中,因达到发送频率限制,测试手机号不能接收短信,该怎么办? 可以等待一个频次限制周期,待发送频率自动解除后重试,短信发送频率限制如下表所示: 限制项 短信类型 限制频率 说明 号码频次 验证码 2次/分钟 任意1分钟内,对同一个手机号码发送短信最多2次,超出次数会被限制。 50次/24小时 任意24小时内,对同一个手机号码发送短信最多50次,超出次数会被限制。 通知 10次/分钟 任意1分钟内,对同一个手机号码发送短信最多10次,超出次数会被限制。 50次/24小时 任意24小时内,对同一个手机号码发送短信最多50次,超出次数会被限制。 推广 4次/1小时 任意1小时内,对同一个手机号码发送短信最多4次,超出次数会被限制。 推广短信发送时间为每日8:00 - 22:00,夜间无法发送。 10次/24小时 任意24小时内,对同一个手机号码发送短信最多10次,超出次数会被限制。 推广短信发送时间为每日8:00 - 22:00,夜间无法发送。 同号同内容管控 验证码/通知/推广 2次/59秒 任意59秒内,对同一个手机号码发送同一短信(内容完全相同)最多2次,超出次数会被限制。 5次/59分钟 任意59分钟内,对同一个手机号码发送同一短信(内容完全相同)最多5次,超出次数会被限制。 父主题: 故障排除
-
手机回复“R”被加入了退订黑名单?如何恢复? 因为模板规范要求,推广短信必须添加退订方式,支持回复“R”进行短信退订回复。 当短信的接收用户针对该短信的通道号(签名)回复“R”退订时,华为平台会将该用户号码加入退订黑名单,即通过该通道号(签名)下发的推广短信不会再发送到该用户号码。 如果需要解除退订黑名单(如SC:0016),请记录签名名称、通道号、用户号码等信息联系华为云客服解除。 父主题: 故障排除
-
短信封禁规则 消息&短信服务会针对用户发送的短信内容进行审核,防范在短信中出现违反国家法律法规内容。 序号 违规行为定义 违规性质 处理方式 1 下发短信中不含有签名,或与报备签名不符合 一般 以正式邮件的方式进行提醒并要求整改,连续三次提醒未按要求整改,直接关停账号业务 2 营销短信业务未提前报备通过,在每天22:00至次日8:00时间段内发送 一般 以正式邮件的方式进行提醒并要求整改,连续三次提醒未按要求整改,直接关停账号业务。 3 营销短信业务未提供明确退订方式 一般 以正式邮件的方式进行提醒并要求整改,连续三次提醒未按要求整改,直接关停账号业务。 4 向最终用户提供短信服务前未经最终用户同意 严重 暂停账号业务,以正式邮件的方式进行警告要求整改,确认整改好再恢复账号业务,再次出现直接关停。 5 下发短信内容和报备内容不符 严重 暂停账号业务,以正式邮件的方式进行警告要求整改,确认整改好再恢复账号业务,再次出现直接关停。 6 用行业通道发送营销短信内容(含前面是行业短信或验证码,后面附带营销推广内容的,算营销短信) 严重 暂停账号业务,以正式邮件的方式进行警告要求整改,确认整改好再恢复账号业务,再次出现直接关停。 7 发送内容产生投诉且为有效投诉,月投诉率达到百万分之0.25 严重 暂停账号业务,以正式邮件的方式进行警告要求整改,确认整改好再恢复账号业务,再次出现直接关停。 8 经查证发送内容为官网明确禁止发送类短信 重大 关停账号业务。 9 发送内容产生投诉且为有效投诉,月投诉率达到百万分之0.4 重大 关停账号业务。
-
防盗刷限制 功能定义 功能指引 短信盗刷是指通过恶意程序或工具,在短时间内,给单个或多个手机号码发送大量无效短信,造成短信轰炸和用户骚扰。 您可使用消息&短信服务提供的流量阈值管理功能,当短信发送总量超过设定限额数值,平台会自动帮您暂停发送短信,降低因客户自身业务被盗刷短信等引起的损失。 系统设置了默认预警值与限额值,初次使用请根据业务需要,参考通用设置修改预警值与限额值。 验证码短信盗刷是指利用短信资源中验证码获取功能,通过恶意程序或工具批量对单个或者多个号码进行验证码重复请求提交。 您也可加上图形验证码,当用户进行短信发送操作前,要求用户输入图形验证码,可防范短信盗刷攻击问题。
共100000条
- 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
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- ...
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333
推荐文章