Soracom

Users

ドキュメント
Home ドキュメント SORACOM Funk Getting Started

SORACOM Funk を有効化する

グループ の SORACOM Funk 設定を有効化する手順を説明します。

IoT SIM、LoRaWAN デバイス、Sigfox デバイスに対して Funk を有効化するには、グループを作成し、グループの SORACOM Funk 設定を有効化して、そのグループに IoT SIM、LoRaWAN デバイス、Sigfox デバイスを所属させます。

Funk の設定はグループに対して行います

ここでは、グループの設定を変更する操作のみを説明します。グループの仕組みやグループを作成する操作について詳しくは、グループ設定 を参照してください。

  1. SIM グループ画面、LoRaWAN グループ画面、Sigfox グループ画面、またはデバイスグループ画面で [SORACOM Funk 設定] をクリックします。

    各画面を表示する操作について詳しくは、グループの設定を変更する を参照してください。

    SORACOM Funk 設定画面が表示されます。

  2. スイッチをクリックして「ON」にします。

  3. 以下の項目を設定します。

    項目説明
    [サービス]

    関数が定義されているパブリッククラウドを選択します。

    [関数の ARN] (*1)

    AWS Lambda の関数の ARN を入力します。例: arn:aws:lambda:ap-northeast-1:XXXXXXXXXXXX:function:funk-sample-button

    送信先の関数では、任意のランタイムと任意のコードを利用できます。

    [関数の URL] (*2)Azure Function または Google Cloud Functions の関数の URL を入力します。
    [認証情報]認証情報ストア に登録した認証情報を選択します。例: AWS-IAM-role-credentials-invokeFunction
    [送信データ形式]Funk のエントリポイントに送信されたデータを、転送先にどのように転送するかを指定します。詳しくは、[送信データ形式] の設定について を参照してください。
    • (*1) [サービス] で「AWS Lambda」を選択した場合のみ表示されます。
    • (*2) [サービス] で「Azure Function」または「Google Cloud Function」を選択した場合のみ表示されます。

    funk group setting funk group setting

  4. [保存] をクリックします。

  5. IoT SIM が所属するグループを切り替えます。

    IoT SIM の Funk の設定が完了しました。

multi credentials per group 機能

Beam と同じく、Funk の認証情報にも multi credentials per group 機能を使用できます。 認証情報 ID の任意の場所に #{imsi} もしくは #{imei} のプレースホルダーを入れることで、接続デバイスに応じた 認証情報を使い分けることが可能となります。 機能詳細については Getting Started: multi credentials per group 機能を利用して AWS IoT に接続する | SORACOM Beam を参照してください。

SORACOM CLI / SORACOM API の場合

SORACOM CLI または SORACOM API を利用しても、Funk を有効化できます。

  • SORACOM CLI を利用するには、あらかじめ SORACOM CLI をインストールし、認証情報を保存してください。詳しくは、SORACOM CLI をインストールする を参照してください。
  • {group_id} は、soracom groups list (Group:listGroups API) で取得できます。
  • {namespace} は、SoracomFunk です。
  • ボディで指定するプロパティについては、ボディで指定するプロパティについて を参照してください。
  • ここでは、グループの設定を変更する操作のみを説明します。グループの仕組みやグループを作成する操作について詳しくは、グループ設定 を参照してください。

Funk を有効化する

soracom groups put-config (Group:putConfigurationParameters API) を使用します。

$ soracom groups put-config --group-id {group_id} --namespace SoracomFunk \
--body '[
  {
    "key": "enabled",
    "value": true
  },
  {
    "key": "destination",
    "value": {
      "provider": "aws",
      "service": "lambda",
      "resourceUrl": "arn:aws:lambda:ap-northeast-1:XXXXXXXXXXXX:function:funk-sample-button"
    }
  },
  {
    "key": "contentType",
    "value": "json"
  },
  {
    "key": "credentialsId",
    "value": {
      "$credentialsId": "AWS-IAM-role-credentials-invokeFunction"
    }
  }
]'

Funk を有効化する

Group:putConfigurationParameters API を使用します。

$ curl -v -X PUT https://api.soracom.io/v1/groups/{group_id}/configuration/SoracomFunk \
-H "X-Soracom-API-Key: $X_SORACOM_API_KEY" \
-H "X-Soracom-Token: $X_SORACOM_TOKEN" \
-H "Content-Type: application/json" \
-d '[
  {
    "key": "enabled",
    "value": true
  },
  {
    "key": "destination",
    "value": {
      "provider": "aws",
      "service": "lambda",
      "resourceUrl": "arn:aws:lambda:ap-northeast-1:XXXXXXXXXXXX:function:funk-sample-button"
    }
  },
  {
    "key": "contentType",
    "value": "json"
  },
  {
    "key": "credentialsId",
    "value": {
      "$credentialsId": "AWS-IAM-role-credentials-invokeFunction"
    }
  }
]'

ボディで指定するプロパティについて

以下の keyvalue のペアを配列で指定します。

keyvalue の型value
enabledBoolean

Funk の ON/OFF を設定します。

  • true: ON。Funk を利用できます。
  • false: OFF
destinationObject

以下のプロパティを含む JSON オブジェクトを設定します。

プロパティ説明
providerString

データ送信先のクラウドサービスのプロバイダーを設定します。

  • aws: AWS Lambda
  • azure: Azure Functions
  • google: Google Cloud Functions
serviceString

データ送信先のクラウドサービスの種類を設定します。

  • lambda: AWS Lambda
  • function-app: Azure Functions
  • cloud-functions: Google Cloud Functions
resourceUrlString

データ送信先のクラウドサービスの ARN (*1) または URL (*2) を指定します。

  • (*1) provier および service で、「AWS Lambda」を選択した場合のみ表示されます。
  • (*2) provier および service で、「Azure Function」または「Google Cloud Function」を選択した場合のみ表示されます。
provider と service は正しく組み合わせてください

たとえば、provideraws を指定したときは、service では lambda を指定してください。

AWS Lambda の ARN を指定する際に、末尾に :VERSION を指定すると、呼び出す AWS Lambda の Version を指定できます。

credentialsIdObject認証情報ストアに登録した認証情報の名前を設定します。
contentTypeString

ユーザーデータに対する処理を指定します。

  • unspecified: 特別な処理を行わずに送信します。
  • json: JSON として送信します。
  • text: テキストとして送信します。
  • binary: バイナリデータとして送信します。

想定していない値を指定した場合の動作は、定義されていません。SORACOM CLI / SORACOM API で設定を変更したあとで、SORACOM ユーザーコンソールで意図通りに設定されていることを確認してください。