Skip to content
URL:
https://<root>/data/registerItem
Methods:
POST
Version Introduced:
12.0

Description

The registerItem operation registers a new data item with the server's data store by submitting a JSON object that represents the data item and its connection information.

A data item contains all the information required by ArcGIS Video Server to connect to a folder or database while serving out one or more video services. Data items are extensively used while publishing video services to ArcGIS Video Server, as they inform the publishing client (such as ArcGIS Excalibur or ArcGIS Pro) whether the data needs to be explicitly copied to the server or whether it can be referred from the server. ArcGIS Video Server supports the following types of data items:

  • Spatiotemporal Big Data Stores—Spatiotemporal Big Data Stores are required for the REST API's Search operation to function correctly. Services can be registered to this data store by administrators.
  • Cloud stores—Cloud store data items represent a connection to an Amazon or Microsoft Azure store.
  • Object stores—Starting at 11.4, an object store is required as part of the base deployment for ArcGIS Enterprise. Organizations deploying ArcGIS Enterprise using Amazon Web Serivces (AWS) should deploy an object store using Amazon S3. Organizations deploying ArcGIS Enterprise using Microsoft Azure should deploy an object store using Azure Blob Storage.
  • File shares—File share data items are network-accessible file system folders that contain one or more datasets.

Before registering the data item, you must validate it and make sure that it is accessible from all the server nodes in your site.

Registration requirements

The following sections outline the connection information for each supported data item type.

Spatiotemporal big data stores

The spatiotemporal big data store enables archival of high volume observation data, sustains high velocity write throughput, and can run across multiple machines (nodes). Adding additional machines adds capacity, enabling you to store more data, implement longer retention policies of your data, and support higher data write throughput.

Cloud stores

Cloud store data items represent a connection to an Amazon or Microsoft Azure store. Connection information for the data store item is stored as a JSON string in the connectionString.

The following items should be taken into consideration while registering a cloud store data item:

  • A valid value for the objectstore parameter is required. This property refers to the Amazon S3 bucket, Azure Blob container or Azure Data Lake store, Alibaba OSS bucket or Google cloud container.
  • Folders in an object store property are optional.

To see sample cloud store data item JSON objects, see the Cloud store examples section below.

Object store

An object store is part of an ArcGIS Enterprise base deployment that can either be provided by ArcGIS Data Store or provided by Amazon S3 or Azure Blob Storage for organizations that deploy ArcGIS Enterprise using Amazon Web Serivces (AWS) or Microsoft Azure. An organization only supports having one object store registered. Attempting to do any of the following will result in the registerItem operation to fail:

  • Register a cloud-provided object store when an ArcGIS Data Store object store is already registered
  • Register another cloud-provided object store when a cloud-provided object store is already registered
  • Register an ArcGIS Data Store object store when a cloud-provided object store is already registered

The Object store examples section below demonstrates all of the required properties to register a cloud-provided object store.

Request parameters

ParameterDetails

item

A JSON object that represents the data item. Though each data store item type has unique requirements, the general structure of a data store item JSON object includes the following properties:

  • path—Defines a unique identifier for each data item when it's registered with ArcGIS Video Server.
  • type—Describes the type of the data item.
  • info—A JSON object that contains the connection string or file system path to the data item. For more information on the properties included in the info JSON object, see the Info properties section below.

f

(Required)

The response format. The default response format is html.

Values: html | json | pjson

token

(Required)

Users interacting programmatically with this endpoint must generate a token that must be included as a request parameter. A token can be obtained using the Generate Token operation.

Response properties

PropertyDetails

path

The file system path to the data item.

clientConnectionString

The connection string for client to connect to shared enterprise database.

connectionString

The connection string for ArcGIS Video Server to connect to enterprise database.

dataStoreConnectionType

Indicates to ArcGIS Video Server whether the data item is shared, replicated, or server only.

If shared, the publisher (for example, ArcGIS Pro) and server use the same connection string to the database and point to the same instance of the database.

If replicated, the publisher and server connect to different instances of the database that have the same copies of the data because their replication configurations or administrative scripts keep them in sync.

If serverOnly, the database is entirely managed and owned by ArcGIS Video Server and cannot be accessed by the publisher directly. This option is primarily used to refer to an ArcGIS Video Server Managed Database.

isManaged

Set to true if dataStoreConnectionType is set as server, indicating that the data store is managed by ArcGIS Video Server. Otherwise, isManaged is set to false.

Values: true | false

Example usage

The following is a sample POST request for the registerItem operation that demonstrates registering a file share data item, formatted for readability:

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
POST /<context>/admin/data/registerItem HTTP/1.1
Host: organization.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: []

item={
  "path": "/folder/myFileShare",
  "type": "folderFileShare",
  "info": {
    "connectionString": "{\"path\":\"\\\\\\\\myFileShare\\\\data\"}", //backslashes in path should be double escaped.
    "connectionType": "fileShare"
  }
}&f=pjson

Spatiotemporal Big Data Store example

Cloud store examples

Amazon S3

