区域 API

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

    参数说明

    —Action

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

    —RegionName

    指定区域名称。

    请求元素

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

    —RegionConfiguration

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

    —DataCSShardingType

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

    类型:String

    有效值:year|quarter|month

    默认值:year

    —DataCLShardingType

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

    类型:String

    有效值:year/quarter/month

    默认值:quarter

    —DataCSRange

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

    类型:Int

    —DataDomain

    类型: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.  
    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

    获取一个区域的配置。

    请求语法

    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. <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. <Buckets>
    13. <Bucket>bucketname1</Bucket>
    14. <Bucket>bucketname2</Bucket>
    15. </Buckets>
    16. </RegionConfiguration>

    删除一个区域。

    请求语法

    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. 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>

    查询区域是否存在

    请求语法

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