Add a Custom Hook to a Step Manually

Before you begin

You need:

  • a custom hook module
  • a flow configuration with the step to which the hook would be added

About this task

After creating a custom hook module, you must refer to it from a custom hook node in your step.

Procedure

  1. In a text editor, open the flow configuration file.

    The following is an example of a flow configuration structure with an ingestion step.

       {
        "name": "your-flow-name",
        "description": "",
        "batchSize": 100,
        "threadCount": 4,
        "options": {
          "sourceQuery": null
        },
        "steps": {
          "1": {
            "name" : "your-step-name",
            "stepDefinitionName" : "your-ingestion-step-def-name",
            "description" : null,
            "stepDefinitionType" : "INGESTION",
            "options" : {
              "collections" : [ "your-ingestion-step-name" ],
              "outputFormat" : "json",
              "targetDatabase" : "data-hub-STAGING"
            },
            "customHook" : { },
            "retryLimit" : 0,
            "batchSize" : 100,
            "threadCount" : 4,
            "fileLocations" : {
              "inputFilePath" : "",
              "outputURIReplacement" : "",
              "inputFileType" : ""
            }
          }
        }
      }
    
  2. Under the steps node, search for the step to which to add the hook.
  3. Inside the step node, fill in the customhook node.
       "customHook" : {
        "module" : "/custom-modules/your-step-type/your-hook-directory/your-hook-module-name.sjs",
        "parameters" : {
          "myParameter" : "myParameterValue"
        },
        "user" : "flow-operator",
        "runBefore" : false
      },
    
    Name Description
    customHook » module The path to your custom hook module.
    customHook » parameters Parameters, as key-value pairs, to pass to your custom hook module.
    customHook » user The user account to use to run the module. The default is the user running the flow; e.g., flow-operator.
    customHook » runBefore For a pre-step hook, set to true. For a post-step hook, set to false.
  4. Save your file.

What to do next

Run your flow locally to test it. When ready, deploy your flows and custom modules to your MarkLogic Server.