FRAMES | NO FRAMES | Description | Properties | Example |
A data item is a container of data that is registered with the server. The set of data items registered with the server comprises the server's data store.
A data item contains all the information required
by the server to connect to a folder or database while serving out one or more GIS services. Data items are extensively used
while publishing GIS services to the server, as they inform the publishing client (such as ArcMap) whether the data needs
to be explicitly copied to the server or if it can be referred from the server. The server supports two main types of
data items:
A data item is represented in the server as a JSON object.
The type property of the JSON object desbribes the type of the data
item, with 'egdb' and 'folder' as valid values.
The path property defines a unique identifier for each of the data items when
registered with the server. While the server supports a hierarchical view of data items, this is not used often. Most file shares
are registered under /fileShares and enterprise databases are registered under /enterpriseDatabases, respectively.
The info section stores the actual connection string or file system path to the data item. The dataStoreConnectionType
property in the info section indicates to the server if the data item is shared, replicated or serverOnly.
{ "path": "<unique path on the server>", "type": "<folder|egdb>", "clientPath": "<client paths for replicated folders>", "info": { "path": "<path to the folder>", "clientConnectionString": "<connection string for client to connect to shared enterprise database>", "connectionString": "<connection string for server to connect to enterprise database>", "dataStoreConnectionType": "<shared|replicated|serverOnly>", "isManaged": <true|false> } }
For enterprise databases you need to enter the ArcSDE connection string as the connectionString property inside the info section
of the JSON object. An ArcSDE connection string consists of the information bits like the name of the database server, the database name
and the credentials. The server will store this data item JSON inside of its configuration store "as is".
It is recommended that you encrypt the credentials using the ArcSDE encryption scheme before storing it into the server. This can be achieved
by invoking 'Get Database Connection String' tool inside the 'Publishing Tools' toolbox published as a system service on the server.
The string returned by the tool can be used as the value of the connectionString property.
Please see the examples below for more information on the format of the different data items supported by the server.
{ "path": "/fileShares/folder_shared", //a unique path on the server "type": "folder", //as this is a file share "clientPath": null, //not needed as this is a shared folder "info": { "path": "\\\\server\\data\\rest_data", //path to the share "dataStoreConnectionType": "shared" //this is a shared folder } }
{ "path": "/fileShares/folder_replicated", //a unique path on the server "type": "folder", //as this is a folder "clientPath": "C:\\data", //the path to the folder from the client "info": { "path": "c:\\data", //the path to the folder from the server "dataStoreConnectionType": "replicated", //indicates that client and server are seeing the same datasets "hostName": "GRID3" //name of the client host } }
{ "path": "/enterpriseDatabases/egdb_shared", //a unique path on the server "type": "egdb", //as this is a database "clientPath": null, //not needed as this is a database "info": { "connectionString": "ENCRYPTED_PASSWORD=00022e686f66464c762b6e2b31732b675a4e35667832547070513d3d2a00; SERVER=dbserver;INSTANCE=sde:sqlserver:dbserver;DBCLIENT=sqlserver; DB_CONNECTION_PROPERTIES=dbserver;DATABASE=vtest; USER=map;VERSION=sde.DEFAULT;AUTHENTICATION_MODE=DBMS", //an encrypted ArcSDE connection string "isManaged": false, //indicates that the database is not fully owned by the server "dataStoreConnectionType": "shared" //indicates that the database is shared with clients } }
{ "path": "/enterpriseDatabases/egdb_managed", //a unique path on the server "type": "egdb", //as this is a database "clientPath": null, //not needed as this is a database "info": { "connectionString": "ENCRYPTED_PASSWORD=00022e683671383653345a4c4f465743393131343544673045773d3d2a00; SERVER=dbserver;INSTANCE=sde:sqlserver:dbserver;DBCLIENT=sqlserver; DB_CONNECTION_PROPERTIES=dbserver;DATABASE=vtest;USER=map; AUTHENTICATION_MODE=DBMS", //an encrypted ArcSDE connection string for server to connect the database "isManaged": true, //indicates that the database is fully owned and managed by the server "dataStoreConnectionType": "serverOnly" //indicates that the database is not shared with clients } }
{ "path": "/enterpriseDatabases/egdb_replicated", //a unique path on the server "type": "egdb", //as this is a database "clientPath": null, //not needed as this is a database "info": { "clientConnectionString": "ENCRYPTED_PASSWORD=00022e686255754d75395162382f704c726a4d4d6456364b56673d3d2a00; SERVER=dbserver;INSTANCE=sde:sqlserver:dbserver;DBCLIENT=sqlserver; DB_CONNECTION_PROPERTIES=dbserver;DATABASE=vtest;USER=map;VERSION=sde.DEFAULT; AUTHENTICATION_MODE=DBMS", //an encrypted ArcSDE connection string for client to connect the database "connectionString": "ENCRYPTED_PASSWORD=00022e6847686f65752b4f503261623364533032445441544d773d3d2a00; SERVER=dbserver2;INSTANCE=sde:sqlserver:dbserver2;DBCLIENT=sqlserver; DB_CONNECTION_PROPERTIES=dbserver2;DATABASE=map;USER=ags; AUTHENTICATION_MODE=DBMS",//an encrypted ArcSDE connection string for server to connect the database "isManaged": false, //indicates that the database is not fully owned and managed by the server "dataStoreConnectionType": "replicated" //indicates that the database is shared with clients } }