区域 API

本章介绍区域相关接口。

Create Region

增加一个区域或更新区域配置。 创建区域时可对区域内数据存储位置进行配置,即指定集合空间的生成方式,生成方式分为指定模式和自动创建模式。不能够同时指定两种模式,更新区域配置是也不能修改模式,更新区域配置只能够修改自动创建模式下的集合空间生成规则。

请求语法

  1. POST /region/?Action=CreateRegion&RegionName={regionname} HTTP/1.1
  2. Host: ip:port
  3. Content-Length: length
  4. Date: date
  5. Authorization: authorization string
  6. <RegionConfiguration>
  7. <DataCSShardingType>year</DataCSShardingType>
  8. <DataCLShardingType>month</DataCLShardingType>
  9. <DataDomain>domain1</DataDomain>
  10. <MetaDomain>domain2</MetaDomain>
  11. </RegionConfiguration>

参数说明

--Action

固定为CreateRegion,表示该操作为创建一个区域。

--RegionName

指定区域名称。

请求元素

在请求消息体中使用XML形式指定区域的配置。

--RegionConfiguration

容器,包含区域配置内容。

--DataCSShardingType

对象数据集合空间的生成规则,按照设定的时间生成指定的集合空间。

类型:String

有效值:year|quarter|month

默认值:year

--DataCLShardingType

对象数据集合的生成规则,按照设定的时间生成指定的集合。

类型:String

有效值:year/quarter/month

默认值:quarter

--DataCSRange

对象数据集合的生成规则,在设定时间段内能够生成的集合空间数量。

类型:Int

--DataDomain

对象数据集合空间所属域,域必须已在SequoiaDB中定义,如果不填写域名称,则对象数据集合空间建立在系统域上。

类型:String

--DataLobPageSize

对象数据集合空间的LobPageSize。

有效值:0,4096,8192,16384,32768,65536,131072,262144,524288之一,0即为默认值262144。

默认值:262144

--DataReplSize

对象集合的ReplSize,写操作同步的副本数。

有效值:-1, 0, 1-7

默认值:-1.

--MetaDomain

元数据集合空间所属域,域必须已在SequoiaDB中定义,若不填写,则元数据集合空间建在系统域上。

类型:String

--DataLocation

指定模式:对象数据的集合空间.集合名称,如 CS.CL

类型:String

--MetaLocation

指定模式:元数据的集合空间.集合名称,如 CS.CL

类型:String

--MetaHisLocation

指定模式:历史元数据的集合空间.集合名称,如 CS.CL

类型:String

样例

创建区域的请求,指定对象数据集合空间和元数据集合空间的域,指定对象数据集合空间和对象数据集合的生成规则。

  1. POST /region/?Action=CreateRegion&RegionName=region1 HTTP/1.1
  2. Host: ip:port
  3. Content-Length: length
  4. Date: date
  5. Authorization: authorization string
  6. <RegionConfiguration>
  7. <DataCSShardingType>year</DataCSShardingType>
  8. <DataCLShardingType>month</DataCLShardingType>
  9. <DataDomain>domain1</DataDomain>
  10. <MetaDomain>domain2</MetaDomain>
  11. </RegionConfiguration>

响应

  1. HTTP/1.1 200 OK
  2. Date: date
  3. Content-Length: 0

GetRegion

获取一个区域的配置。

请求语法

  1. POST /region/?Action=GetRegion&RegionName={regionname} HTTP/1.1
  2. Host: ip:port
  3. Date: date
  4. Authorization: authorization string

参数说明

--Action

固定为GetRegion,表示该操作为删除一个区域。

--RegionName

指定区域名称。

样例

查询一个区域的配置信息。

  1. POST /region/?Action=GetRegion&RegionName=region1 HTTP/1.1
  2. Host: ip:port
  3. Date: Wed, 12 Oct 2009 17:50:00 GMT
  4. Authorization: authorization string

响应

  1. <RegionConfiguration>
  2. <Name>region1</Name>
  3. <DataCSShardingType>year</DataCSShardingType>
  4. <DataCLShardingType>month</DataCLShardingType>
  5. <DataCSRange>1</DataCSRange>
  6. <DataDomain>domain1</DataDomain>
  7. <MetaDomain>domain2</MetaDomain>
  8. <DataLobPageSize>262144</DataLobPageSize>
  9. <DataReplSize>-1</DataReplSize>
  10. <DataLocation/>
  11. <MetaLocation/>
  12. <MetaHisLocation/>
  13. <Buckets>
  14. <Bucket>bucketname1</Bucket>
  15. <Bucket>bucketname2</Bucket>
  16. </Buckets>
  17. </RegionConfiguration>

DeleteRegion

删除一个区域。

请求语法

  1. POST /region/?Action=DeleteRegion&RegionName={regionname} HTTP/1.1
  2. Host: ip:port
  3. Date: date
  4. Authorization: authorization string

参数说明

--Action

固定为DeleteRegion,表示该操作为删除一个区域。

--RegionName

指定区域名称。

样例

删除一个区域的请求

  1. POST /region/?Action=DeleteRegion&RegionName=region1 HTTP/1.1
  2. Host: ip:port
  3. Date: date
  4. Authorization: authorization string

响应

  1. HTTP/1.1 204 No Content
  2. Date: date

ListRegions

查询区域列表,可以查询当前系统中所有区域名称。

请求语法

  1. POST /region/?Action=ListRegions HTTP/1.1
  2. Host: ip:port
  3. Date: date
  4. Authorization: authorization string

参数说明

--Action

固定为ListRegions,表示该操作为查询区域列表。

结果解析

查询结果以XML形式在响应消息头中显示。

--ListAllRegionsResult

容器,包含一个到多个Region。

--Region

区域名称。

样例

查询区域列表的响应。

  1. <ListAllRegionsResult>
  2. <Region>region1</Region>
  3. <Region>region1</Region>
  4. <Region>region1</Region>
  5. </ListAllRegionsResult>

HeadRegion

查询区域是否存在

请求语法

  1. POST /region/?Action=HeadRegion&RegionName={regionname} HTTP/1.1
  2. Host: ip:port
  3. Date: date
  4. Authorization: authorization string

样例

  1. HTTP/1.1 200 OK
  2. Date: date