G2ConfigMgr
G2ConfigMgr
modifies Senzing configurations in the Senzing database.
from senzing import G2ConfigMgr, G2Exception
init
init()
initializes the G2ConfigMgr
object. It must be called prior to any other calls.
g2_config_mgr.init(g2_object_name, senzing_engine_configuration_json, verbose_logging)
Parameters
- g2_object_name: (str) A short name given to this instance of the
G2ConfigMgr
object, to help identify it within system logs.
- senzing_engine_configuration_json: (str) A JSON string containing configuration parameters.
- verbose_logging: (bool [optional]) (default False) Enables diagnostic logging. False for no logging; True for logging.
Click to expand init() example
Example
#! /usr/bin/env python3
from senzing import G2ConfigMgr, G2Exception
# REPLACE /home/user/your_project with the path to your Senzing project
senzing_engine_configuration_json = '{ "PIPELINE": { "CONFIGPATH": "/home/user/your_project/etc", "SUPPORTPATH": "/home/user/your_project/data", "RESOURCEPATH": "/home/user/your_project/resources" }, "SQL": { "CONNECTION": "sqlite3://na:na@/home/user/your_project/var/sqlite/G2C.db" } }'
g2_config_mgr = G2ConfigMgr()
try:
g2_config_mgr.init(
'G2ConfigMgr',
senzing_engine_configuration_json,
False)
g2_config_mgr.destroy()
except G2Exception as err:
print(err)
addConfig
addConfig()
adds a configuration JSON document to the Senzing database.
g2_config_mgr.addConfig(senzing_engine_configuration_json, config_comment, config_id_bytearray)
Parameters
- senzing_er_configuration_json: (JSON str) The configuration JSON document.
- config_comment: (str) A free-form string of comments describing the configuration document.
- config_id_bytearray: (bytearray) The returned configID for the new config document registered in the data store.
Click to expand addConfig() example
Example
#! /usr/bin/env python3
from senzing import G2ConfigMgr, G2Exception
# REPLACE /home/user/your_project with the path to your Senzing project
senzing_engine_configuration_json = '{ "PIPELINE": { "CONFIGPATH": "/home/user/your_project/etc", "SUPPORTPATH": "/home/user/your_project/data", "RESOURCEPATH": "/home/user/your_project/resources" }, "SQL": { "CONNECTION": "sqlite3://na:na@/home/user/your_project/var/sqlite/G2C.db" } }'
g2_config_mgr = G2ConfigMgr()
with open('Senzing_config_to_add.json', 'r') as file:
senzing_er_configuration_json = file.read().strip()
config_id_bytearray = bytearray()
try:
g2_config_mgr.init( 'G2ConfigMgr', senzing_engine_configuration_json)
g2_config_mgr.addConfig(
senzing_er_configuration_json,
'Added a configuration',
config_id_bytearray)
g2_config_mgr.destroy()
print(F"Config ID: {config_id_bytearray.decode()}")
except G2Exception as err:
print(err)
Output
Configuration id: 2180518637
getConfigList
getConfigList()
retrieves a list of the configuration JSON documents contained in the data repository.
g2_config_mgr.getConfigList(response_bytearray)
Parameters
- response_bytearray: (bytearray) Object to store the output of the method.
Click to expand getConfigList() example
Example
#! /usr/bin/env python3
from senzing import G2ConfigMgr, G2Exception
# REPLACE /home/user/your_project with the path to your Senzing project
senzing_engine_configuration_json = '{ "PIPELINE": { "CONFIGPATH": "/home/user/your_project/etc", "SUPPORTPATH": "/home/user/your_project/data", "RESOURCEPATH": "/home/user/your_project/resources" }, "SQL": { "CONNECTION": "sqlite3://na:na@/home/user/your_project/var/sqlite/G2C.db" } }'
g2_config_mgr = G2ConfigMgr()
response_bytearray = bytearray()
try:
g2_config_mgr.init( 'G2ConfigMgr', senzing_engine_configuration_json)
g2_config_mgr.getConfigList(response_bytearray)
g2_config_mgr.destroy()
print(response_bytearray.decode())
except G2Exception as err:
print(err)
Output
{
"CONFIGS":
[
{
"CONFIG_ID": 403343571,
"CONFIG_COMMENTS": "Configuration added from G2SetupConfig.",
"SYS_CREATE_DT": "2022-11-21 22:21:02.343"
}
]
}
getConfig
getConfig()
retrieves a specific configuration JSON document from the data repository.
g2_config_mgr.getConfig(config_id_bytearray, response_bytearray)
Parameters
- config_id_bytearray: (bytearray) The configID for the config document that you wish to retrieve.
- response_bytearray: (bytearray) Object to store the output of the method.
Click to expand getConfig() example
Example
#! /usr/bin/env python3
from senzing import G2ConfigMgr, G2Exception
# REPLACE /home/user/your_project with the path to your Senzing project
senzing_engine_configuration_json = '{ "PIPELINE": { "CONFIGPATH": "/home/user/your_project/etc", "SUPPORTPATH": "/home/user/your_project/data", "RESOURCEPATH": "/home/user/your_project/resources" }, "SQL": { "CONNECTION": "sqlite3://na:na@/home/user/your_project/var/sqlite/G2C.db" } }'
g2_config_mgr = G2ConfigMgr()
current_config_id = bytearray()
response_bytearray = bytearray()
try:
g2_config_mgr.init( 'G2ConfigMgr', senzing_engine_configuration_json)
g2_config_mgr.getDefaultConfigID(current_config_id)
g2_config_mgr.getConfig(
current_config_id,
response_bytearray)
g2_config_mgr.destroy()
print(response_bytearray.decode())
except G2Exception as err:
print(err)
Output
Configuration ID: 2425495991
getDefaultConfigID
getDefaultConfigID()
retrieves a specific configuration ID from the data repository.
g2_config_mgr.getDefaultConfigID(config_id_bytearray)
Parameters
- config_id_bytearray: (bytearray) Returns the configID for the current default configuration, or 0 if none is set.
Click to expand getDefaultConfigID() example
Example
#! /usr/bin/env python3
from senzing import G2ConfigMgr, G2Exception
# REPLACE /home/user/your_project with the path to your Senzing project
senzing_engine_configuration_json = '{ "PIPELINE": { "CONFIGPATH": "/home/user/your_project/etc", "SUPPORTPATH": "/home/user/your_project/data", "RESOURCEPATH": "/home/user/your_project/resources" }, "SQL": { "CONNECTION": "sqlite3://na:na@/home/user/your_project/var/sqlite/G2C.db" } }'
g2_config_mgr = G2ConfigMgr()
config_id_bytearray = bytearray()
try:
g2_config_mgr.init( 'G2ConfigMgr', senzing_engine_configuration_json)
g2_config_mgr.getDefaultConfigID(config_id_bytearray)
g2_config_mgr.destroy()
except G2Exception as err:
print(err)
print(F"Configuration ID: {config_id_bytearray.decode()}")
Output
Configuration ID: 2425495991
setDefaultConfigID
setDefaultConfigID()
sets the default configuration JSON document in the data repository.
g2_config_mgr.setDefaultConfigID(config_id_bytearray)
Parameters
- config_id_bytearray: (bytearray or int) The configuration ID for a configuration JSON document previously added to the database.
Click to expand setDefaultConfigID() example
Example
#! /usr/bin/env python3
from senzing import G2ConfigMgr, G2Exception
# REPLACE /home/user/your_project with the path to your Senzing project
senzing_engine_configuration_json = '{ "PIPELINE": { "CONFIGPATH": "/home/user/your_project/etc", "SUPPORTPATH": "/home/user/your_project/data", "RESOURCEPATH": "/home/user/your_project/resources" }, "SQL": { "CONNECTION": "sqlite3://na:na@/home/user/your_project/var/sqlite/G2C.db" } }'
g2_config_mgr = G2ConfigMgr()
default_config_id_bytearray = bytearray()
config_id_bytearray = default_config_id_bytearray
try:
g2_config_mgr.init( 'G2ConfigMgr', senzing_engine_configuration_json)
g2_config_mgr.getDefaultConfigID(default_config_id_bytearray)
g2_config_mgr.setDefaultConfigID(config_id_bytearray)
g2_config_mgr.destroy()
except G2Exception as err:
print(err)
replaceDefaultConfigID
getDefaultConfigID()
checks the current default configuration ID, and if it matches, replaces it with another configured ID in the database.
g2_config_mgr.replaceDefaultConfigID(config_id_bytearray, new_config_id_bytearray)
Parameters
- default_config_id_bytearray: (bytearray) The current default configuration value to verify.
- new_config_id_bytearray: (bytearray) The new configID value.
Click to expand replaceDefaultConfigID() example
Example
#! /usr/bin/env python3
from senzing import G2ConfigMgr, G2Exception
# REPLACE /home/user/your_project with the path to your Senzing project
senzing_engine_configuration_json = '{ "PIPELINE": { "CONFIGPATH": "/home/user/your_project/etc", "SUPPORTPATH": "/home/user/your_project/data", "RESOURCEPATH": "/home/user/your_project/resources" }, "SQL": { "CONNECTION": "sqlite3://na:na@/home/user/your_project/var/sqlite/G2C.db" } }'
g2_config_mgr = G2ConfigMgr()
default_config_id_bytearray = bytearray()
new_config_id_bytearray = default_config_id_bytearray
try:
g2_config_mgr.init( 'G2ConfigMgr', senzing_engine_configuration_json)
g2_config_mgr.getDefaultConfigID(default_config_id_bytearray)
g2_config_mgr.replaceDefaultConfigID(
default_config_id_bytearray,
new_config_id_bytearray)
g2_config_mgr.destroy()
except G2Exception as err:
print(err)
Cleanup
destroy
destroy()
destroys and performs cleanup for G2Config
.
Click to expand destroy() example
Example
#! /usr/bin/env python3
from senzing import G2ConfigMgr, G2Exception
# REPLACE /home/user/your_project with the path to your Senzing project
senzing_engine_configuration_json = '{ "PIPELINE": { "CONFIGPATH": "/home/user/your_project/etc", "SUPPORTPATH": "/home/user/your_project/data", "RESOURCEPATH": "/home/user/your_project/resources" }, "SQL": { "CONNECTION": "sqlite3://na:na@/home/user/your_project/var/sqlite/G2C.db" } }'
g2_config_mgr = G2ConfigMgr()
try:
g2_config_mgr.destroy()
except G2Exception as err:
print(err)