Product Selector

Fusion 5.9
    Fusion 5.9

    REST V2Connector Configuration Reference

    Table of Contents

    The REST V2 connector is a way to use one connector for multiple datasources. It works with recipes, which are premade JSON configurations.

    See the concept section for more information.

    An API call is made to the REST V2 connector containing a recipe as the body. API calls to set up the REST V2 connector go through the Connector Datasources API.

    This article lists and describes the Fusion properties used by REST V2. The recommended method of populating these fields is through the use of a recipe. For information on how to get a recipe from the public GitHub repository into Fusion, see How to use REST V2 recipes.

    The REST V2 connector performs a full crawl each time the connectors runs, as incremental crawling is not supported. When changes are made to the source, such as adding, deleting, or modifying content, those changes will reflect in the index after the next crawl is performed. You can check for new documents in the index by navigating to Querying > Query Workbench in the Fusion UI.

    Remote connectors

    V2 connectors support running remotely in Fusion versions 5.7.1 and later. Refer to Configure Remote V2 Connectors.

    Below is an example configuration showing how to specify the file system to index under the connector-plugins entry in your values.yaml file:

    additionalVolumes:
    - name: fusion-data1-pvc
        persistentVolumeClaim:
        claimName: fusion-data1-pvc
    - name: fusion-data2-pvc
        persistentVolumeClaim:
        claimName: fusion-data2-pvc
    additionalVolumeMounts:
    - name: fusion-data1-pvc
        mountPath: "/connector/data1"
    - name: fusion-data2-pvc
        mountPath: "/connector/data2"

    You may also need to specify the user that is authorized to access the file system, as in this example:

    securityContext:
        fsGroup: 1002100000
        runAsUser: 1002100000

    A connector designed to assist in setting up and indexing data from multiple REST APIs

    properties - REST Connector properties

    Plugin specific properties.

    serviceURL - string

    The base URL of the API for retrieving external data.

    authenticationMode - Authentication

    The method of authentication used to connect to the third-party service.

    basicAuth - Basic Authentication

    Basic Authentication Properties

    user - string

    The username for Basic Authentication with the REST API source.

    >= 1 characters

    password - string

    The password or secret value to perform the Basic Authentication to the REST API source. For example: password or API Key.

    >= 1 characters

    customAuth - Custom Authentication

    Custom Authentication Properties

    authUrl - string

    The URL used when authenticating to the third-party service.

    httpMethod - string

    The HTTP method to use for the request.

    Default: POST

    Allowed values: GETPOST

    secureVariables - array[object]

    Variables to use within the authentication request definition.

    object attributes:{keyName : {
     display name: Key Name
     type: string
    }
    secretValue : {
     display name: Secret Value
     type: string
    }
    }

    headers - array[object]

    Headers to use within the authentication request.

    object attributes:{headerKey : {
     display name: Header Key
     type: string
    }
    headerValue : {
     display name: Header Value
     type: string
    }
    }

    queries - array[object]

    Query parameters to include in the authentication request.

    object attributes:{queryKey : {
     display name: Query Key
     type: string
    }
    queryValue : {
     display name: Query Value
     type: string
    }
    }

    bodyAuthRequest - string

    The body of the authentication request in JSON format.

    oAuth - OAuth

    OAuth Authentication Properties

    oAuthServiceUrl - string

    The URL of the service used to retrieve OAuth data.

    oAuthEndpoint - string

    Endpoint path for OAuth data. For example: /services/oauth2/token

    httpMethod - string

    HTTP method to be used in the request.

    Default: POST

    Allowed values: POSTGET

    plainVariables - array[object]

    Plain text variables to include in the authentication request definition.

    object attributes:{keyName : {
     display name: Key Name
     type: string
    }
    keyValue : {
     display name: Key Value
     type: string
    }
    }

    secureVariables - array[object]

    Secret variables to use within the authentication request definition.

    object attributes:{keyName : {
     display name: Key Name
     type: string
    }
    secretValue : {
     display name: Secret Value
     type: string
    }
    }

    headerAuthorizationTemplate - string

    A template for inserting authorization details, such as Bearer ${LW_ACCESS_TOKEN}

    accessTokenPath - string

    The path to the access token within the response. This property also accepts JsonPath expressions, such as objects, objects[*] or $.objects[*].

    oAuthValuesLocation - string

    Specify if OAuth key-value pair should be sent in request parameters, headers, the request body as JSON, or as URL-encoded data.

    Default: REQUEST PARAM

    Allowed values: REQUEST PARAMHEADERBODY JSONURL ENCODED

    serviceEndpoints - array[object]

    A list of request configurations for service endpoints. This property is deprecated.

    object attributes:{rootRequest required : {
     display name: Root Request Configuration
     type: object
    }
    childrenRequests : {
     display name: Child Request Configuration
     type: array
    }
    }

    requestConfigurations - array[object]

    A hierarchical list of requests to fetch data from the REST source.

    object attributes:{request required : {
     display name: Request Configuration
     type: object
    }
    }

    limitDocuments - Limit Documents

    Restrictions to be placed on documents fetched.

    excludeByRegex - array[object]

    Exclude documents by Regular Expression

    object attributes:{key : {
     display name: Key
     type: string
    }
    value : {
     display name: RegEx value to exclude
     type: string
    }
    }

    filterByFileSize - Exclude by File Size

    Filter documents that are outside of the minimum/maximum size limits.

    key - string

    Specifies the field name of the object containing the file size. This property also supports JsonPath expressions, such as objects.nested.path

    >= 1 characters

    minimumSize - number

    Excludes files with sizes smaller than the configured value.

    >= -9223372036854776000

    <= 9223372036854776000

    exclusiveMinimum: false

    exclusiveMaximum: false

    Default: 1

    Multiple of: 1

    maximumSize - number

    Excludes files with sizes larger than the configured value. Set to -1 when there is no limit.

    >= -9223372036854776000

    <= 9223372036854776000

    exclusiveMinimum: false

    exclusiveMaximum: false

    Default: -1

    Multiple of: 1

    httpClientProperties - HTTP Client Settings

    A set of options for configuring the HTTP client.

    readTimeoutMs - number

    <= 600000

    exclusiveMinimum: false

    exclusiveMaximum: false

    Default: 300000

    Multiple of: 1

    connectTimeoutMs - number

    <= 300000

    exclusiveMinimum: false

    exclusiveMaximum: false

    Default: 60000

    Multiple of: 1

    retryProperties - Retry Properties

    Configure the retry behavior for failed requests.

    retryCount - number

    Number of attempts a request will be retried

    >= 1

    <= 36

    exclusiveMinimum: false

    exclusiveMaximum: false

    Default: 3

    Multiple of: 1

    maxDelayTime - number

    The maximum wait time in milliseconds between retries.

    >= 1000

    <= 60000

    exclusiveMinimum: false

    exclusiveMaximum: false

    Default: 60000

    Multiple of: 1

    id - stringrequired

    A unique identifier for this Configuration.

    >= 1 characters

    Match pattern: ^[a-zA-Z0-9_-]+$

    pipelineId - stringrequired

    Name of the IndexPipeline used for processing output.

    >= 1 characters

    Match pattern: ^[a-zA-Z0-9_-]+$

    parserId - string

    The Parser to use in the associated IndexPipeline.

    Match pattern: ^[a-zA-Z0-9_-]+$

    description - string

    Optional description

    <= 125 characters

    diagnosticLogging - boolean

    Enable diagnostic logging; disabled by default

    Default: false

    coreProperties - Core Properties

    Common behavior and performance settings.

    fetchSettings - Fetch Settings

    System level settings for controlling fetch behavior and performance.

    numFetchThreads - number

    Maximum number of fetch threads; defaults to 5. This setting controls the number of threads that call the Connectors fetch method. Higher values can, but not always, help with overall fetch performance.

    >= 1

    <= 500

    exclusiveMinimum: false

    exclusiveMaximum: false

    Default: 5

    Multiple of: 1

    indexingThreads - number

    Maximum number of indexing threads; defaults to 4. This setting controls the number of threads in the indexing service used for processing content documents emitted by this datasource. Higher values can sometimes help with overall fetch performance.

    >= 1

    <= 10

    exclusiveMinimum: false

    exclusiveMaximum: false

    Default: 4

    Multiple of: 1

    pluginInstances - number

    Maximum number of plugin instances for distributed fetching. Only specified number of plugin instances will do fetching. This is useful for distributing load between different instances.

    <= 500

    exclusiveMinimum: false

    exclusiveMaximum: false

    Default: 0

    Multiple of: 1

    fetchResponseScheduledTimeout - number

    The maximum amount of time for a response to be scheduled. The task will be canceled if this setting is exceeded.

    >= 1000

    <= 500000

    exclusiveMinimum: false

    exclusiveMaximum: false

    Default: 300000

    Multiple of: 1

    indexingInactivityTimeout - number

    The maximum amount of time to wait for indexing results (in seconds). If exceeded, the job will fail with an indexing inactivity timeout.

    >= 60

    <= 691200

    exclusiveMinimum: false

    exclusiveMaximum: false

    Default: 86400

    Multiple of: 1

    pluginInactivityTimeout - number

    The maximum amount of time to wait for plugin activity (in seconds). If exceeded, the job will fail with a plugin inactivity timeout.

    >= 60

    <= 691200

    exclusiveMinimum: false

    exclusiveMaximum: false

    Default: 600

    Multiple of: 1

    indexMetadata - boolean

    When enabled the metadata of skipped items will be indexed to the content collection.

    Default: false

    indexContentFields - boolean

    When enabled, content fields will be indexed to the crawl-db collection.

    Default: false

    asyncParsing - boolean

    When enabled, content will be indexed asynchronously.

    Default: false