#author("2023-06-08T16:19:20+09:00","","")
[[Smile:D]]

Apache NiFiを使用して設定ファイルに記載されたURLのファイルを取得するためには、以下の手順を実行する必要があります。

+NiFiのフローファイルを開き、新しいプロセッサを追加します(例:InvokeHTTP)。
+プロセッサを構成するために、プロセッサのプロパティを設定します。
--HTTP Method: ファイルを取得するために使用するHTTPメソッド(GETなど)を指定します。
--Remote URL: 取得したいファイルのURLを指定します。これは設定ファイルから取得される値となります。
--Output Directory: 取得したファイルを保存するディレクトリを指定します。
+必要に応じて、その他のプロセッサのプロパティを構成します。例えば、リクエストヘッダーを追加する場合など。
+フローファイルを保存してNiFiを起動します。

これにより、NiFiは指定されたURLからファイルを取得し、指定された出力ディレクトリに保存します。設定ファイルからURLを取得する方法については、NiFiのバージョンや使用しているプラグインに依存します。一般的な方法としては、NiFiのプロセッサ間で値を渡すための属性やフローファイルのパラメータを使用することができます。


----
設定ファイルから取得した値をRemote URLに指定するには、NiFiのプロパティを使用して値を渡す方法があります。以下に例を示します。

+NiFiのフローファイルを開き、対象のプロセッサ(例:InvokeHTTP)を選択します。
+プロセッサのプロパティを開き、Remote URLの値を以下のように設定します。
--${property名}: プロパティ名を設定します。例えば、${url}とします。
+プロパティの値を設定するために、NiFiのグローバルプロパティを設定します。
--NiFiのツールバーから「Controller Settings」をクリックします。
--「Add Property」をクリックして新しいプロパティを追加します。
--プロパティ名には先ほど指定した${url}を入力し、値には設定ファイルから取得したURLの値を入力します。例えば、http://example.com/files/sample.txtなどです。
+フローファイルを保存してNiFiを起動します。

----
 #!/bin/bash
 
 # NiFiのホストとポートを指定します
 NIFI_HOST="localhost"
 NIFI_PORT="8080"
 
 # 設定するプロパティ名と値を指定します
 PROPERTY_NAME="url"
 PROPERTY_VALUE="http://example.com/files/sample.txt"
 
 # NiFiのREST APIエンドポイントURLを構築します
 API_URL="http://${NIFI_HOST}:${NIFI_PORT}/nifi-api/controller- services/{service-id}/properties"
 
 # サービスIDを取得するために、NiFiのプロパティエンドポイントを呼び出します
 SERVICE_NAME="InvokeHTTP"  # 対象のプロセッサ名を指定します
 SERVICE_ID=$(curl -sX GET "${API_URL}" | jq --arg SERVICE_NAME "$SERVICE_NAME" 
 '.controllerServices[] | select(.component.name == $SERVICE_NAME) | .id')
 
 # プロパティ値を設定するために、NiFiのプロパティエンドポイントを呼び出します
 curl -sX PUT "${API_URL}" \
   -H "Content-Type: application/json" \
   -d '{"properties":{"'"$PROPERTY_NAME"'":"'"$PROPERTY_VALUE"'"}}' \
   | jq

トップ   差分 バックアップ リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS