267.6. 예
267.6.1. 이벤트 게시
생성할 때 기본 작업입니다. 다음 스니펫에서는 PojoBean에서 채널 iot에 의해 생성된 이벤트를 게시합니다.
from("timer:mytimer") // generate some data as POJO. .bean(PojoBean.class) .to("pubnub:iot?publishKey=mypublishKey");
267.6.2. 이벤트 aka BLOCKS 이벤트 처리기
호출할 수 있는 모든 종류의 서버리스 함수는 https://www.pubnub.com/blocks-catalog/ 를 참조하십시오. geolocation lookup의 예
from("timer:geotimer") .process(exchange -> exchange.getIn().setBody(new Foo("bar", "TEXT"))) .to("pubnub:eon-maps-geolocation-input?operation=fire&publishKey=mypubkey&subscribeKey=mysubkey"); from("pubnub:eon-map-geolocation-output?subscribeKey=mysubkey) // geolocation output will be logged here .log("${body}");
267.6.3. 이벤트 구독
다음 스니펫에서는 iot 채널에서 이벤트를 수신 대기합니다. Presens 옵션을 추가할 수 있는 경우 채널 참여, Leave asf 이벤트도 받게 됩니다.
from("pubnub:iot?subscribeKey=mySubscribeKey") .log("${body}") .to("mock:result");
267.6.4. 작업 수행
현재 채널에 가입한 고유한 사용자 ID 목록 및 채널의 총 게스트 수를 포함하여 채널의 현재 상태에 대한 정보를 가져옵니다.
from("direct:control") .to("pubnub:myChannel?publishKey=mypublishKey&subscribeKey=mySubscribeKey&operation=herenow") .to("mock:result");
wherenow: UUID가 구독되는 현재 채널 목록에 대한 정보를 가져옵니다.
from("direct:control") .to("pubnub:myChannel?publishKey=mypublishKey&subscribeKey=mySubscribeKey&operation=wherenow&uuid=spyonme") .to("mock:result");
setState : 구독자 UUID와 관련된 키/값 쌍을 설정하는 데 사용됩니다.
from("direct:control") .bean(StateGenerator.class) .to("pubnub:myChannel?publishKey=mypublishKey&subscribeKey=mySubscribeKey&operation=setstate&uuid=myuuid");
gethistory : 채널의 과거 메시지를 표시합니다.
from("direct:control") .to("pubnub:myChannel?publishKey=mypublishKey&subscribeKey=mySubscribeKey&operation=gethistory");
테스트 디렉토리에는 PubNub 기능 중 일부를 보여주는 몇 가지 예제가 있습니다. 게시 및 구독 키를 받을 수 있는 위치에서 PubNub 계정이 필요합니다.
예제 PubNubSensorExample에는 PubNub에서 제공하는 구독 키가 이미 포함되어 있으므로 계정 없이 실행할 준비가 되었습니다. 이 예제에서는 무한 센서 데이터 스트림을 구독하는 PubNub 구성 요소를 보여줍니다.