Versión actual de la API 1.0.240924
Vea las versiones de esta instrucción en Inglés Portugués Español Alemán Ruso
Para obtener una configuración con parámetros personalizados a través de la API, debe realizar los siguientes pasos:
Debe registrarse en el portal cc.ib-aid.com; Solo se requiere un correo electrónico funcional.
La contraseña de la llamada API es individual para cada usuario registrado. Se proporciona en la página principal en el widget "Obtener configuración de Firebird a través de la API".
Para generar la configuración de Firebird, debe transmitir datos sobre las características del servidor o VM en formato json.
Los datos de las características del servidor o VM deben tener la siguiente forma:
data = {
"mailLogin": "test",
"passApi": "testparol",
"serverVersion": "fb3",
"serverArchitecture": "Classic",
"cores": 8,
"countUsers": 100,
"sizeDb": 100,
"pageSize": 4096,
"ram": 16,
"nameMainDb": "mainVM",
"pathToMainDb": "c:/test/test.fdb",
"osType": "Universal",
"hwType": "Universal"
}
donde
mailLogin
- inicio de sesión para el acceso al portal, obtenido durante el registro,passApi
- contraseña para la API (ver Punto 2)serverVersion
- la versión del servidor firebird o hqbird debe especificarse de la siguiente manera: fb+número de versión o hq+número de versión. Por ejemplo, fb2.5 - para el servidor Firebird 2.5 o hq5 -- para el servidor HQBird 5serverArchitecture
-- arquitectura del servidor. El parámetro puede tomar uno de los valores: Classic, SuperClassic o SuperServercores
--- número de núcleos del servidor. De 1 a 100;countUsers
- número de usuarios. Valor mínimo - 1, máximo - 30000;sizeDb
-- tamaño de la base de datos;pageSize
--- establecer el tamaño de la página. Los valores pueden ser 4096, 8192, 16384 o 32768;ram
-- RAM del servidor. Valor mínimo - 4, máximo --- 10000;nameMainDb
-- nombre de la base de datos principal. La longitud de la cadena no debe exceder los 100 caracteres;pathToMainDb
-- ruta a la base de datos principal. La longitud de la cadena no debe exceder los 200 caracteres;osType
-- nombre del sistema operativo donde se utiliza el servidor. El valor del parámetro puede ser Windows, Linux o Universal; en la versión de la API 1.0.240924 este parámetro siempre se establece como Universal.hwType
-- El parámetro puede tomar uno de los valores: Hardware, Virtual o Universal; en la versión de la API 1.0.240924 este parámetro siempre se establece como Universal.Debe realizar una llamada API
"https://cc.ib-aid.com/rest/clc/calculation-params"
El resultado de la llamada será un archivo JSON con los siguientes campos:
{ 'inputParameters': '', 'configurationFirebird': '', 'configurationDatabase': '', 'messageError': ''}
Puedes ver un ejemplo a continuación.
Si ocurre un error al recibir los datos, se mostrará en el campo messageError:
{'inputParameters':'','configurationFirebird': '', 'configurationDatabase': '', 'messageError': 'Count of users is null. Please, set value.'}
Si un parámetro no participa en el cálculo, su valor será ignorado. Puedes omitir parámetros que no se utilizan en los cálculos.
Dependiendo de las versiones y arquitecturas de los servidores, el conjunto de parámetros de entrada necesarios cambia:
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":"mainBD",
"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","mainBD");
jobj.put("pathToMainDb","c:/test/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"}
#Configuración para Firebird 3 (vanilla) Classic (64 bits)
ServerMode = Classic # Firebird Classic
DefaultDBCachePages = 2048
FileSystemCacheThreshold = 64K
TempCacheLimit = 32M
LockHashSlots = 65519 # slots
LockMemSize = 50M
MaxUnflushedWrites = -1
MaxUnflushedWriteTime = -1
WireCrypt = Enabled
RemoteServicePort = 3050
#configuración del plugin de autenticación
# Recomendación - use SELECT * FROM SEC$USERS
# para verificar que tiene usuarios para todos los plugins
AuthServer = Srp, Legacy_Auth
UserManager = Srp, Legacy_UserManager
#base de datos de seguridad
security.db = $(dir_secDb)/security3.fdb
{
RemoteAccess = false
DefaultDbCachePages = 250
}
Para todas las preguntas relacionadas con el uso del calculador de configuración, por favor escriba a [email protected]