The example below demonstrates a sample JSON object for an Amazon S3 cloud store that uses access key authentication:

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
{
  "path": "/cloudStores/<value>",
  "type": "cloudStore",
  "provider": "amazon",
  "info": {
    "objectStore": "<bucketName>/<folderName>",
    "connectionString": "{\"credentialType\":\"accessKey\",\"accessKeyId\":\"<value>\",\"secretAccessKey\":\"<value>\",\"regionEndpointUrl\":\"s3.us-west-2.amazonaws.com\",\"region\":\"us-west-2\",\"defaultEndpointsProtocol\": \"https\"}"
  }
}

Azure Blob

The example below demonstrates a sample JSON object for a public Microsoft Azure cloud store that uses shared key (accountKey) authentication:

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
{
  "path": "/cloudStores/<value>",
  "type": "cloudStore",
  "provider": "azure",
  "info": {
    "objectStore": "<containerName>/<folderName>",
    "connectionString": "{\"accountKey\":\"<value>\",\"accountName\":\"<value>\",\"defaultEndpointsProtocol\":\"https\",\"accountEndpoint\":\"core.windows.net\",\"credentialType\":\"accessKey\"}"
  }
}

The example below demonstrates a sample JSON object for a Microsoft Azure cloud store with private endpoint access that uses shared key (accountKey) authentication:

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
{
  "path": "/cloudStores/<value>",
  "type": "cloudStore",
  "provider": "azure",
  "info": {
    "objectStore": "<containerName>/<folderName>",
    "connectionString": "{\"credentialType\":\"accessKey\",\"accountKey\":\"<value>\",\"regionEndpointUrl\":\"<value>\",\"defaultEndpointsProtocol\":\"https\"}"
  }
}

Google

The example below demonstrates a sample JSON object for a Google cloud store data item:

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
{
  "path": "/cloudStores/<value>",
  "type": "cloudStore",
  "provider": "google",
  "info": {
    "isManaged": false,
    "connectionString": "{\"accessKeyId\":\"<value>\",\"secretAccessKey\":\"<value>\",\"regionEndpointUrl\":\"storage.googleapis.com\",\"defaultEndpointsProtocol\":\"https\",\"credentialType\":\"accesskey\"}",
    "objectStore": "<bucketName>/<folderName>"
  }
}

Alibaba

The example below demonstrates a sample JSON object an Alibaba cloud store data item:

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12

{
  "path": "/cloudStores/<value>",
  "type": "cloudStore",
  "systemManaged": false,
  "provider": "Alibaba",
  "info": {
    "isManaged": false,
    "connectionString": "{\"accessKeyId\":\"<value>\",\"secretAccessKey\":\"<value>\",\"regionEndpointUrl\":\"oss-us-west-1.aliyuncs.com\",\"defaultEndpointsProtocol\":\"https\",\"credentialType\":\"accesskey\"}",
    "objectStore": "<bucketName>/<folderName>"
  }
}

Object store examples

ArcGIS Object Store

The example below demonstrates a sample JSON object for an ArcGIS Object Store installed to a machine reachable by the Video Server:

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
{
  "path": "/cloudStores/AGSDataStore_objectstore_oz_sow3a31",
  "type": "objectStore",
  "id": "ac8aee42-0c2c-4744-8223-c5561669569c",
  "childItems": [],
  "provider": "ArcGIS Data Store",
  "info": {
    "dsFeature": "objectStore",
    "isManaged": true,
    "systemManaged": true,
    "isManagedData": true,
    "deployMode": "singleInstance",
    "factory": "objectStore",
    "implementation": "Ozone",
    "category": "storage",
    "provider": "ArcGIS Data Store",
    "purposes": [
      "feature-tile",
      "scene"
    ],
    "supportedStorageClasses": ["REDUCED_REDUNDANCY"],
    "objectStore": "0123456789abcdef",
    "finalized": true,
    "datastoreName": "oz_sow3a31",
    "connectionString": "<encrypted connection string>",
    "accessKey": "<encrypted accesskey>",
    "secretKey": "<encrypted secretKey>",
    "sslEnabled": true,
    "machines": [{
      "name": "ORGANIZATION.EXAMPLE.COM",
      "isSCMEnabled": true,
      "isOMEnabled": true,
      "scmID": "lebg0",
      "omID": "wdvzv",
      "isSCMPrimordialNode": true,
      "managerNumber": 1,
      "dbVersion": "2.0.0",
      "role": "PRIMARY",
      "endpoint": "ORGANIZATION.EXAMPLE.COM:29879",
      "isDataNodeEnabled": true,
      "isS3GEnabled": true,
      "dbPort": 29879,
      "adminURL": "https://ORGANIZATION.EXAMPLE.COM:2443/arcgis/datastoreadmin/",
      "platform": "Windows"
    }]
  }
}

File share examples

The example below demonstrates a sample JSON object for a file share data item where the folder for the publisher and ArcGIS Video Server use the same shared path:

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
{
  "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
  }
}

JSON Response example

Use dark colors for code blocksCopy
1
{"status": "success"}

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.