Soracom Funnel
Configuration
Enabling Funnel will incur fees based on the number of requests made. Refer to the Pricing & Fee Schedule for more information.
Soracom Funnel settings are found in Soracom Air or Soracom Inventory group settings.
Funnel settings are shared among all device types within the same group. This means that you can configure Funnel for one device type (cellular, Sigfox, LoRaWAN, or Inventory), and all other device types within that group will also use the same Funnel settings.
If you want to use different Funnel settings for different device types, simply create multiple groups each with different Funnel settings, and assign your devices accordingly.
To configure Funnel, open the settings page of the group that you want to configure.
Underneath the Basic Settings tab, click the SORACOM Funnel panel to expand its settings.
Enable Funnel by switching the option to ON.
You can then select the Service where you would like Funnel to forward data, and provide configuration parameters for the service.
Funnel uses TLS 1.2. Please ensure to configure your cloud service to support TLS 1.2.
Parameters
- Service - The cloud service provider where Funnel will send data. Possible options are:
- Amazon Kinesis Streams
- Amazon Kinesis Firehose
- AWS IoT
- Microsoft Azure Event Hubs
- Google Cloud Pub/Sub
- Destination or Topic - The forwarding destination or topic name, as configured in your cloud service.
- Credentials set - The authentication credentials to use to connect to your cloud service.
- Content type - The format of data being sent by your device.
Content type - SORACOM Binary Format v1 is only available with TCP
When selecting the Amazon Kinesis Streams service, you can additionally set:
- Randomize partition key - Use a random value instead of IMSI or device ID in the partition key.
Advanced Configuration
Funnel can also be configured through the Soracom API or CLI by using the SoracomFunnel namespace.
Configuration Structure
"SoracomFunnel": {
"enabled": true|false,
"destination": {
"provider": "aws"|"azure"|"google",
"service": "aws-iot"|"kinesis"|"firehose"|"eventhubs"|"pubsub",
"resourceUrl": "https://example.com/path/to/resource"
},
"credentialsId": "my-credentials",
"contentType": ""|"json"
}
Parameters
Enable or disable Funnel:
- key (string, required) -
enabled
- value (boolean, default:
false
) - Enables or disables Funnel.
Modify the Funnel destination:
- key (string, required) -
destination
- value (object, required) - Destination configuration.
- provider (string, required) - Select the destination provider. Valid options:
"aws"
,"azure"
, and"google"
. - service (string, required) - Select the destination service. The service must correspond to the provider. Valid options:
"aws-iot"
,"kinesis"
,"firehose"
,"eventhubs"
, or"pubsub"
. - resourceUrl (string, required) - The destination endpoint or resource URL.
- provider (string, required) - Select the destination provider. Valid options:
Modify credentials to use for authentication:
- key (string, required) -
credentialsId
- value (string, required) - Name of credentials stored on Soracom to use for authentication with Funnel destination.
Modify data processing behavior:
- key (string, required) -
contentType
- value (string, default:
""
) - Specifies processing to be applied to user data contained in payloads. When set to JSON, data will be parsed as JSON.
Sample configuration
[
{
"key": "enabled",
"value": true
},
{
"key": "destination",
"value": {
"provider": "aws",
"service": "kinesis",
"resourceUrl": "https://kinesis.ap-northeast-1.amazonaws.com/my-kinesis-stream"
}
},
{
"key": "credentialsId",
"value": "my-credentials"
},
{
"key": "contentType",
"value": "json"
}
]