Soracom

Users

ドキュメント

グループ設定

Harvest Data 

Harvest Data の利用にあたってはグループの設定が必要です。 SIM、LoRa デバイス、Sigfox デバイスのグループ設定を ON にしてください。

HarvestDataの利用

API、CLI からの設定は以下をご確認ください。

Namespace: SoracomHarvest 

コンフィグパラメータ 

"SoracomHarvest": {
  "enabled": true | false // 機能自体のオンオフ、デフォルトは false
}

設定例 

[
  {
    "key": "enabled",
    "value": true
  }
]

Harvest Files 

Harvest Files のグループ設定では以下を指定します。

各設定項目の説明は以下のとおりです。

項目説明
enabledtrue, false を指定します。
Harvest Files の有効化、無効化を設定します。
defaultPath
デフォルトパス
当グループに含まれる SIM から送信されたファイルのデフォルトの保存先を指定します。プレースホルダーの適用ができます。(詳細は 後述 します。) 当設定はオプションです。
assumedRoleId
ロール
当グループに含まれる SIM からのリクエストの権限のロールを指定します。送信されるファイルの保存パスや読み込みできるパスの権限も設定できます。(詳細は 後述 します。) 当設定はオプションです。

API の場合、以下のように設定します。

namespace: SoracomHarvestFiles

[
  { "key": "enabled", "value": true },
  { "key": "defaultPath", "value": "/test/" },
  { "key": "assumedRoleId", "value": "role01" }
]

API、CLI からのグループ設定については グループ設定 をご確認ください。

グループ設定 defaultPath 

グループ設定defaultPathでは、当グループに含まれる SIM から送信されたファイルのデフォルト保存先を指定します。

例えばdefaultPath/logs を設定した場合で、SIM からのファイル送信時にパスの指定がない場合は /logs としてファイルが保存されます。/logs/ を指定した場合、 最後の / は無視され、/logs としてファイルが保存されます。

defaultPath/logs を設定し、デバイスから以下のように送信した場合、デバイスから送信されたファイル a.txt/logs として保存されます。

curl -X PUT --data-binary @a.txt -H "content-type:text/plain" http://harvest-files.soracom.io

以下のようにデバイスから送信時にパスを指定した場合、パスが優先されます。

curl -X PUT --data-binary @a.txt -H "content-type:text/plain" http://harvest-files.soracom.io/logs/2019070201

同一のファイルパスを対象にファイルを送信した場合、ファイルは上書きされます。

プレースホルダーの適用 

グループ設定defaultPathではプレースホルダーとして以下を指定できます。

  • :time - ファイル送信時の timestamp (unixtime)
  • :imsi - ファイル送信時に使用した IMSI

例えばdefaultPath/logs/:imsi/:time を設定した場合、:imsi および :time/ はそれぞれ IMSI、ファイル送信時の timestamp に置き換えられ、ファイルは /logs/4401xxxxxxxxz/1561780299935 として保存されます、

グループ設定 assumedRoleId 

グループ設定assumedRoleIdでは、グループに含まれる SIM からのリクエストの権限のロールを指定います。送信されるファイルの保存パスや読み込みできるパスの権限を設定できます。 このロールはコンソールの「セキュリティ」->「ロール」もしくは Role API から設定します。

設定の例

{
  "statements": [
    {
      "effect": "allow",
      "api": "FileEntry:listFiles",
      "condition": "pathVariable('path') matches 'firmware/versions/'"
    },
    {
      "effect": "allow",
      "api": "FileEntry:getFile",
      "condition": "pathVariable('path') matches 'firmware/versions/.*'"
    },
    {
      "effect": "allow",
      "api": "FileEntry:putFile",
      "condition": "pathVariable('path') matches 'logs/:imsi/.*'"
    }
  ]
}

上記の例を SIM グループに適用した場合、グループ内に含まれる SIM は以下の操作ができます。

  • パス firmware/versions/ に含まれるファイル一覧の取得ができる
  • パスに firmware/versions/ が含まれるファイルの取得ができる
  • パスに logs/:imsi/ 以下へのファイル保存ができる。(:imsi は自身の IMSI に置き換えられます。これ以外のパスにファイルの保存はできません。)

Harvest Data 連携機能 

グループ設定Path patternsでは、設定したパス以下に保存されたファイルの URL 情報を Harvest Data に自動的に連携できます。 Path patternsは正規表現で記述してください。

設定の例

Harvest Files の /lagoon 以下に格納されたファイルを自動で Harvest Data にも連携したい場合、以下のように Path patterns を /lagoon/.* と設定します。

  • Harvest Data 連携機能を使用した Harvest Data へのデータ送信については、Harvest Data 書き込みリクエスト料金は発生しません。また Harvest Data 利用オプションを有効とする必要はありません。
  • Harvest Data 連携機能は「エントリポイント (セルラー)」のみに対応しています。IoT SIM からの Harvest Files へのファイル送信に対応しています。

Namespace: SoracomHarvestFiles 

コンフィグパラメータ 

"SoracomHarvestFiles": {
  "enabled": true | false, // 機能自体のオンオフ、デフォルトは false
  "defaultPath" : "/path/file", // 送信されたファイルのデフォルトの保存先
  "assumedRoleId" : "role_name" // SIMからのリクエストの権限のロール
}

設定例 

[
  {
    "key": "enabled",
    "value": true
  },
  {
    "key": "defaultPath",
    "value": "/test/"
  },
  {
    "key": "assumedRoleId",
    "value": "role01"
  }
]