SORACOM Users

SORACOM Harvest Files
機能の説明

SORACOM Harvest はテキスト、JSON、バイナリなどデータを扱うHarvest Dataと画像やログなどのファイルを扱うHarvest Filesの2つの機能を提供します。

ここでは、Harvest Files について説明します。

SORACOM Harvest Files

主な仕様は以下のとおりです。

項目 説明
データの送受信プロトコル HTTP
データ保存期間 731日間(731日を過ぎたファイルは自動的に削除されます。)
エントリポイント(セルラー) http://harvest-files.soracom.io
エントリポイント(API) https://api.soracom.io/v1/files/private/
補足
  • SORACOM Harvest Files はデバイスからでも API 経由でもファイルの送受信ができます。
  • デバイスからセルラー経由でファイルの送受信をしたい場合は「エントリポイント(セルラー)」を使用します。
  • 外部からAPI経由でファイルの送受信をしたい場合は「エントリポイント(API)」を使用します(認証情報が必要です)。

グループの設定

Harvest Filesのグループ設定では以下を指定します。 Harvest Data 連携機能の設定については、後述します。

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

namespace: SoracomHarvestFiles

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

各設定については以下のとおりです。

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

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ではプレースホルダーとして以下を指定できます。

例えば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は以下の操作ができます。

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 へのファイル送信に対応しています。

エラーログ

Harvest では、直近2週間で発生したエラーログを保管しており、ユーザーコンソールやAPIから確認できます。うまく通信できないときなどのデバッグに利用できます。

確認できるエラーログの内容は以下のとおりです。

注意
ログは直近2週間分のみ参照可能です。それより古いログは閲覧できませんので、ご注意ください。

ユーザーコンソールでは、ドロップダウンメニューの「ログ」からアクセスできます。 “リソース ID” はSIMのIMSIです。

SORACOM Harvest の料金

SORACOM Harvestの料金はSORACOM Harvest ご利用料金をご確認ください。

SORACOM Harvest GettingStarted

pagetop