云服务器内容精选

  • 出现创建表失败报错 问题: 创建表时,出现非参数错误导致的创建表失败报错400,错误信息为InvalidRequest(无效请求)。 解决办法: 直接调用API创建表接口时出现创建表失败报错,通过describe-table查询表状态(table_status)进入“creating”中间态后,请重新下发完全相同的创建表请求(表名与其他参数均保持不变)进行重试,即可成功创建该表。 通过KVS控制台创建表时出现创建表失败报错,请重新创建表(表名与其他参数均保持不变),即可成功创建该表。 父主题: KVS操作类问题
  • 出现“客户端与服务器的时间相差15分钟”的报错 问题: 使用OBS时出现报错“客户端与服务器的时间相差大于15分钟”或“The difference between the request time and the current time is too large”。 原因: 出于安全目的,KVS会校验客户端与KVS服务器的时间差,当该时间差大于15分钟时,KVS服务器会拒绝您的请求,从而出现此报错。 解决办法: 请根据本地UTC时间调整本地时间后再访问。 父主题: KVS控制台使用类问题
  • SDK列表 表1提供了KVS服务支持的SDK列表,您可以在GitHub仓库查看SDK更新历史、获取安装包以及查看指导文档。 表1 SDK列表 编程语言 Github地址 参考文档 Java huaweicloud-sdk-java-v3 Java SDK使用指导 Go huaweicloud-sdk-go-v3 Go SDK使用指导 C++ huaweicloud-sdk-cpp-v3 C++ SDK使用指导 用户购买 VPC终端节点 ,创建内网 域名 ,内网域名即用户使用SDK访问KVS过程中使用到的终端节点。
  • KV限制 KV类型包含字符串、布尔值、空值、浮点数、数组、映射、日期和ObjectId,对于这些类型的KV,一条KV的key和value之和最大为512KB,包含主键和本地二级索引。 字段名称长度范围为1-63个字节,大小写敏感,不支持“.”和“$”。“X”字符为前缀的字段名称为系统预留字段名称,目前系统预留字段名称包括“Xattr”和“Xblob”,不建议您使用作为字段名。 主键总长不超过1200个字节,且主键必须唯一。 使用API请求方式访问的KV,只能属于一个存储仓。 一个KV一定归属于某个表。 仓+表+主键可以唯一定位一条KV。
  • 什么是区域、可用区? 区域和可用区用来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。更多信息请参见华为云全球站点。
  • 键值存储服务基本概念 存储仓(Store) 存储仓,简称仓,是用来存储表数据的单元。用户可以根据自己的业务系统划分,创建不同的仓。 表(Table) 表是用来存储键值数据的集合,归属于某个仓。用户可以在一个仓中创建多个表,用来储存键值数据。通过本地二级索引和全局二级索引可以快速而准确地检索到表中的键值数据。 KV(Key-Value) 键值数据(Key-Value),简称KV,是文档型的数据项,提供主键到Value的映射。KV数据存储在表中。 分区键和排序键 分区键:分区键是一个表的属性,用于确定该表中的每一个KV存储所在的分区。例如,对于一个用户表,可以指定用户名属性作为分区键。 KVS会根据此用户名的名称(KV)选择分区,同样的用户名名称存储在同一个分区。 排序键:排序键是一个表的属性,该表中的KV会根据排序键进行排序以后存储。查询数据时,您可以按照排序键输出数据。 创建表时,除表名称外,您还必须指定表的主键。主键唯一标识表中的每个KV,因此,任意两个KV的主键都不相同。KVS支持两种不同类型的主键: 简单主键:由分区键构成。 复合主键:由分区键和排序键组合构成。 索引 索引是用来辅助查询表中的KV数据,能够加速键值检索,准确访问键值数据。KVS提供本地二级索引和全局二级索引。 本地二级索引:对于复合主键(分区键+排序键)的表,支持创建本地二级索引,实现分区键下的多个键值的辅助索引。键值写入时,自动生成并存储本地二级索引记录,并保证键值与本地二级索引记录的强一致。 全局二级索引:表支持创建非主键字段的全局检索,全局二级索引只保存索引记录,不保存完整键值内容。键值写入时,自动生成索引记录,并异步写入全局二级索引,键值与全局二级索引记录为最终一致。 关于存储仓、表、KV、索引之间的关系,如图1所示。 图1 KVS基本概念之间的关系 父主题: 基本概念
  • 访问方式 云服务平台提供的Web化的服务管理平台,即管理控制台、基于HTTPS请求的API(Application programming interface)管理方式以及SDK方式均可访问键值存储服务。 API方式 如果用户需要将云服务平台上的键值存储服务集成到第三方系统,用于二次开发,请使用API方式访问键值存储服务,具体操作请参见《键值存储服务API参考》。 管理控制台方式 其他相关操作,请使用管理控制台方式访问键值存储服务。 如果用户已注册,可直接登录管理控制台,从主页选择“键值存储服务 KVS”。如果未注册,请参见 注册华为账号 并开通华为云并完成实名认证。 SDK方式 KVS提供Java、C++等主流语言,帮助用户使用SDK完成二次开发,使用SDK方式访问键值存储服务,具体操作请参见《键值存储服务SDK参考》。
  • KVS简介 键值存储服务(Key-Value Storage Service,KVS)主要面向游戏、大数据、互联网等业务场景提供完全托管的键值存储及索引服务,主要用于应用的键值类数据(如:元数据、描述数据、管理参数、状态数据)的存储,提供可预测的性能和无缝扩展,无需进行分区管理、硬件预置、集群扩展等操作。 使用KVS创建一个存储仓,在存储仓中创建一个或多个表,来存储和检索任意规模的数据。 虽然KVS服务支持您将数据同步到华为云键值存储指定Region的存储仓里,但是华为云并不感知您对象的具体内容。如果您的行为涉及跨境传输,请您确保使用本服务符合所适用的法律法规要求。
  • 产品架构 KVS产品结构请参考图1。通过和其他产品、服务组合,KVS可以实现如下功能: CES 实时采样KVS监控指标,提供及时有效的资源信息监控告警,支持配置监控告警,告警通知随时触发随时响应。 使用KVS在某个区域可以创建多个仓,在仓中可以创建多个表,在表中可以存储键值(Key-Value,简称KV)数据。 KVS提供本地二级索引、全局二级索引,帮助您快速检索表中的键值数据,实现快速且准确访问。 图1 KVS产品架构
  • 分区键和排序键有什么区别? 分区键和排序键之间的对比如表1所示 表1 分区键、排序键对比 对比维度 分区键 排序键 应用场景 分区键用于确定该表中的每一个KV所在的分区。例如,对于一个用户表,可以指定用户名属性作为分区键。 KVS会根据此用户名的名称(KV)选择分区,同样的用户名名称存储在同一个分区。 表中的KV会根据排序键进行排序以后存储。查询数据时,您可以按照排序键输出数据。 支持主键 简单主键(分区键)和复合主键(分区键和排序键)。 复合主键(分区键和排序键)。 父主题: KVS概念类问题
  • 本地二级索引与全局二级索引有什么区别? 本地二级索引和全局二级索引之间的对比如表1所示。 每个索引属于一个表,该表称为索引的主表。 表1 本地二级索引、全局二级索引对比 对比维度 本地二级索引 全局二级索引 概念 对于复合主键(分区键+排序键)的表,支持创建本地二级索引,实现分区键下的多个键值的辅助索引。 表支持创建非主键字段的全局检索,全局二级索引只保存索引记录,不保存完整键值内容。 应用场景 创建一个用户运动信息统计表,此表包含属性:用户名、所在城市、运动时长、运动日期、热量消耗。 主索引的分区键为用户名,排序键为运动时长;本地二级索引的排序键为运动日期,通过该索引可快速查询某一天的运动时长最长或最短的用户信息。 创建一个用户运动信息统计表,此表包含属性:用户名、所在城市、运动时长、运动日期、热量消耗。 主索引的分区键为用户名,排序键为运动时长;全局二级索引的分区键为所在城市,排序键为热量消耗,由于主键字段会投影到全局二级索引的键值中,即全局二级索引记录中包含用户名和运动时长的信息,通过该索引可快速查询到在某城市热量消耗最多或者最少的用户信息。 键架构 复合主键(分区键和排序键)。 简单主键(分区键)或复合主键(分区键和排序键)。 特点 分区键与主表相同但排序键不同。 分区键和排序键可与主表中的对应键不同。 一致性 KV写入时,自动生成并存储本地二级索引记录,并保证KV写入与本地二级索引记录的强一致。 KV写入时,自动生成索引记录,并异步写入全局二级索引,KV写入与全局二级索引记录为最终一致。 创建数量 一个表最多支持创建5个本地二级索引。 一个表最多支持创建20个全局二级索引。 父主题: KVS概念类问题
  • 操作步骤 登录KVS管理控制台。 在KVS管理控制台左侧导航栏选择“仓”,进入存储仓列表。 单击仓名进入要更新KV的仓,单击表名进入要更新KV的表。 选择“KV信息”页签。 找到要更新的KV,在右侧操作列,单击“编辑”,进入KV属性表单。 图1 “编辑”界面 修改KV属性。注意,您只能修改除分区键和排序键以外的属性名称和属性的值。 修改完成后,单击右下角的“确定”,完成KV更新。 查看KV列表,检查KV信息是否为最新值,如果是最新值则更新KV成功。
  • 约束与限制 单个存储仓下可以创建的表数量不超过100个。 一个表一定归属于某个存储仓。 一个主表仅支持创建1个分区键和1个排序键。 表的名称长度范围为3-52个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”、“_”组成,且表的名称在存储仓内唯一。 为表命名时字母大小写敏感。例如,某存储仓内已存在表exampletable,如果您再创建表ExampleTable,系统会认定为不同的表名,可以成功创建表。
  • 约束与限制 存储仓的名称长度范围为16-52个字符,由数字0-9、字符a-z、A-Z,及特殊符“-”组成,“-”不能出现在名字头部或尾部。仓名称全域唯一,不同租户的仓名不能相同。存储仓的命名规范为{用户自定义前缀}-{当前控制台所在区域的区域名}-{账号ID} ,例如:exampleprefix-cn-north-4-exampledomainid。 为存储仓命名时字母大小写不敏感。例如,KVS已存在存储仓exampleprefix-cn-north-4-exampledomainid,如果您再创建存储仓Exampleprefix-cn-north-4-exampledomainid,系统会认定为同一种仓名,导致创建存储仓失败。 单个账号支持创建的存储仓数量不超过25个。
  • 操作步骤 登录KVS管理控制台。 在KVS管理控制台左侧导航栏选择“仓”,进入存储仓列表。 单击仓名进入要插入KV的仓,单击表名进入要插入KV的表。 选择“KV信息”页签。 单击左上角的“插入KV”。 图1 “插入KV”界面 填写必选属性的属性值,即KV分区键和排序键的值。 【可选】如果您除了分区键和排序键外,还需要新增其他属性,可以单击“添加字段”选择KV类型,自定义属性和属性值。KV类型支持选择字符串、布尔值、空值、浮点数、数组、映射、二进制、日期和ObjectId。 所有属性和属性值填写完成后,单击右下角的“确定”,完成KV插入。 查看KV列表,检查新插入的KV是否在列表中,KV存在则插入成功,KV不存在则插入失败。