Aktuelle API-Version 1.0.240924
Siehe Versionen dieser Anleitung in Englisch Portugiesisch Spanisch Deutsch Russisch
Um eine Konfiguration mit benutzerdefinierten Parametern über die API zu erhalten, müssen Sie die folgenden Schritte ausführen:
Sie müssen sich auf dem Portal cc.ib-aid.com registrieren; Es ist nur eine funktionierende E-Mail erforderlich.
Das API-Aufrufpasswort ist für jeden registrierten Benutzer individuell. Es wird auf der Hauptseite im Widget "Firebird-Konfiguration über API erhalten" bereitgestellt.
Um die Firebird-Konfiguration zu generieren, müssen Sie Daten über die Server- oder VM-Eigenschaften im JSON-Format übermitteln.
Die Daten zu den Server- oder VM-Eigenschaften sollten folgende Form haben:
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"
}
wo
mailLogin
- Login für den Portalzugang, der während der Registrierung erhalten wurde,passApi
- Passwort für die API (siehe Punkt 2)serverVersion
- Die Firebird- oder HQBird-Serverversion sollte wie folgt angegeben werden: fb+Versionsnummer oder hq+Versionsnummer. Zum Beispiel fb2.5 - für Firebird 2.5 Server oder hq5 -- für HQBird 5 ServerserverArchitecture
-- Serverarchitektur. Der Parameter kann einen der folgenden Werte annehmen: Classic, SuperClassic oder SuperServercores
--- Anzahl der Serverkerne. Von 1 bis 100;countUsers
- Anzahl der Benutzer. Mindestwert - 1, maximal - 30000;sizeDb
-- Datenbankgröße;pageSize
--- Seitengröße festlegen. Werte können 4096, 8192, 16384 oder 32768 sein;ram
-- Server-RAM. Mindestwert - 4, maximal --- 10000;nameMainDb
-- Name der Hauptdatenbank. Die Zeichenlänge sollte 100 Zeichen nicht überschreiten;pathToMainDb
-- Pfad zur Hauptdatenbank. Die Zeichenlänge sollte 200 Zeichen nicht überschreiten;osType
-- Name des Betriebssystems, auf dem der Server verwendet wird. Der Parameterwert kann Windows, Linux oder Universal sein; in der API-Version 1.0.240924 ist dieser Parameter immer auf Universal gesetzt.hwType
-- Der Parameter kann einen der folgenden Werte annehmen: Hardware, Virtual oder Universal; in der API-Version 1.0.240924 ist dieser Parameter immer auf Universal gesetzt.Sie müssen einen API-Aufruf machen
"https://cc.ib-aid.com/rest/clc/calculation-params"
Das Ergebnis des Aufrufs wird eine JSON-Datei mit den folgenden Feldern sein:
{ 'inputParameters': '', 'configurationFirebird': '', 'configurationDatabase': '', 'messageError': ''}
Sie können ein Beispiel unten sehen.
Wenn beim Empfangen der Daten ein Fehler auftritt, wird dieser im Feld messageError angezeigt:
{'inputParameters':'','configurationFirebird': '', 'configurationDatabase': '', 'messageError': 'Count of users is null. Please, set value.'}
Wenn ein Parameter nicht an der Berechnung teilnimmt, wird sein Wert ignoriert. Sie können Parameter weglassen, die nicht in Berechnungen verwendet werden.
Je nach Versionen und Architekturen der Server ändert sich der Satz der notwendigen Eingabeparameter:
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"}
#Konfiguration für 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
#Authentifizierungs-Plugin-Setup
# Empfehlung - verwenden Sie SELECT * FROM SEC$USERS
# um zu überprüfen, ob Sie Benutzer für alle Plugins haben
AuthServer = Srp, Legacy_Auth
UserManager = Srp, Legacy_UserManager
#Sicherheitsdatenbank
security.db = $(dir_secDb)/security3.fdb
{
RemoteAccess = false
DefaultDbCachePages = 250
}
Für alle Fragen zur Verwendung des Konfigurationsrechners schreiben Sie bitte an [email protected]