NiFi를 통해 REST API에서 데이터 가져오기

11365 단어 hdfNiFiRestAPI
골대
지정된 REST API Endpoint에서 정기적으로 정보를 받습니다.
대상 1: 얻은 정보를 통합하여 HDFS(또는 로컬 파일, S3)에 저장
골문2: API의 응답을 받은 JSON의 특정 PATH 값
전체도

절차.
REST API 호출
InvokeHTTP 프로세서 사용
Schedule 태그의 Run schedule 값을 0 sec에서 30 sec로 변경

Endpoint 값을 설정합니다.

병합 값: MergeContent 프로세서 활용

로컬 파일에 저장: PutFile 프로세서

JSON의 특정 PATH 값을 가져와 다시 조립하기
획득한 값: EvaluateJsonPath 프로세서 활용

* Properties 태그의 Destination 값을 flowfile-attribute로 변경
* 플러스 아이콘 을 클릭하여 새 Property-Value 를 추가합니다.
*Property는 자체 정의되고 Value는 JSON 경로
야후 날씨 정보 REST API 계정 획득
  • 앱 신청 결과.png
  • API 실행 결과
    {
      "ResultInfo": {
        "Count": 1,
        "Total": 1,
        "Start": 1,
        "Status": 200,
        "Latency": 0.003801,
        "Description": "",
        "Copyright": "(C) Yahoo Japan Corporation."
      },
      "Feature": [
        {
          "Id": "201810082015_139.73229_35.663613",
          "Name": "地点(139.73229,35.663613)の2018年10月08日 20時15分から60分間の天気情報",
          "Geometry": {
            "Type": "point",
            "Coordinates": "139.73229,35.663613"
          },
          "Property": {
            "WeatherAreaCode": 4410,
            "WeatherList": {
              "Weather": [
                {
                  "Type": "observation",
                  "Date": "201810082015",
                  "Rainfall": 0.00
                },
                {
                  "Type": "forecast",
                  "Date": "201810082025",
                  "Rainfall": 0.00
                },
                {
                  "Type": "forecast",
                  "Date": "201810082035",
                  "Rainfall": 0.00
                },
                {
                  "Type": "forecast",
                  "Date": "201810082045",
                  "Rainfall": 0.00
                },
                {
                  "Type": "forecast",
                  "Date": "201810082055",
                  "Rainfall": 0.00
                },
                {
                  "Type": "forecast",
                  "Date": "201810082105",
                  "Rainfall": 0.00
                },
                {
                  "Type": "forecast",
                  "Date": "201810082115",
                  "Rainfall": 0.00
                }
              ]
            }
          }
        }
      ]
    }
    
    특정 경로의 값 획득 및 확인LogAttribute 수시로 값 확인 가능
    문자열 수정
    ReplaceText 프로세서:
    Replacement Value을 변경합니다.
    provenance를 통해 값 확인

    LogAttribute 프로세서를 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 View data provenance를 선택합니다.
    데이터 provence 페이지를 표시하려면 다음과 같이 하십시오.

    표시할 데이터 선택:ContentView 버튼:

    좋은 웹페이지 즐겨찾기