datastores


URI

<managerRoot_uri>/datastores.<format>]

支持的方法

GETPOSTHEAD

父资源

managerRoot

子资源

datastore

介绍

datastores 资源表示已注册到 iServer 的数据存储的列表。注册数据存储参考注册数据

支持的方法:

支持的表述格式:RJSON、JSON、HTML、XML。

资源层次

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。

http://supermapiserver:8090/iserver/manager/datastores.rjson

GET 请求

获取已注册的数据存储列表。

请求参数

响应结构

对 datastores 资源执行 GET 请求,返回的是一个存储配置信息集合,其中数据存储配置信息的表述的结构如下:

名称 类型 含义
dataStoreInfo DataStoreInfo 数据存储配置信息。不同类型的数据存储其描述信息的表述结构也有所不同,具体如下:
  • 分布式切片库:
    • database:iServer管理员自行指定的存储 ID,用于标识数据库
    • datastoreType:数据存储类型为 TILES
    • serverAdresses:数据库的服务地址
    • type:数据库类型,包括MongoDB、OTS、FastDFS
    • username:当前数据库的用户名
    • password:数据库密码
  • 大数据文件共享:
    • commonsCSVMetaData:数据元信息
    • datasets:注册目录中包含的数据集
    • datastoreType:数据存储类型为 BIGDATAFILESHARE
    • name:iServer管理员自行指定的存储 ID,用于标识数据存储
    • type:大数据文件共享类型,包括文件目录和 HDFS 目录
    • url:目录地址
    • userName:当注册了 HDFS 目录时,此参数表示 HDFS 用户名
    • encode:文件编码格式
  • 空间数据库:
    •  connectionInfo:数据库服务的连接信息
    •  datasets:该空间数据库中存储的数据集
    •  datastoreType:数据存储类型为 SPATIAL
    •  editable:是否允许编辑
    •  name:数据库名称
    •  type:数据库类型,包括HBASE、HDFS、ORACLEPLUS、POSTGRESQL和POSTGIS
    • HBaseKerberosSetting :HBase 集群开启 Kerberos 认证设置
      • coreXml:HBase 集群开启 Kerberos 认证模式下,hadoop core-site.xml配置文件位置
      • hbaseXml:HBase 集群开启 Kerberos认证模式下,HBse hbase-site.xml配置文件位置
      • hdfsXml:HBse 集群开启 Kerberos 认证模式下,HDFS hdfs-site.xml配置文件位置
      • jaasConfPath:jaas 配置文件路径
      • krb5ConfPath:HBase 集群开启 Kerberos 认证模式下,Kerberos 客户端配置文件位置
      • userKeytabPath:秘钥文件路径
      • userPrincipal:主体名称
    • HdfsKerberosSetting:HDFS 开启 Kerberos 认证设置
      • authentication:HDFS 集群 Kerberos 认证是否以被开启
      • krb5ConfPath:HDFS 集群开启 Kerberos 认证模式下,Kerberos 客户端配置文件位置
      • userKeytabPath:HDFS 集群开启 Kerberos 认证模式下,Kerberos 用户主体名称对应的秘钥文件位置
      • userPrincipal:HDFS 集群开启 Kerberos认证模式下,Kerberos 用户主体名称
id String 数据存储的唯一标识

 

响应示例

对 datastores 资源:http://supermapiserver:8090/iserver/manager/datastores.rjson 执行 GET 请求,返回的数据存储配置信息如下:

