Harvest Files に保存したファイルをダウンロードする
Harvest Files に保存したファイルは、ユーザーコンソールやデバイスでダウンロードできます。
操作を始める前に準備が必要です (クリックして確認してください)
(1) SORACOM Air for セルラーの IoT SIM、および IoT SIM を利用できるデバイスを準備する
各種デバイスでの IoT SIM の使用方法については 各種デバイスで SORACOM Air を使用する を参照してください。
(2) Harvest Files を有効化する
ファイルをアップロードするデバイスが利用する IoT SIM の Harvest Files を有効化します 。
準備完了Harvest Files からの読み出し料金が発生します
Harvest Files に保存したファイルをダウンロードすると、利用料金が発生します。詳しくは、SORACOM Harvest Files の料金プラン を参照してください。
ユーザーコンソールでダウンロードする
ユーザーコンソールで、Harvest Files に保存されたファイルをダウンロードできます。
ユーザーコンソール にログインし、ファイルが保存されているカバレッジタイプを選択します。
詳しくは、SORACOM ユーザーコンソールで表示するカバレッジタイプを変更する を参照してください。
→ → の順にクリックします。
「SORACOM Harvest Files」画面が表示されます。
パスをクリックして、ファイルの
(ダウンロード) をクリックします。
SORACOM CLI / SORACOM API の場合
SORACOM CLI または SORACOM API を利用しても、ファイルを確認してダウンロードできます。
- SORACOM CLI を利用する場合は、
soracom files list
およびsoracom files get
を使用します。 - SORACOM API を利用する場合は、
FileEntry:listFiles API
およびFileEntry:getFile API
を使用します。
/path/to/test.jpg
を SORACOM API でダウンロードする例:
$ curl -v -X GET "https://api.soracom.io/v1/files/private/path/to/test.jpg" \
-H "X-Soracom-API-Key: ${X_SORACOM_API_KEY}" \
-H "X-Soracom-Token: ${X_SORACOM_TOKEN}" \
-o test.jpg
{scope} について
Harvest Files にアップロードしたファイルを扱う場合は、{scope}
に private
を指定します。public
は、ソラコムがアップロードしたファイルを扱う場合に指定します。
SAM ユーザーに特定のパスへの操作を許可 / 拒否する権限を設定するには
SAM ユーザーに、特定のパスへの操作を許可 / 拒否する権限を設定する場合は、FileEntry:listFiles API
の pathVariable('path')
を利用できます。ただし、条件の末尾に /
(スラッシュ) を含めないでください。詳しくは、pathVariable(placeholder) を参照してください。
複数のファイルをまとめてダウンロードするには
SORACOM API を利用したスクリプトを作成すると、複数のファイルをまとめてダウンロードできます。詳しくは、SORACOM Harvest Files にアップロードされた大量のファイルをまとめてダウンロードする方法 を参照してください。
デバイスでダウンロードする
デバイスでファイルおよびディレクトリを確認する
デバイスで以下のコマンドを実行すると、ルートディレクトリに保存されいているファイルおよびディレクトリを確認できます。
$ curl -X GET http://harvest-files.soracom.io/
[
{
"operatorId": "OP1234567890",
"filename": "path/",
"createdTime": 1680850712990,
"lastModifiedTime": 1680850712990,
"filePath": "/path/",
"isDirectory": true
}
]
isDirectory
が true
の場合は、filename
の値を URL に追加して、同様のコマンドを実行します。
$ curl -X GET http://harvest-files.soracom.io/path/
[
{
"operatorId": "OP1234567890",
"filename": "to/",
"createdTime": 1680850712995,
"lastModifiedTime": 1680850712995,
"filePath": "/path/to/",
"isDirectory": true
}
]
ファイル (isDirectory
が false
のデータ) が見つかるまで同様の手順を繰り返します。
$ curl -X GET http://harvest-files.soracom.io/path/to/
[
{
"operatorId": "OP1234567890",
"filename": "test.jpg",
"createdTime": 1680850712557,
"lastModifiedTime": 1680850712983,
"expiryTime": 1744009112983,
"etag": "d833e7571702xxxxxxxxxxxxxxxxxxxx",
"contentType": "image/jpeg",
"contentLength": 26892,
"filePath": "/path/to/test.jpg",
"isDirectory": false
}
]
ファイルの情報として返される filename
はファイル名、etag
は ETag (エンティティタグ) です。ETag は、ファイルが更新されているかどうかを判断するときに利用できます。
デバイスでファイルをダウンロードする
ファイルおよびディレクトリを確認する で取得した filename
の値を URL に追加して、以下のコマンドを実行します。
$ curl -O http://harvest-files.soracom.io/path/to/test.jpg
指定したファイルの ETag を取得して更新の有無を判定できます
以下のようにファイルのメタ情報を確認できます。ETag (エンティティタグ) もあるため、定期的に監視して変更があった時のみにダウンロードするという応用も考えられます。
$ curl -I http://harvest-files.soracom.io/path/to/test.jpg
HTTP/1.1 200 OK
Date: Thu, 20 Apr 2023 08:12:44 GMT
Content-Length: 0
Connection: close
ETag: d833e7571702ec993166669ec859297a
Harvest Files に保存したファイルを削除する
不要になったファイルやディレクトリは、必要に応じて削除できます。
アップロードしてから約 2 年経過後に自動的に削除されます
- Harvest Files ではアップロードしたファイルの保存期間は 731 日間 (約 2 年間) です。保存期間を経過したファイルは自動的に削除され、復旧できません。
- ディレクトリは自動削除されません。
ユーザーコンソールで削除する
ユーザーコンソール にログインし、ファイルが保存されているカバレッジタイプを選択します。
詳しくは、SORACOM ユーザーコンソールで表示するカバレッジタイプを変更する を参照してください。
→ → の順にクリックします。
「SORACOM Harvest Files」画面が表示されます。
削除するファイル / ディレクトリにチェックを入れて、
→ の順にクリックします。確認画面が表示されます。
をクリックします。
ファイル / ディレクトリが削除されます。
ファイルやサブディレクトリを含むディレクトリは削除できません。
SORACOM CLI / SORACOM API の場合
SORACOM CLI または SORACOM API を利用しても、ファイルを削除できます。
- SORACOM CLI を利用する場合は、
soracom files delete
を使用します。 - SORACOM API を利用する場合は、
FileEntry:deleteFile API
を使用します。
デバイスで削除する
デバイスで以下のコマンドを実行すると、/path/to/test.jpg を削除できます。
$ curl -X DELETE http://harvest-files.soracom.io/path/to/test.jpg