Apache NiFiを使用して設定ファイルに記載されたURLのファイルを取得するためには、以下の手順を実行する必要があります。
これにより、NiFiは指定されたURLからファイルを取得し、指定された出力ディレクトリに保存します。設定ファイルからURLを取得する方法については、NiFiのバージョンや使用しているプラグインに依存します。一般的な方法としては、NiFiのプロセッサ間で値を渡すための属性やフローファイルのパラメータを使用することができます。
設定ファイルから取得した値をRemote URLに指定するには、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