20.2. OData 서비스에서 데이터를 폴링할 때 통합을 트리거


OData 서비스에서 데이터를 가져올 때 통합 실행을 트리거하려면 시작 연결로 간단한 통합에 OData 연결을 추가합니다. 통합이 실행되면 OData 연결은 사용자가 지정하는 간격으로 서비스를 폴링합니다. 연결에서 연결 구성을 충족하는 데이터를 찾으면 연결은 통합의 다음 단계로 데이터를 전달합니다.

사전 요구 사항

OData 연결을 생성했습니다.

절차

  1. 왼쪽의 Fuse Online 패널에서 통합을 클릭합니다.
  2. 통합 생성을 클릭합니다.
  3. 연결 선택 페이지에서 통합을 시작하는 데 사용할 OData 연결을 클릭합니다.
  4. 작업 선택 페이지에서 읽기 작업을 선택합니다.
  5. 읽기 작업을 구성합니다.

    1. 리소스 컬렉션 필드에서 쿼리할 OData 리소스의 이름을 선택합니다. Fuse Online에서 OData 서비스에서 데이터를 가져와 사용 가능한 리소스 컬렉션 목록을 제공합니다.
    2. Entity Key Predicate 필드에서 특정 엔터티를 가져오기 위해 키 서술자를 지정하여 원하는 엔터티를 식별합니다. 예를 들어 UserName='Bob' 또는 Categories(1) 와 같은 항목을 지정합니다. 여러 엔터티를 가져오려면 이 필드를 비워 둡니다.
    3. 쿼리 옵션 필드에 리소스에 적용할 쿼리를 입력합니다. OData 구문을 사용합니다. 예를 들어 $filter=startswith(name, 'N')N 으로 시작하는 name 필드가 있는 리소스의 각 엔터티에 대한 메시지를 반환합니다.

      Entity Key Predicate쿼리 옵션을 모두 지정할 수 있습니다. 이 경우 OData 서비스는 지정된 엔터티를 가져와서 해당 엔터티에 쿼리를 적용합니다. 예를 들어 Entity Key PredicateUserName='russellwhyte'/Emails 로 설정하고 쿼리 옵션을 $filter=contains($it,'example') 로 설정했다고 가정합니다. 연결에서 다음과 같은 요청을 생성합니다.

      https://services.odata.org/TripPinRESTierService/People(UserName='russellwhyte')/Emails?$filter=contains($it, 'example')

      서비스는 도메인 예제 가 포함된 Russell whyte의 모든 이메일 주소를 반환합니다.

    4. 이전 결과 필터링 확인란을 선택하여 특정 메시지를 한 번만 가져옵니다.
    5. 연결에서 메시지 컬렉션이 아닌 개별 메시지를 반환하려면 분할 결과 확인란을 선택합니다.

      Fuse Online에서는 흐름에 추가할 수 있는 별도의 분할 및 집계 단계도 제공합니다. 하나 이상의 단계에서 개별 메시지를 처리한 다음 메시지를 컬렉션에 집계하려면 분할 결과 확인란을 선택하지 마십시오. 대신 확인란을 비워 두고 이 연결 후 흐름에 분할 단계를 추가합니다. 흐름의 집계 단계를 원하는 경우 분할 단계가 필요합니다.

    6. Interval Before Polling Starts 필드에서 기본값을 1초 동안 수락하거나 OData 서비스를 폴링하기 전에 만료하려는 시간을 입력합니다.
    7. Delay 필드에서 기본값을 30초로 수락하거나 OData 서비스를 폴링할 간격을 입력합니다.
    8. Backoff Idle Threshold 필드에서 기본값을 수락하거나 데이터를 반환하지 않는 연속 폴링 수를 나타내는 정수를 입력합니다. 이 폴링 수가 지나면 연결은 후속 폴링 간의 간격을 늘립니다. 연결은 Delay 값을 Backoff Multiplier 값으로 곱하여 폴링 간격의 새 길이를 결정합니다.

      예를 들어 폴링 간격( Delay 값)이 기본값인 30초, Backoff Idle Threshold 가 5로 설정되고 Backoff Multiplier 가 12로 설정되어 있다고 가정합니다. 데이터를 반환하지 않는 5회 연속 폴링 후 연결은 다시 폴링하기 전에 360초(30 x 12)를 대기합니다. 연결은 폴링에서 데이터를 반환할 때까지 360초마다 폴링합니다. 폴링이 데이터를 반환하면 연결이 30초마다 폴링을 재개합니다.

    9. Backoff Multiplier 필드에서 기본값을 수락하거나 Backoff Idle Threshold 에 설정된 값이 도달한 경우 폴링 간격을 늘리기 위해 곱셈을 나타내는 정수를 입력합니다.

      Backoff Multiplier 에 대해 기본값 1을 수락하면 연속 폴링 수에 관계없이 결과가 반환되더라도 연결이 지정된 간격으로 계속 폴링됩니다.

      Backoff Idle ThresholdBackoff Multiplier 에 대해 지정하는 값은 유휴 기간 동안 연결이 자동으로 폴링할 수 있으므로 CPU 오버헤드를 줄이는 데 유용합니다.

  6. 다음을 클릭합니다.

