| Section |
|---|
| Column |
|---|
|
| Panel |
|---|
| borderColor | #CCCCCC |
|---|
| bgColor | #FFFFFF |
|---|
| titleBGColor | #F0F0F0 |
|---|
| borderStyle | solid |
|---|
| title | На странице: |
|---|
| |
| column
|
|
Создание хранилища
| Expand |
|---|
| Code Block |
|---|
| {
"method": "axxonsoft.bl.config.ConfigurationService.ChangeConfig",
"data": {
"added": [ {
"uid": "hosts/ | serverSERVER",
"units": [ {
"type": "MultimediaStorage",
"properties": [
{ "id": "display_name", "properties": [], "value_string": "ArchiveStorage" },
{ "id": "color", "properties": [], "value_string": "Gray" },
{ "id": "storage_type", "value_string": "object" }
] } ] } ]
}
} |
|
где
- uid −
Сервер- сервер, на котором создаем архив
;- ,
- units − свойства
;- ,
- storage_type − тип архива (если параметр явно не задан, то создается старый тип архива):
- block − старый тип архива
;- ,
- object − новый тип архива (объектный).
Если параметр явно не задан, то создается старый тип архива.
Создание тома архива
Возможные параметры ArchiveVolume в разделе properties:
| Параметр | Описание |
|---|
| format | true − если требуется отформатировать созданный том. По умолчанию false. |
| volume_size | Размер тома в байтах. Актуально, если format = true. |
| auto_mount | true − если нужно монтировать созданный том. По умолчанию true. |
| label | Метка тома. |
| Параметры только для объектного архива (storage_type = object) | : |
| max_block_size_mb | Максимальный размер блоков в Мб. Значение по умолчанию 64, диапазон допустимых значений значений [16; 512]. |
| optimal_read_size_mb | Оптимальный размер чтения блоков в Мб. Значение по умолчанию 4, диапазон допустимых значений значений [1; max_block_size_mb / 2]. |
| incoming_buffer_size_mb | Приходящий размер буфера в Мб. Значение по умолчанию 3 * max_block_size_mb. Минимальное значение должно быть больше 2 * maxmax_block_size_mb. |
| block_flush_period_seconds | Период записи блоков в секундах. Значение по умолчанию 60, диапазон допустимых значений значений [30; 300]. |
| index_snapshot_max_block_distance | Максимальное количество блоков между операциями индексации. Значение по умолчанию 256, минимальное значение 16. |
| sequence_flush_period_seconds | Периодичность записи последовательностей в секундах. Значение по умолчанию 60, минимальное значение 32. |
На уровне ArchiveVolume также должно добавляться свойство connection_params со следующими параметрами:
| Параметр | Обязательный | Описание |
|---|
schema | schema | Да | Тип тома. Возможные значения: - file − локальный архив на
|
Сервере.- сервере,
- smb − удаленный архив с подключением по протоколу SMB
|
./s3..- ,
- s3_seagate − архив в облачном хранилище Seagate Lyve Cloud (www.seagate.com)
|
.- ,
- s3_wasabi − архив в облачном хранилище Wasabi (wasabi.com)
|
.s3_minio - s3 − универсальный архив в облачном хранилище (был протестирован компанией ITV с min.io
|
.com- версии RELEASE.2021-08-05T22-01-19Z). Применяется при использовании других видов облачных хранилищ
|
.: |
| path | Да | Путь к файлу/диску с архивом |
. : Сервера удаленнным . |
| smb_share | Да | Удаленное хранилище |
. |
| path | Да | Папка в удаленном хранилище |
, в которой будет храниться архив.| для хранения архива |
| smb_domain | Нет | Домен удаленного хранилища |
...:protocol | (хранилище Microsoft Azure) |
| protocol | Да | Протокол подключения: HTTP или HTTPS. |
Этот параметр находится в свойствах созданного контейнера |
. Сервера Этот параметр находится в свойствах созданного контейнера |
. |
| access_key | Да | Ключ доступа в base64. |
. |
| container | Да | Контейнер Azure. |
Данный параметр находится в свойствах созданного контейнера |
. . |
| path | Нет | Для Azure указывать расположение папки тома не нужно − параметр должен остаться пустым |
. Сервера . |
| Параметры для типа s3_amazon (хранилище Amazon) |
:. |
| secret_access_key | Да | Пароль ключа доступа (доступен после создания ключа доступа) |
. |
| bucket | Да | Том архива в аккаунте Amazon S3 (bucket). Разные тома могут находиться в разных регионах. |
На Сервере . |
| region | Да | Регион нахождения тома. Для |
уменьшения | уменьшения задержек при записи и чтении архива необходимо указывать ближайший регион до |
Сервера . |
| path | Да | Расположение папки тома ПК Интеллект X внутри bucket |
. |
| protocol | Да | Протокол подключения: HTTP или HTTPS |
. Сервера. |
| Параметры для типа s3_wasabi(хранилище Wasabi) |
:.. |
| access_key_id | Да | Идентификатор ключа доступа, который необходимо предварительно создать |
предварительно . |
| secret_access_key | Да | Пароль ключа доступа (доступен после создания ключа доступа) |
. |
| protocol | Да | Протокол подключения: HTTP или HTTPS |
. |
| path | Да | Расположение папки, созданной внутри тома (объект Folder в Bucket) |
. Сервера.
|
| Параметры для типа s3_huawei(хранилище Huawei Cloud) |
: |
| bucket | Да | Имя тома архива (Bucket Name), предварительно заданное пользователем на вкладке Object Storage Service |
. |
| region | Да | Регион нахождения соответствующего тома, заданный при его создании. Указан в параметре Endpoint в свойствах Bucket |
. |
| access_key_id | Да | Идентификатор ключа доступа, который необходимо создать, перейдя по |
ссылке «| ссылке Obtain access keys (AK and SK) |
». |
| secret_access_key | Да | Пароль ключа доступа (доступен после создания ключа доступа) |
. |
| path | Да | Расположение папки, созданной внутри тома |
. |
| protocol | Да | Протокол подключения: HTTP или HTTPS |
. Сервера| сервера: myhuaweicloud.com |
.
|
| Параметры для типа s3_seagate(хранилище Seagate Lyve Cloud) |
: |
| bucket | Да | Имя тома архива (Bucket Name), предварительно заданное пользователем. Соответствует параметру Name в свойствах Bucket |
. |
| region | Да | Регион нахождения соответствующего тома, заданный при его создании. Соответствует параметру Region в свойствах Bucket |
. |
| access_key_id | Да | Идентификатор ключа доступа, который генерируется при создании учётной записи в окне Create Service Account |
. |
| secret_access_key | Да | Пароль ключа доступа (доступен после генерации ключа доступа) |
. |
| path | Да | Расположение папки, созданной внутри тома |
. |
| protocol | Да | Протокол подключения: HTTP или HTTPS |
. Сервера| сервера: lyvecloud.seagate.com |
._minio (хранилище MinIO): |
| bucket | Да | Имя тома архива (Bucket Name), предварительно заданное пользователем. Соответствует параметру Name |
в . |
| bucket_endpoint | Нет | Имя домена с портом. | Note |
|---|
| Параметр необходимо использовать только при использовании MinIO, если указывается доменное имя |
|
Сервера сервера MinIO, вместо IP-Адреса |
|
СервераПример: http://miniopoc1.agis.xh.ar:9000 где, - miniopoc1.agis.xh.ar − доменное имя
|
Сервера .. |
| region | Да | Регион нахождения тома |
. |
| access_key_id | Да | Идентификатор ключа доступа |
. |
| secret_access_key | Да | Пароль ключа доступа (доступен после создания ключа доступа) |
. |
| path | Нет | Расположение папки тома ПК Интеллект X внутри bucket |
. |
| protocol | Да | Протокол подключения: HTTP или HTTPS |
. Сервера. Сервера.| Info |
|---|
|
Существует возможность создать несколько томов облачного архива. |
| Note |
|---|
|
- Рекомендуется добавлять новые тома облачного
- архива с одинаковым значением размера архива.
В противном случае для - для распределения записей, что может привести к прореживанию кадров записей архива.
- При увеличении размера архива одного из томов
облачного архива - облачного архива произойдет перезапись томов архива с помощью алгоритма Round-robin (см. Общие сведения о работе алгоритма Round-robin). Глубина хранения архива будет постепенно увеличиваться в течение количества дней равным разности между исходным и новым значением глубины хранения архива.
|
Пример создания тома архива в виде файлов на локальном диске
...
| Expand |
|---|
| Code Block |
|---|
| {
"method": "axxonsoft.bl.config.ConfigurationService.ChangeConfig",
"data": {
"added": [
{
"uid": "hosts/SERVER/MultimediaStorage.Gray",
"units": [
{
"type": "ArchiveVolume",
"properties": [
{
"id": "volume_type",
"value_string": "object",
"properties": [
{
"id": "connection_params",
"value_properties": {
"properties": [
{"id": "schema","value_string": "file"},
{"id": "path","value_string": "D:/archives"}
]}}]},
{"id": "label","value_string": "test"},
{"id": "volume_size","value_uint64": "26843545600"},
{"id": "format","value_bool": true},
{ "id": "auto_mount", "value_bool": true }
]}]}
]
}
} |
|
Пример создания тома архива на удаленном ресурсе
...
| Expand |
|---|
| Code Block |
|---|
| {
"method": "axxonsoft.bl.config.ConfigurationService.ChangeConfig",
"data": {
"added": [
{
"uid": "hosts/SERVER/MultimediaStorage.Gray",
"units": [
{
"type": "ArchiveVolume",
"properties": [
{
"id": "volume_type",
"value_string": "object",
"properties": [
{
"id": "connection_params",
"value_properties": {
"properties": [
{ "id": "schema", "value_string": "smb" },
{ "id": "host", "value_string": "computer" },
{ "id": "smb_domain", "value_string": "domain" },
{ "id": "smb_share", "value_string": "Share" },
{ "id": "path", "value_string": "video" },
{ "id": "user", "value_string": "Tester" },
{ "id": "password", "value_string": "Testing321" }
]}}]},
{"id": "label","value_string": "test"},
{"id": "volume_size","value_uint64": "12073741824"},
{"id": "format","value_bool": true}
]}
]
}
]
}
} |
|
Пример создания тома облачного архива в Microsoft Azure
...
| Expand |
|---|
| Code Block |
|---|
| {
"method": "axxonsoft.bl.config.ConfigurationService.ChangeConfig",
"data": {
"added": [
{
"uid": "hosts/SERVER/MultimediaStorage.Gray",
"units": [
{
"type": "ArchiveVolume",
"properties": [
{
"id": "volume_type",
"value_string": "object",
"properties": [
{
"id": "connection_params",
"value_properties": {
"properties": [
{ "id": "schema", "value_string": "azure" },
{ "id": "protocol", "value_string": "https" },
{ "id": "host", "value_string": "axxonsoft.blob.core.windows.net" },
{ "id": "access_key", "value_string": "youraccesskey==" },
{ "id": "container", "value_string": "container" },
{ "id": "user", "value_string": "axxonsoft" },
{ "id": "path", "value_string": "" }
]}}]},
{"id": "label","value_string": "test"},
{"id": "volume_size","value_uint64": "12073741824"},
{"id": "format","value_bool": true}
]}
]
}
]
}
} |
|
Пример создания тома облачного архива в Amazon
...
| Expand |
|---|
| Code Block |
|---|
| {
"method": "axxonsoft.bl.config.ConfigurationService.ChangeConfig",
"data": {
"added": [
{
"uid": "hosts/SERVER/MultimediaStorage.Gray",
"units": [
{
"type": "ArchiveVolume",
"properties": [
{
"id": "volume_type",
"value_string": "object",
"properties": [
{
"id": "connection_params",
"value_properties": {
"properties": [
{ "id": "schema", "value_string": "s3_amazon" },
{ "id": "bucket", "value_string": "axxonsoft-test" },
{ "id": "region", "value_string": "us-west-1" },
{ "id": "access_key_id", "value_string": "youraccesskeyid" },
{ "id": "secret_access_key", "value_string": "yoursecretaccesskey" },
{ "id": "path", "value_string": "path" },
{ "id": "protocol", "value_string": "https" },
{ "id": "host", "value_string": "amazonaws.com" }
]}}]},
{"id": "label","value_string": "test"},
{"id": "volume_size","value_uint64": "12073741824"},
{"id": "format","value_bool": true}
]}
]
}
]
}
} |
|
Пример создания тома облачного архива в Wasabi
...
| Expand |
|---|
| Code Block |
|---|
| {
"method": "axxonsoft.bl.config.ConfigurationService.ChangeConfig",
"data": {
"added": [
{
"uid": "hosts/SERVER/MultimediaStorage.Gray",
"units": [
{
"type": "ArchiveVolume",
"properties": [
{
"id": "volume_type",
"value_string": "object",
"properties": [
{
"id": "connection_params",
"value_properties": {
"properties": [
{ "id": "schema", "value_string": "s3_wasabi" },
{ "id": "bucket", "value_string": "axxontest-1" },
{ "id": "region", "value_string": "us-central-1" },
{ "id": "access_key_id", "value_string": "youraccesskeyid" },
{ "id": "secret_access_key", "value_string": "yoursecretaccesskey" },
{ "id": "path", "value_string": "path" },
{ "id": "protocol", "value_string": "http" },
{ "id": "host", "value_string": "wasabisys.com" }
]}}
]},
{"id": "label","value_string": "test"},
{"id": "volume_size","value_uint64": "209715200"},
{"id": "format","value_bool": true}
]
}
]
}
]
}
} |
|
Пример создания тома облачного архива в Huawei Cloud
...
| Expand |
|---|
| Code Block |
|---|
| {
"method": "axxonsoft.bl.config.ConfigurationService.ChangeConfig",
"data": {
"added": [
{
"uid": "hosts/SERVER/MultimediaStorage.Gray",
"units": [
{
"type": "ArchiveVolume",
"properties": [
{
"id": "volume_type",
"value_string": "object",
"properties": [
{
"id": "connection_params",
"value_properties": {
"properties": [
{ "id": "schema", "value_string": "s3_huawei" },
{ "id": "bucket", "value_string": "axxon-test-1" },
{ "id": "region", "value_string": "ap-southeast-1" },
{ "id": "access_key_id", "value_string": "youraccesskeyid" },
{ "id": "secret_access_key", "value_string": "yoursecretaccesskey" },
{ "id": "path", "value_string": "path" },
{ "id": "protocol", "value_string": "https" },
{ "id": "host", "value_string": "myhuaweicloud.com" }
]}}]},
{"id": "label","value_string": "test"},
{"id": "volume_size","value_uint64": "10073741824"},
{"id": "format","value_bool": true}
]
}
]
}
]
}
} |
|
Пример создания тома облачного архива в Seagate Lyve Cloud
...
| Expand |
|---|
| Code Block |
|---|
| {
"method": "axxonsoft.bl.config.ConfigurationService.ChangeConfig",
"data": {
"added": [
{
"uid": "hosts/SERVER/MultimediaStorage.Gray",
"units": [
{
"type": "ArchiveVolume",
"properties": [
{
"id": "volume_type",
"value_string": "object",
"properties": [
{
"id": "connection_params",
"value_properties": {
"properties": [
{ "id": "schema", "value_string": "s3_seagate" },
{ "id": "bucket", "value_string": "axxonsoft-test" },
{ "id": "region", "value_string": "us-west-1" },
{ "id": "access_key_id", "value_string": "youraccesskeyid" },
{ "id": "secret_access_key", "value_string": "yoursecretaccesskey" },
{ "id": "path", "value_string": "path" },
{ "id": "protocol", "value_string": "https" },
{ "id": "host", "value_string": "lyvecloud.seagate.com" }
]}}]},
{"id": "label","value_string": "test"},
{"id": "volume_size","value_uint64": "1073741824"},
{"id": "format","value_bool": true}
]}]}
]
}
} |
|
Пример создания тома облачного архива в MinIO S3
...
| Expand |
|---|
| Code Block |
|---|
| {
"method": "axxonsoft.bl.config.ConfigurationService.ChangeConfig",
"data": {
"added": [
{
"uid": "hosts/ServerNameSERVER/MultimediaStorage.Gray",
"units": [
{
"type": "ArchiveVolume",
"properties": [
{
"id": "volume_type",
"value_string": "object",
"properties": [
{
"id": "connection_params",
"value_properties": {
"properties": [
{ "id": "schema", "value_string": "s3" },
{ "id": "bucket", "value_string": "bucket" },
{ "id": "region", "value_string": "us-east-1" },
{ "id": "access_key_id", "value_string": "MINIOROOT" },
{ "id": "secret_access_key", "value_string": "MINIOPASS" },
{ "id": "path", "value_string": "path" },
{ "id": "protocol", "value_string": "http" },
{ "id": "host", "value_string": "192.168.56.102" },
{ "id": "port", "value_string": "9000" }
]}}]},
{"id": "label","value_string": "test"},
{"id": "volume_size","value_uint64": 1207374182},
{"id": "format","value_bool": true}
]}
]
}
]
}
} |
|
Пример создания тома облачного архива в MinIO S3 с использованием имени домена
...
| Expand |
|---|
| Code Block |
|---|
| {
"method": "axxonsoft.bl.config.ConfigurationService.ChangeConfig",
"data": {
"added": [
{
"uid": "hosts/ServerSERVER/MultimediaStorage.Gray",
"units": [
{
"type": "ArchiveVolume",
"properties": [
{
"id": "volume_type",
"value_string": "object",
"properties": [
{
"id": "connection_params",
"value_properties": {
"properties": [
{ "id": "schema", "value_string": "s3" },
{ "id": "bucket", "value_string": "bucket" },
{ "id": "region", "value_string": "us-east-1" },
{ "id": "access_key_id", "value_string": "MINIOROOT" },
{ "id": "secret_access_key", "value_string": "MINIOPASS" },
{ "id": "path", "value_string": "" },
{ "id": "protocol", "value_string": "http" },
{ "id": "host", "value_string": "" },
{ "id": "bucket_endpoint", "value_string": "http://miniopoc1.agis.xh.ar:9000" }
]}}]},
{"id": "label","value_string": "test"},
{"id": "volume_size","value_uint64": 1207374182},
{"id": "format","value_bool": true}
]}
]
}
]
}
} |
|
Изменение тома
...
архива
Для изменения тома архива используются те же параметры, что и при его создании.
| Expand |
|---|
| Code Block |
|---|
| {
"method": "axxonsoft.bl.config.ConfigurationService.ChangeConfig",
"data": {
"changed": [
{
"uid": "hosts/ | ServerSERVER/MultimediaStorage.Gray/ArchiveVolume.4508f459-5eeb-4ee3-881b-4a4e149c7802",
"properties": [
{
"id": "label",
"value_string": "NewLabel"
},
{
"id": "readonly",
"value_bool": false
},
{
"id": "connection_params",
"value_properties": {
"properties": [
{
}
]
}
}
]
}
]
}
}
|
|
Проверка наличия зашифрованных данных в томе архива
Проверка наличия зашифрованных данных выполняется с помощью метода ProbeVolume (ArchiveVolumeService). Для проверки нужно:
- Предварительно создать объектное хранилище (см. Создание хранилища).
- Добавить том архива с указанием ключа шифрования aes_key_hex:
| Code Block |
|---|
|
{
"method": "axxonsoft.bl.config.ConfigurationService.ChangeConfig",
"data": {
"added": [
{
"uid": "hosts/SERVER/MultimediaStorage.Blue",
"units": [
{
"properties": [
{
"id": "volume_type",
"properties": [
{
"id": "connection_params",
"value_properties": {
"properties": [
{
"id": "schema",
"value_string": "file"
},
{
"id": "path",
"value_string": "E:/Blue"
}
]
}
}
],
"value_string": "object"
},
{
"id": "label",
"value_string": "Object volume"
},
{
"id": "volume_size",
"value_uint64": "10374182400"
},
{
"id": "format",
"value_bool": true
},
{
"id": "aes_key_hex",
"value_string": "642b6c71556a6f66726c30526c6640535735732465506c7752232b4f4b553d52"
},
{
"id": "auto_mount",
"value_bool": true
}
],
"type": "ArchiveVolume"
}
]
}
]
}
}
|
- Привязать камеру к архиву (см. Привязка видеокамеры к архиву через gRPC API).
- Выполнить запрос ProbeVolume к тому архива без указания ключа шифрования:
| Code Block |
|---|
|
{
"method":"axxonsoft.bl.archive.ArchiveVolumeService.ProbeVolume",
"data": {
"volume_type": "object",
"connection_params": {
"schema": "file",
"path": "E:\\Blue"
},
"aes_key_hex": ""
}
}
|
- Если в ответе в поле status_code указано значение OK, нужно дождаться появления первого блока данных в архиве и повторно выполнить запрос ProbeVolume. В результате должен прийти ответ:
| Code Block |
|---|
|
{
"status_code": "ENCRYPTED",
"error_details": "",
"label": "C:/ArchiveAliceBlue",
"capacity_bytes": "1073741824",
"used_bytes": "13280428",
"details": {
"TotalBytesWritten": "13280428",
"FormatVersion": "1",
"max_block_size_mb": "64",
"optimal_read_size_mb": "4",
"AvailableSizeBytes": "1060461396"
},
"create_time": "2024-09-10T08:46:42Z"
}
|
где значение ENCRYPTED возвращается, если в томе архива присутствуют зашифрованные данные, и их расшифровка невозможна с использованием указанного ключа шифрования. Если том архива создан, но запись данных в него не выполнялась, статус ENCRYPTED не возвращается, поскольку зашифрованные данные отсутствуют.
Проверка зашифрованных данных завершена.