A direct gRPC request can be anonymous. If an HTTP request is made to a web server, then it is necessary to use the Basic authorization type, since the anonymous requests to the web server are prohibited.
token_value − a Bearer token. The received token should be used in the metadata of the gRPC request. The HTTP requests should be made with the Bearer authorization type using the received token.
expires_at − token expiration date and time in the UTC time zone.
where viewspecifies how the result will be displayed:
VIEW_MODE_FULL—full information,
VIEW_MODE_STRIPPED—only basic information about the camera, no information about components (microphone, telemetry, storage, and streams).
query—allows you to get a subset of results in accordance with the search request.
search_type—an integer or value that specifies which search type to use:
0 or SUBSTRING—search using the substring method (default),
1 or FUZZY—fuzzy search method.
search_fields—a list of integers or values separated by "|" that define which fields to search. If a match is found, subsequent fields will not be searched. Valid values are:
0 or DECORATED_NAME—search according to the template specified in the decorated_name_template field (default {display_id}.{display_name}),
1 or DISPLAY_NAME—search by name,
2 or DISPLAY_ID—search by short name,
3 or COMMENT—search by a comment,
4 or ACCESS_POINT—search by an access point.
decorated_name_template—a template that determines how the final search string will be constructed. There are keywords that can be replaced with actual device values. Keywords are:
{display_name}—camera name,
{display_id}—camera short name,
{comment}—camera comment,
{access_point}—camera access point.
The default template is {display_id}.{display_name}. For example, for a device named "Camera" and with the short name "1", the final search string would be "1.Camera".
page_tokenandpage_size—are used for page-by-page display of query results.
where uid is the Server where the device is created.
As a result, a camera with a child microphone, an embedded archive and a sensor will be created. All child objects except the video channel will be turned off.
The response will contain the page_token parameter if the number of archives (including the built-in ones) is greater than the value of the page_size parameter.
The response will contain the page_token parameter if the number of archives (including the built-in ones) is greater than the value of the page_size parameter.
s3_amazon—archive in Amazon S3 cloud storage (aws.amazon.com),
s3_seagate—archive in Seagate Lyve Cloud cloud storage (www.seagate.com),
s3_wasabi—archive in Wasabi cloud storage (wasabi.com),
s3—universal archive in the cloud storage (AxxonSoft tested it with min.io.com version RELEASE.2021-08-05T22-01-19Z). It is used when using other types of cloud storage
Parameters for the file type
path
Yes
The path to the file/disk with the archive
Parameters for the smb type
host
Yes
Name of the server with remote storage
smb_share
Yes
Remote storage
path
Yes
Folder in remote storage, where the archive are stored
smb_domain
No
Remote storage domain
user
No
Username
password
No
Password
Parameters for the azure type (Microsoft Azure storage)
protocol
Yes
Connection protocol: HTTP or HTTPS. This parameter is located in the properties of the created container
host
Yes
Azure server address. This parameter is located in the properties of the created container
access_key
Yes
Access key in base64. This parameter is located in the Access keys section
container
Yes
Azure container. This parameter is located in the properties of the created container
user
Yes
Username. This parameter is located in the Access keys section (Storage account name)
path
No
Do not specify the location of the volume folder in Azure—the parameter must be empty
Access key password (available after creating an access key)
bucket
Yes
Archive volume in Amazon S3 account (bucket). Different volumes can be located in different regions. On the Amazon S3 server, the volume name must be unique, and for the Axxon One operation, it must be pre-created by the user according to the rules (see https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html)
Access key password (available after creating an access key)
protocol
Yes
Connection protocol: HTTP or HTTPS
path
Yes
Location of the folder created inside the bucket (Folder object in Bucket)
host
Yes
Server address: wasabisys.com
Parameters for the s3_seagatetype (Seagate Lyve Cloud storage):
bucket
Yes
Archive volume name (Bucket Name), predefined by the user. Corresponds to the Name parameter in the Bucket properties
region
Yes
The region where the corresponding volume is located, as specified when it was created. Corresponds to the Region parameter in the Bucket properties
access_key_id
Yes
Access key identifier, which is generated when creating an account in the Create Service Account window
secret_access_key
Yes
Access key password (available after creating an access key)
path
Yes
Location of the folder created inside the bucket
protocol
Yes
Connection protocol: HTTP or HTTPS
host
Yes
Server address: lyvecloud.seagate.com
Parameters for the s3 type
bucket
Yes
Archive volume name (Bucket Name), predefined by the user. Corresponds to the Name parameter in the Bucket properties
bucket_endpoint
No
Domain name with a port.
Attention!
You must use the parameter only when using MinIO if the domain name of the MinIO server is specified instead of the server IP address.
Example: http://miniopoc1.agis.xh.ar:9000
where,
miniopoc1.agis.xh.ar—the domain name of the MinIO server,
9000—MinIO port
region
Yes
The region where the volume is located
access_key_id
Yes
Access key identifier
secret_access_key
Yes
Access key password (available after creating an access key)
path
No
Location of the Axxon One folder inside the bucket
protocol
Yes
Connection protocol: HTTP or HTTPS
host
Yes
Server address
port
Yes
Server port
Note
Starting with Аxxon One 2.0, you can create several volumes of the cloud archive.
Attention!
We recommend adding new volumes of the cloud archive with the same value of archive size. Otherwise, the total depth of the archive storage can change due to the Round-robin algorithm (see General information about the Round-robin algorithm) for record distribution, which can lead to decimation of the frames of archive recordings.
When the archive size of one of the cloud archive volumes increases, the archive volumes are overwritten by the Round-robin algorithm (see General information about the Round-robin algorithm). The depth of the archive storage will gradually increase over the number of days equal to the difference between the original and the new value of the archive storage depth.
Example of creating an archive volume as files on a local disk
If you remove an Azure archive volume, the container along with the data will also be removed. To remove only Azure archive volume data, delete files through the Azure web interface: https://azure.microsoft.com/en-us/services/storage/blobs/.
dt_posix_end_time and dt_posix_start_time specify the interval,
image_size is the image size.
Note
To get the coordinates of the objects movement, it is necessary to specify the RESULT_TYPE_DATA value for the result_type parameter in the request body.
descending—event sorting: if = false, then the events in the response are sorted by time in ascending order. If true, then the events are sorted in descending order.
limit—maximum number of events in the response.
Get events by filter
The following parameters can be set as a filter:
type—type of event; the actual types of events are given in the axxonsoft\bl\events.proto file;
subjects—subject of event (server, device, archive, detector, and so on);
values—exact value of event;
texts—brief description of event.
Get events about status change of a specific camera
range—time period for which the events are received from the event source;
subjects—subject of the event (server, device, archive, detector, and so on);
filter_containing_text_parts—boolean value: if = true, then the response contains only the string with the search text specified in texts. If = false, then the response contains the entire receipt with the text specified in texts;
limit—maximum number of events in the response.
descending—event sorting: if = false, then the events in the response are sorted by time in ascending order. If true, then the events are sorted in descending order.
subscription_id—subscription ID (it is set arbitrarily in UUID format; mandatory parameter);
event_type—event type (optional parameter). You can find the list of available event types in the Events.proto file in the EEventType enumeration.
subject—subject of the event (detectors in this example; optional parameter).
To receive events using a subscription, do the following:
Run a request with the PullEvents method, which opens a channel for event transmission. Events get into this channel as they occur. The channel remains active until a request with the DisconnectEventChannel method is executed to close it. The request body with the DisconnectEventChannel method:
subscription_id—subscription ID (it is set arbitrarily in UUID format; mandatory parameter);
event_type—event type (optional parameter);
subject—subject of the event (optional parameter).
The response will contain an event, and the event fields will contain information about the state of objects within the entire time since they were added to the system:
Templates allow you to apply the same preset parameters to cameras.
Note
If a template has been assigned to the camera but has not yet been applied, then the response to the ListUnits method (see Manage devices using gRPC API methods (ConfigurationService)) will contain the parameter "has_unapplied_templates": true.