결과

이제 통합이 시작 연결되고 Fuse Online에서 완료 연결을 선택하라는 메시지가 표시됩니다.

실행되는 동안 연결이 반환하는 것은 Entity Key PredicateQuery Options 필드에 지정된 내용에 따라 다릅니다. OData 연결은 다음을 반환할 수 있습니다.

  • 엔터티 컬렉션 또는 엔터티 속성 컬렉션입니다.A collection of entities or a collection of entity properties

    예를 들어 리소스의 모든 Person 엔터티 또는 모든 Person 엔터티에 대한 모든 Age 속성일 수 있습니다.For example, this might be all Person entities in the resource, or perhaps all Age properties for all Person entities. 연결은 하나의 메시지로 컬렉션을 반환합니다. Fuse Online은 컬렉션에 대해 흐름의 각 후속 단계를 한 번 실행합니다. 그러나 Read 작업을 구성할 때 분할 결과 를 선택하면 연결에서 각 엔터티 또는 자체 메시지에서 각 속성을 반환합니다.However, when you configure the Read action, if you select Split Results, then the connection returns each entity or each property in its own message. Fuse Online은 각 메시지에 대해 흐름의 각 후속 단계를 한 번 실행합니다.

  • 엔터티 또는 엔터티 속성

    예를 들어 UserName 속성이 Cryostat인 Person 엔터티 또는 UserName 이 Cryostat인 Person 엔터티의 Age 속성일 수 있습니다.For example, this might be the Person entity whose UserName property is Cryostat , or perhaps the Age property for the Person entity whose UserName is Cryo stat. 연결은 흐름의 다음 단계로 전달되는 메시지의 엔터티 또는 엔터티 속성을 반환합니다.

다음 단계

통합의 완료 연결 및 통합에 포함할 기타 연결을 추가합니다. 통합에 필요한 모든 연결이 포함된 경우 OData 연결이 컬렉션을 반환하는 경우 OData 연결 후 분할 단계를 추가해야 하는지 여부를 고려하십시오. 통합은 일반적으로 OData 연결에서 반환된 데이터를 흐름의 후속 연결이 사용할 수 있는 필드에 매핑해야 합니다. 경우에 따라 컬렉션을 매핑할 수 있지만 대상 필드에 매핑하려면 컬렉션을 분할해야 하는 경우가 많습니다.

OData 연결 후 흐름에 데이터 매퍼 단계를 추가합니다. 흐름의 위치는 흐름이 무엇을 원하는지에 따라 달라집니다. 예를 들어 OData 연결 후 기본 필터 단계를 추가한 다음 데이터 매퍼 단계를 추가할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.