G2ConfigMgr
Version 3.x
Version 2.x
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)