[

    {

        "dataStoreInfo": {

            "database": "smtiles",

            "datastoreType": "TILES",

            "password": "",

            "serverAdresses": ["192.168.17.116:27017"],

            "type": "MongoDB",

            "username": ""

        },

        "id": "smtiles"

    },

    {

        "dataStoreInfo": {

            "commonsCSVMetaData": {

                "firstRowIsHead": false,

                "prjCoordsys": -1,

                "separator": ",",

                "xIndex": -1,

                "yIndex": -1

            },

            "datasets": [

                {

                    "available": true,

                    "firstRowIsHead": false,

                    "name": "ProcessingData_newyork_taxi_2013-01_14k",

                    "prjCoordsys": -1,

                    "separator": ",",

                    "type": "CSV",

                    "url": "E:\\data\\ProcessingData\\newyork_taxi_2013-01_14k.csv",

                    "xIndex": 10,

                    "yIndex": 11

                },

                {

                    "available": true,

                    "bounds": null,

                    "datasetName": null,

                    "datasetType": null,

                    "epsgCode": 0,

                    "name": "ProcessingData_zone_zone",

                    "readOnly": false,

                    "type": "UDB",

                    "url": "E:\\data\\ProcessingData\\zone.udb"

                }

            ],

            "datastoreType": "BIGDATAFILESHARE",

            "name": "ProcessingData",

            "type": "FOLDER",

            "url": "E:\\data\\ProcessingData",

            "userName": null

        },

        "id": "ProcessingData"

    },

    {

        "dataStoreInfo": {

            "connectionInfo": {

                "alias": null,

                "connect": false,

                "dataBase": "postgres",

                "driver": null,

                "engineType": "POSTGRESQL",

                "exclusive": false,

                "openLinkTable": false,

                "password": "12369874",

                "readOnly": false,

                "server": "192.168.17.116",

                "user": "postgres"

            },

            "datasets": [],

            "datastoreType": "SPATIAL",

            "editable": true,

            "name": "postgres1",

            "type": "POSTGRESQL"

        },

        "id": "postgres1"

    }

]

POST 请求

注册数据存储。

请求参数

对 datastores 资源执行 POST 请求,请求体需包含参数如下:

名称 类型 含义
id String 用于表示数据存储的ID
dataStoreInfo DataStoreInfo 数据存储配置信息。不同类型的数据存储其描述信息的表述结构也有所不同,具体如下:
  • 大数据文件共享:
    • name:iServer管理员自行指定的存储 ID,用于标识数据存储
    • type:大数据文件共享类型,包括文件目录(FOLDER)和 HDFS 目录(HDFS)
    • url:数据存储目录地址
    • userName:当注册了 HDFS 目录时,此参数表示 HDFS 用户名
    • encode:文件编码格式
  • 空间数据库:
    •  connectionInfo:数据库服务的连接信息
    •  datastoreType:数据存储类型为 SPATIAL
    •  editable:是否允许编辑
    •  type:数据库类型,包括HBASE、MONGODB、ORACLEPLUS、POSTGRESQL和POSTGIS
tileSourceInfo tileSourceInfo
  • database:数据库名
  • serverAdresses:数据库的服务地址
  • type:数据库类型,包括MongoDB、OTS、FastDFS
  • username:当前数据库的用户名
  • password:数据库密码

示例1

对datastores资源:http://supermapiserver:8090/iserver/manager/datastores.rjson 执行 POST 请求了,注册一个空间数据库,请求体如下:

{

    "id": "postgis",

    "dataStoreInfo": {

        "type": "PGGIS",

        "datastoreType": "SPATIAL",

        "connectionInfo": {

            "dataBase": "iserverbase",

            "server": "192.168.17.116",

            "engineType": "PGGIS",

            "password": "supermap",

            "user": "postgres"

        },

        "editable": true

    }

}

示例2

对datastores资源:http://supermapiserver:8090/iserver/manager/datastores.rjson 执行 POST 请求了,注册一个文件存储目录,请求体如下:

{

   "id":"ProcessingData",

   "dataStoreInfo":

  {

   "name":"ProcessingData",

   "type":"FOLDER",

   "url":"E:\\data\\ProcessingData"

  }

}

示例3

对datastores资源:http://supermapiserver:8090/iserver/manager/datastores.rjson 执行 POST 请求了,注册一个分布式切片库,请求体如下:

{

   "id":"smtiles",

   "tileSourceInfo":

      {

         "serverAdresses":["192.168.17.116:27017"],

         "username":"iserver",

         "password":"iserver",

         "database":"smtiles",

         "type":"MongoDB"

       }

}

HEAD 请求

返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。

HEAD 请求可以用来判断 datastores 资源是否存在,或者客户端是否有权限访问 datastores 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 datastores 资源是否支持<format>格式的表述。

请参见