Текущая версия API 1.0.240924
See versions of this instruction in English Portuguese Spanish German Russian
Для получения конфигурации с пользовательскими параметрами через API нужно выполнить следующие действия:
Необходимо зарегистрироваться на портале cc.ib-aid.com; Потребуется только рабочий email.
Пароль для вызова API индивидуальный для каждого зарегистрированного пользователя. Он приведен на главной странице в виджете «Получение конфигурации Firebird через API».
Для генерации конфигурации Firebird необходимо передать данные о характеристиках сервера или ВМ в формате json.
Данные о характеристиках сервера или ВМ должны иметь следующий вид:
data = {
"mailLogin": "test",
"passApi": "testparol",
"serverVersion": "fb3",
"serverArchitecture": "Classic",
"cores": 8,
"countUsers": 100,
"sizeDb": 100,
"pageSize": 4096,
"ram": 16,
"nameMainDb": "mainВМ",
"pathToMainDb": "c:/test/test.fdb",
"osType": "Universal",
"hwType": "Universal"
}
где
mailLogin
- login для входа на портал, полученный при регистрации,passApi
- пароль для Api (см. Пункт 2)serverVersion
- версия сервера firebird или hqbird должна быть указана в следующем виде: fb+номер версии или hq+номер версии. Например, fb2.5 - для Firebird 2.5 сервера или hq5 -- для HQBird 5 сервераserverArchitecture
-- архитектура сервера. Параметр может принимать одно из значений: Classic, SuperClassic или SuperServercores
--- количество ядер сервера. От 1 до 100;countUsers
- количество пользователей. Минимальное значение - 1, максимальное - 30000;sizeDb
-- размер базы данных;pageSize
--- установленный размер страницы. Значения могут быть 4096, 8192, 16384 или 32768;ram
-- RAM сервера. Минимальное значение - 4, максимальное --- 10000;nameMainDb
-- название основной базы данных. Длина строки не должна превышать 100 символов;pathToMainDb
-- путь к основной базе данных. Длина строки не должна превышать 200 символов;osType
-- название операционной системы, где используется сервер. Значение параметра может быть Windows, Linux или Universal; в версии API 1.0.240924 этот параметр всегда приводится к Universal.hwType
-- Параметр может принимать одно из значений: Hardware, Virtual или Universal; в версии API 1.0.240924 этот параметр всегда приводится к Universal.Необходимо произвести вызов API
"https://cc.ib-aid.com/rest/clc/calculation-params"
Результатом вызова будет JSON файл со следующими полями:
{ 'inputParameters': '', 'configurationFirebird': '', 'configurationDatabase': '', 'messageError': ''}
Пример можете посмотреть ниже.
Если при получении данных возникла ошибка, она будет отображена в поле messageError:
{'inputParameters':'','configurationFirebird': '', 'configurationDatabase': '', 'messageError': 'Count of users is null. Please, set value.'}
Если параметр не участвует в расчете, то его значение будет проигнорировано. Можно опустить параметры, которые
В зависимости от версий и архитектур серверов меняется набор необходимых входных параметров:
import requests
URL = "https://cc.ib-aid.com"
URLEND="/rest/clc/calculation-params"
data={
"mailLogin":"test",
"passApi":"testpassword",
"serverVersion":"fb3",
"serverArchitecture":"Classic",
"cores":8,
"countUsers":10,
"sizeDb":100,
"pageSize":4096,
"ram":16,
"nameMainDb":"mainВD",
"pathToMainDb":"c:/test/test.fdb",
"osType":"Universal",
"hwType":"Universal"
}
r = requests.post(URL+URLEND,json=data)
print(r.status_code)
print(r.json())
package com.rest;
import java.io.Serializable;
public class ResultRest implements Serializable {
private String configurationFirebird= "";
private String configurationDatabase="";
private String messageError="";
private String inputParameters="";
public String getInputParameters() {
return inputParameters;
}
public String getConfigurationFirebird() {
return configurationFirebird;
}
public String getConfigurationDatabase() {
return configurationDatabase;
}
public String getMessageError() {
return messageError;
}
}
package com.rest;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.RestTemplate;
import org.json.simple.JSONObject;
public class CalculateRest {
public static final String SERVER_URI = "https://cc.ib-aid.com";
public static final String PUT_PARAMS = "/rest/clc/calculation-params";
public static void main(String args[]){
getCalcResult();
}
private static void getCalcResult() {
try {
RestTemplate restTemplate = new RestTemplate();
JSONObject jobj = new JSONObject();
jobj.put("serverArchitecture","classic");
jobj.put("cores",1);
jobj.put("countUsers",100);
jobj.put("sizeDb",100);
jobj.put("pageSize",4096);
jobj.put("ram",200);
jobj.put("serverVersion","fb2.5");
jobj.put("nameMainDb","mainВD");
jobj.put("pathToMainDb","c:/testdb/test.fdb");
jobj.put("osType","Universal");
jobj.put("hwType","Universal");
jobj.put("mailLogin","test");
jobj.put("passApi","testpassword");
ResultRest y = restTemplate.postForObject(SERVER_URI+PUT_PARAMS,jobj,ResultRest.class);
System.out.println(y.getInputParameters());
System.out.println(y.getConfigurationFirebird());
System.out.println(y.getConfigurationDatabase());
System.out.println(y.getMessageError());
} catch (HttpClientErrorException e) {
// Handle HTTP client errors (4xx status codes)
if (e.getStatusCode().is4xxClientError()) {
System.err.println("Client error: " + e.getStatusCode() + " - " + e.getStatusText());
System.err.println("Response Body: " + e.getResponseBodyAsString());
} else {
System.err.println("Unexpected HTTP status: " + e.getStatusCode());
}
} catch (Exception ex){
System.err.println("An error occurred: " + ex.getMessage());
}
}
}
#{"mailLogin":"[email protected]","ram":16,"countUsers":100,"sizeDb":100,"cores":8,"pageSize":8192,"nameMainDb":"testdb","pathToMainDb":"c:\\test\\test.fdb"}
#Configuration for Firebird 3 (vanilla) Classic (64 bit)
ServerMode = Classic # Firebird Classic
DefaultDBCachePages = 2048
FileSystemCacheThreshold = 64K
TempCacheLimit = 32M
LockHashSlots = 65519 # slots
LockMemSize = 50M
MaxUnflushedWrites = -1
MaxUnflushedWriteTime = -1
WireCrypt = Enabled
RemoteServicePort = 3050
#authentication plugin setup
# Recommendation - use SELECT * FROM SEC$USERS
# to check that you have users for all plugins
AuthServer = Srp, Legacy_Auth
UserManager = Srp, Legacy_UserManager
#security database
security.db = $(dir_secDb)/security3.fdb
{
RemoteAccess = false
DefaultDbCachePages = 250
}
По всем вопросам использования калькулятора конфигураций пишите на [email protected]