You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

The RDB via Tables Connector can be configured using the Rest API. It requires the following entities to be created:

  • Credential
  • Connection
  • Connector
  • Seed

Below are the examples of how to create the Credential, Connection and the Seed. For the Connector, please check this page.

Create Credential


FieldOptionalDefaultMultipleNotesExample
typeNo-NoThe value must be "rdb-tables"."rdb-tables"
descriptionNo-NoName of the credential object."My RDB Credential"
propertiesNo-NoConfiguration object
usernameNo-NoUser name."admin"
passwordNo-NoPassword."adminPassword"

Example

POST aspire/_api/credentials
{
    "type": "rdb-tables",
    "description": "My RDB Credential",
    "properties": {
        "username": "admin",
        "password": "adminPassword"
    }
}

Create Connection


FieldOptionalDefaultMultipleNotesExample
typeNo-NoThe value must be "rdb-tables"."rdb-tables"
descriptionNo-NoName of the connection object."My RDB Connection"
throttlePolicyYes-NoId of the throttle policy that applies to this connection object."6b235b333a1b"
routingPoliciesYes[ ]YesThe ids of the routing policies that this connection will use.["17f75ce7d0c7", "d42780003b36"]
credentialNo-NoId of the credential"6b235b333a1b"
propertiesNo-NoConfiguration object
jdbcUrlNo-NoThe JDBC url for your RDBMS server and database. Use database marker {DATABASE} to denote the database"jdbc:mysql://db:3306/{DATABASE}"
jdbcDriverJarNo-NoPath to the JDBC driver jar file for your RDBMS."/lib/myjdbcdriver.jar"
jdbcDriverClassYessee notesNoThe name of the default JDBC driver class (if the class name from the META-INF/services/java.sql.Driver file in the driver Jar file should not be used), or if that file does not exist in the driver jar file (Oracle)"java.sql.Driver"
jdbcDriverClasspathYesthe driver jar fileNoThe class path for external jars required by the jdbc driver
stopOnErrorYestrueNoWhen selected, the scan stops if the JDBC driver throws an error while getting a row, and the crawl halts. When unselected, the connector attempts to get subsequent rowsfalse
useSlicesYesfalseNo

Select this option to divide the full SQL into multiple slices. For example,if you have a 10 Million row table to scan, executing the 10 M query will take a while. After it completes, the connector starts sending items. By activating 10 slices, the scan is split into 10 1 Million scans, which takes less time and you can view results faster. This only works when the idColumn contains an integer.

true
numSlicesYes-NoThe number of SQL slices to split fullSQL. Slicing the full SQL should improve the performance significantly if a big database is to be crawled. Only works when the id column is an integer10
percentAsModYesfalseNo

Use % Operator for Modulo. Check this option if you want to specify the MODULO operator to use for a particular Database system that doesn't recognize the MOD() function. "MOD()" is available for MySQL, PostgreSQL and Oracle. But systems like Microsoft SQL Server you must check this option

true
customFetchSizeYesfalseNoCheck this box if you need to specify a fetch size to the JDBC driver to use when getting resultstrue
fetchSizeYes50NoThis option indicates to the JDBC driver how it should do paging when retrieving results100

Example

