Configuration

Enabling Funk will incur fees based on the number of requests made. Refer to the Pricing & Fee Schedule for more information.

Soracom Funk settings are found in Soracom Air or Soracom Inventory group settings.

Funk settings are shared among all device types within the same group. This means that you can configure Funk for one device type (cellular, Sigfox, LoRaWAN, or Inventory), and all other device types within that group will also use the same Funk settings.

If you want to use different Funk settings for different device types, simply create multiple groups each with different Funk settings, and assign your devices accordingly.

To configure Funk, open the settings page of the group that you want to configure.

Underneath the Basic Settings tab, click the SORACOM Funk panel to expand its settings.

Funk configuration

Enable Funk by switching the option to ON.

You can then select the Service where you would like Funk to send data, and provide configuration parameters for the service.


Parameters

When selecting the AWS Lambda service, you can also append :{VERSION} to the end of the resourceUrl to specify which version of your function should be called.

When selecting the Google Cloud Functions service, the Credentials setting is not required. Refer to Google Cloud Functions documentation for different techniques to authenticate requests.


Advanced Configuration

Funk can also be configured through the Soracom API or CLI by using the SoracomFunk namespace.

Configuration Structure

"SoracomFunk": {
  "enabled": true|false,
  "destination": {
    "provider": "aws"|"azure"|"google",
    "service": "lambda"|"function-app"|"cloud-functions",
    "resourceUrl": "https://example.com/path/to/resource"
  },
  "credentialsId": {
    "$credentialsId": "my-credentials",
  },
  "contentType": "unspecified"|"application/json"|"text"|"binary"
}

Parameters

Enable or disable Funk:

Modify the Funk destination:

Modify credentials to use for authentication (this parameter has no effect when using Google Cloud Functions):

Modify data processing behavior:

Sample configurations

For AWS Lambda:

[
  {
    "key": "enabled",
    "value": true
  },
  {
    "key": "destination",
    "value": {
      "provider": "aws",
      "service": "lambda",
      "resourceUrl": "arn:aws:lambda:us-east-1:900012345678:function:my-lambda-function"
    }
  },
  {
    "key": "$credentialsId",
    "value": {
      "my-aws-credentials"
    }
  },
  {
    "key": "contentType",
    "value": "application/json"
  }
]