Apama 10.3 | Apama Documentation | Connecting Apama Applications to External Components | Standard Connectivity Plug-ins | The Cumulocity IoT Transport Connectivity Plug-in | Using events | Querying for events
Querying for events
To search for an event or a collection of events, send the com.apama.cumulocity.FindEvent event to Cumulocity IoT, with a unique reqId to the com.apama.cumulocity.FindEvent.CHANNEL channel.
The transport will then respond with zero or more com.apama.cumulocity.FindEventResponse events and then one com.apama.cumulocity.FindEventResponseAck event on the com.apama.cumulocity.FindEventResponse.CHANNEL channel.
integer reqId := integer.getUnique();
com.apama.cumulocity.FindEvent request := new com.apama.cumulocity.FindEvent;
request.reqId := reqId;
// Filter based on event type
request.params.add("type", "c8y_DoorOpenedEvent");
// Send request to find available events
send request to com.apama.cumulocity.FindEvent.CHANNEL;
// Subscribe to com.apama.cumulocity.FindEventResponse.CHANNEL to listen
// for responses
// Listen for responses based on reqId
on all com.apama.cumulocity.FindEventResponse(reqId=reqId) as response
// Avoid listener leaks by terminating the listener on completion of the request
and not com.apama.cumulocity.FindEventResponseAck(reqId=reqId)
log "Received Event " + response.toString() at INFO;
// Listen for com.apama.cumulocity.FindEventResponseAck,
// this indicates that all responses have been received
on com.apama.cumulocity.FindEventResponseAck(reqId=reqId) as requestCompleted
log "Received all Event(s) for request " +
requestCompleted.reqId.toString() at INFO;
// Request is completed and we can unsubscribe from this channel
Supported query parameters
You can provide the following query parameters with the request:
Search for an event based on eventId. When searching for an event based on Id, all the query parameters listed below are ignored.
Search for events based on the device identifier or asset identifier of the source.
Search for events based on the type.
Search for events from a start date. The date and time is provided as seconds since the epoch.
Search for events within a time range. This is to be used in combination with fromDate. The date and time is provided as seconds since the epoch.
Similar to fromDate, but fetches the events based on the creation date. The date and time is provided as seconds since the epoch.
Search for events that have been created within a date range. This is to be used in combination with fromCreationDate. The date and time is provided as seconds since the epoch.
Along with the above parameters, you can also provide other query parameters (such as pageSize) to be forwarded with the request to Cumulocity IoT.

Copyright © 2013-2018 | Software AG, Darmstadt, Germany and/or Software AG USA, Inc., Reston, VA, USA, and/or its subsidiaries and/or its affiliates and/or their licensors.