POST aspire/_api/connections
{
   "type": rdb-tables,
   "description": "RDB_TEST",
   "properties": {
       "jdbcUrl":"jdbc:mysql://%s/{DATABASE}",
        "jdbcDriverJar" : "/lib/myjdbcdriver.jar",
        "jdbcDriverClass": null,
        "jdbcDriverClasspath": null,
        "stopOnError": true,
        "useSlices": false,
        "numSlices": 2,
        "percentAsMod": false,
        "customFetchSize": true,
        "fetchSize": 10
}

Update Connection


FieldOptionalDefaultMultipleNotesExample
idNo-NoId of the connection to update"d442adcab4b0",
descriptionYes-NoName of the connection object."My RDB Connection"
throttlePolicyYes-NoId of the throttle policy that applies to this connection object."b3a9-6b235b333a1b"
routingPoliciesYes[ ]YesThe ids of the routing policies that this connection will use.["17f75ce7d0c7", "d42780003b36"]
credentialYes-NoId of the credential"6b235b333a1b"
propertiesYes-NoConfiguration object
(see create connection)




Example

PUT aspire/_api/connections/89d6632a-a296-426c-adb0-d442adcab4b0
{
   "id": "89d6632a-a296-426c-adb0-d442adcab4b0",
   "description": "RDB_TEST",
   "properties": {
       "jdbcUrl":"jdbc:mysql://%s/{DATABASE}",
        "jdbcDriverJar" : "/lib/myjdbcdriver.jar",
        "jdbcDriverClass": null,
        "jdbcDriverClasspath": null,
        "stopOnError": true,
        "useSlices": false,
        "numSlices": 2,
        "percentAsMod": false,
        "customFetchSize": true,
        "fetchSize": 10
}

Create Connector


For the creation of the Connector object using the Rest API check this page

Update Connector


For the update of the Connector object using the Rest API check this page

Create Seed


FieldOptionalDefaultMultipleNotesExample
seedNo-NoThe name of the database. It will replace the marker {DATABASE} used in the field jdbcUrl of connection object"test_db"
typeNo-NoThe value must be "rdb-tables"."rdb-tables"
descriptionNo-NoName of the seed object."My RDB Seed"
connectorNo-NoThe id of the connector to be used with this seed. The connector type must match the seed type."e3ca414b0d31"
connectionNo-NoThe id of the connection to be used with this seed. The connection type must match the seed type."e4a663fe9ee6"
workflowsYes[ ]YesThe ids of the workflows that will be executed for the documents crawled.["5696c3f0bda4"]
throttlePolicyYes-NoId of the throttle policy that applies to this seed object."6b235b333a1b"
routingPoliciesYes[ ]YesThe ids of the routing policies that this seed will use.["17f75ce7d0c7", "d42780003b36"]
tagsYes[ ]YesThe tags of the seed. These can be used to filter the seed["tag1", "tag2"]
propertiesYes-NoConfiguration object
seedsIncludedyes-yesThose seeds will be included in crawling identities["32a6f27179d4"]
seedsExcludedyes-yesThose seeds will be excluded from crawling identities["32a6f27179d4"]
seedsIdentities localyes-yesCustom mapping local
idno-noThe seed id for the mapping

"32a6f27179d4"

identityKeyTypeno-noThe value must be "local""local"
identityKeyAttrno-noThe name of the mapping attribute"someAttributeName"
seedsIdentities externalyes-yesCustom mapping external
idno-noThe seed id for the mapping

"32a6f27179d4"

identityKeyTypeno-noThe value must be "external""external"
identityKeyAttrno-noThe name of the mapping attribute in external seed"someAttributeName"
externalSeedno-noThe external seed id"32a6f27179d4"
externalLookupAttributeno-noThe external lookup attribute name"externalLookupAttrName"

Example


POST aspire/_api/seeds
{
    "type": "group-expansion",
    "seed": "seed_placeholder",
    "connector": "82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31",
    "description": "GroupExpansion_Test_Seed",
    "throttlePolicy": "6b8b5f23-fc77-47a1-9b58-106577162e7b",
    "routingPolicies": ["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"],
    "connection": "602d3700-28dd-4a6a-8b51-e4a663fe9ee6",
    "workflows": ["f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"],
    "tags": ["tag1", "tag2"],
    "properties": {
       "seedsIncluded": [
           "5b9f4074-01a3-4d86-8642-32a6f27179d4"
        ],
       "seedsExcluded": [],
       "seedsIdentities": [
           {
             "id": "5b9f4074-01a3-4d86-8642-32a6f27179d4",
             "identityKeyType": "local",
             "identityKeyAttr": "someAttrName"
            }
       ]
    }
}

Update Seed


FieldOptionalDefaultMultipleNotesExample
idNo-NoId of the seed to update"2f287669-d163-4e35-ad17-6bbfe9df3778"
(see the "Create seed" for other fields)




Example

PUT aspire/_api/seeds/2f287669-d163-4e35-ad17-6bbfe9df3778
{
    "id": "2f287669-d163-4e35-ad17-6bbfe9df3778",
    "connector": "82f7f0a4-8d28-47ce-8c9d-e3ca414b0d31",
    "description": "FileSystem_Test_Seed",
    "throttlePolicy": "6b8b5f23-fc77-47a1-9b58-106577162e7b",
    "routingPolicies": ["313de87c-3cb9-4fe0-a2cb-17f75ce7d0c7", "b4d2579f-1a0a-4a8b-9fd4-d42780003b36"],
    "connection": "602d3700-28dd-4a6a-8b51-e4a663fe9ee6",
    "workflows": ["b255e950-1dac-46dc-8f86-1238b2fbdf27", "f8c414cb-1f5d-42ef-9cc9-5696c3f0bda4"],
    "tags": ["tag", "tag2"],
    "properties": {
       "seedsIncluded": [
           "5b9f4074-01a3-4d86-8642-32a6f27179d4"
        ],
       "seedsExcluded": [],
       "seedsIdentities": [
           {
             "id": "5b9f4074-01a3-4d86-8642-32a6f27179d4",
             "identityKeyType": "local",
             "identityKeyAttr": "someAttrName"
            }
       ]
    }
}
  • No labels