手作業によるステップへのカスタムフックの追加

準備

以下が必要です。

  • カスタムのフックモジュール
  • フックの追加対象であるステップを含むフロー定義

このタスクについて

カスタムのフックモジュールを作成したならば、ステップ内のカスタムフックノードがこれを参照できるようにしなければなりません。

手順

  1. テキストエディタで、フロー定義ファイルを開きます。

    以下は、読み込みステップを含むフロー定義の一例です。

       {
        "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. stepsノード以下の部分で、このフックを追加するstepを探します。
  3. stepノード内で、customhookノードの内容を入力します。
       "customHook" : {
        "module" : "/custom-modules/your-step-type/your-hook-directory/your-hook-module-name.sjs",
        "parameters" : {
          // Add parameters as key-value pairs to pass to your custom hook module.
        },
        "user" : "flow-operator",
        "runBefore" : false
      },
    
    フィールド 説明
    moduleこのカスタムフックモジュールへのパスです。
    parametersこのカスタムフックモジュールに渡すパラメータ(キー/バリューのペア)です。
    userこのモジュールを実行するためのユーザーアカウントです。デフォルトはこのフローを実行しているユーザーです(flow-operatorなど)。
    runBeforeステップ前のフックの場合、trueと指定します。ステップ後のフックの場合、falseと指定します。
  4. このファイルを保存します。

次に行うこと

ローカルでこのフローを実行してテストします。準備ができたら、MarkLogicサーバーに対してこのフローをデプロイします(カスタムモジュールも)。