Center¶
Center Properties¶
To run the ami center, include center
in the list of components found in the the ami.components
property, e.g: ami.components=center
. By default, all three components are running.
General¶
-
Default:
3270
- Sets the port of the primary instance of AMI center.
-
Default: Optional
- Specifies the network interface that the
ami.center.port
server port will be bound to.
- Specifies the network interface that the
-
Default: Optional
- Provide either a list of permitted hostname patterns, or a plugin for blocking/granting access based on foreign network address.
- Syntax:
- file:
file:<file_containing_a_hostname_patterns_per_line\>
- text:
text:<newline_delimited_list_of_hostname_patterns>
- plugin:
plugin:<class_name_implementing_com.f1.ami.amicommon.AmiServerSocketEntitlementsPlugin\>
- file:
-
Default: Optional
- Set the secure port that AMI center listens on.
-
Default: Optional
- Path to the keystore file (using Oracle keytool).
-
Default: Optional
- Password associated to the keystore file.
-
Default:
data/idfountain
- The path used by AMI's persist engine for managing auto-incrementing IDs (amiid).
-
Default:
1000000
- The number of IDs AMI should generate per visit to the physical store.
- Larger numbers mean less frequent visits to the file system, but result in larger potential id-gaps on restart.
-
Default:
EST5EDT
- The default timezone of the center.
- When users access the center directly, this is the timezone that will be used.
Note
This is different to the web property
ami.default.user.timeZone
which affects the web session. Please see this configuration guide for default user sessions in web.
Authentication¶
-
Default:
com.f1.ami.web.auth.AmiAuthenticatorFileBacked
(authentication managed viaaccess.txt
)- Class name of custom authentication plugin if using.
- Custom entitlement authenticators must implement the
com.f1.ami.web.auth.AmiAuthenticator
interface. See how here.
-
Default:
com.f1.ami.web.auth.AmiAuthenticatorFileBacked
(points to${ami.db.auth.plugin.class}
)- Class name of custom authentication plugin if using.
- Custom entitlement authenticators must implement the
com.f1.ami.web.auth.AmiAuthenticator
interface. See how here. - Sets target database's JDBC endpoints.
Datasources¶
-
Default: List of 3forge-provided datasource adapters (see expandable block)
Datasource adapter list
com.f1.ami.plugins.mysql.AmiMysqlDatasourcePlugin,\ com.f1.ami.center.ds.AmiKxDatasourcePlugin,\ com.f1.ami.center.ds.AmiFlatFileDatasourcePlugin,\ com.f1.ami.center.ds.AmiShellDatasourcePlugin,\ com.f1.ami.center.ds.AmiAmiDbDatasourcePlugin,\ com.f1.ami.center.ds.AmiGenericJdbcDatasourcePlugin,\ com.f1.ami.plugins.postgresql.AmiPostgresqlDatasourcePlugin,\ com.f1.ami.plugins.oracle.AmiOracleDatasourcePlugin,\ com.f1.ami.plugins.excel.AmiExcelDatasourcePlugin,\ com.f1.ami.plugins.db2.AmiDb2DatasourcePlugin,\ com.f1.ami.plugins.ssh.AmiSshDatasourcePlugin,\ com.f1.ami.plugins.ssh.AmiSftpDatasourcePlugin,\ com.f1.ami.center.ds.AmiQuandlDatasourcePlugin,\ com.f1.ami.center.ds.AmiFredDatasourcePlugin,\ com.f1.ami.center.ds.AmiOneTickDatasourcePlugin,\ com.f1.ami.plugins.restapi.AmiRestAPIDatasourcePlugin,\ com.f1.ami.plugins.sqlite.AmiSqLiteDatasourcePlugin
- Default datasource adapters are provided by AMI and implement the
AmiDatasourcePlugin
interface. - For custom adapters that we do not provide, see this documentation to write your own.
- Default datasource adapters are provided by AMI and implement the
-
Default:
5
- Maximum number of queries to a specific datasource that can be invoked simultaneously.
ami.datasource.timeout.millis
-
Default:
60000
- Time in milliseconds AMI will wait for a datsource to respond to a query before timing out.
Database General¶
-
Default: Optional
- Comma delimited list of
.amisql
files to execute on startup, before the managed schema. - E.g, custom methods that require compilation before the managed schema is executed.
- Recommended file path:
data/custom_methods.amisql
- Comma delimited list of
-
Default:
config/schema.amisql
(Optional)- Comma delimited list of
.amisql
files to execute on startup, read after the managed schema.
- Comma delimited list of
-
Default:
data/managed_schema.amisql
- File that contains the user-defined schema to execute on startup (public tables).
- This file is updated when the user creates new public tables within AMI via the shell tool.
- This is not the same as persisting the data.
-
Default:
100
- Max delay for refreshing changes to the front end.
- Corresponds to the
RefreshPeriodMs
setting when creating tables using persist engine.
-
Default:
4
- Max stack size for nesting triggers/procedure calls.
-
Default:
persist
- Directory that persisted data is stored in.
-
Default:
persist
- Directory that the persisted system files are stored in.
-
Default: Optional
- Manually set the directory of where to store the persisted data of a given system table file.
- E.g,
ami.db.persist.dir.system.table.__DATASOURCE=path/to/datasources
-
Default:
default
(Optional)- Set to
default
to encrypt the system tables. - Include the decrypter package in your
start.sh
script. - See the encryption documentation for more information.
- Set to
-
Default: Optional
- Manually set which system table file to encrypt and with what encrypter.
- Include the decrypter package in your
start.sh
script. - See the encryption documentation for more information.
-
Default:
1000
(Optional)- How long to wait for write-lock before timing out.
-
Default: false (Optional)
- Allow users to access undefined datasources.
-
Default:
20000
(Optional)- How many rows get sent per batch from the Center when a Web (or other component) requests a snapshot
Historical Database Options¶
-
Default:
hdb
(Optional)- Created when a historical data tables is first created.
- You can override the directory and provide your own.
- For more information on historical tables and partitions, see here.
-
Default:
8192
(Optional)- Size in bytes of data block for reading/writing to
hdb
directory.
- Size in bytes of data block for reading/writing to
-
Default:
32
(Optional)- Maximum number of open file handles for the historical table.
- For more information on historical tables and partitions, see here.
Database Console (For Telnet)¶
-
Default:
3290
- Port for connecting to AMIDB via telnet command line interface.
-
Default: Optional
- Specifies network interface that the AMIDB console server port will be bound to.
-
Default: Optional
- Provide either a list of permitted hostname patterns, or a plugin for blocking/granting access based on foreign network address.
- Syntax:
- file:
file:<file_containing_a_hostname_patterns_per_line\>
- text:
text:<newline_delimited_list_of_hostname_patterns>
- plugin:
plugin:<class_name_implementing_com.f1.ami.amicommon.AmiServerSocketEntitlementsPlugin\>
- file:
-
Default: Optional
- String to customize AMIDB console prompt.
- E.g, PROD -> AMID-PROD.
-
Default:
./history
- Directory storing the command line history.
-
Default:
10000
- Maximum number of lines to store.
-
Default:
3280
- -1 to disable.
- Port for connecting to AMI via JDBC.
-
Default:Optional
- Specifies network interface that the JDBC server port will be bound to.
-
Default: Disabled
- Port for connecting to AMI via JDBC using a SSL connection.
-
Default: Optional
- Path to the JDBC keystore file (using Oracle keytool).
-
Default: Optional
- Password associated to the JDBC keystore file.
-
Default:
- Specifies network interface that the JDBC SSL server port will be bound to.
- Default:
-
Default: Optional
- Provide either a list of permitted hostname patterns, or a plugin for blocking/granting access based on foreign network address.
- Syntax:
- file:
file:<file_containing_a_hostname_patterns_per_line\>
- text:
text:<newline_delimited_list_of_hostname_patterns>
- plugin:
plugin:<class_name_implementing_com.f1.ami.amicommon.AmiServerSocketEntitlementsPlugin\>
- file:
Database Plugins¶
The following are a list of accepted non-default plugins that AMIDB can take. Each plugin must implement the respective custom Java plugin format, information for which can be found here.
-
Implements:
AmiTimerFactory
- Comma delimited list of timers.
-
Implements:
AmiStoredProcFactory
- Comma delimited list of custom procedures.
-
Implements:
AmiTriggerFactory
- Comma delimited list of custom triggers.
-
Implements:
AmiTablePersisterFactory
- Comma delimited list of user-defined persistence engines.
Resources¶
-
Default: Optional
- Path to directory where resources such as images and audio files are stored.
- Accessed via the front end in Dashboard -> Resource Manager.
-
Default:
5000
- How often the resources directory is scanned for new/updated files.
Custom Classes¶
-
Default: Optional
- A comma delimited list of the fully qualified Java class name (package, Java class) of your custom AMI class(es).
- For more information on custom classes, see here.
-
Default:
1000
(Optional)- Maximum number of messages processed in a single batch.
Legacy¶
-
Default:
500
(Optional)- Frequency of publishing changes.
-
Default:
15000
(Optional)- Frequency of statistics logging.
-
Default: Optional
- Declare a readonly variable available in the AMI Center database
- The value must be properly formatted to indicate the type.
-
You can see variables via SHOW VARS, e.g:
amiscript.db.variable.hello="world" //declare a string named hello
amiscript.db.variable.num=123L //declare a long named num.
-
Default:
strDecrypt
(Optional)- Comma delimited list of functions to disable.
-
Default:
READ,WRITE,ALTER,EXECUTE
- Comma delimited list of permissions for user with no AMIDB permissions configured for their account.
-
Default:
true
(Optional)- Runs defragmentation on persisted table data if true, which will clear empty blocks.