2. イベント¶
2.1. 概要¶
イベントは、モバイルバックエンド基盤内で発生した事象を、JSON形式で表現・通知するものです。
ユーザがイベントを扱う場面は、下記の2通りです。
- イベントサブスクリプション内でイベントフィルタを定義して、イベントを選り分ける。
- イベントハンドラ(クラウドファンクション)で、イベントを処理する。
以下に、イベントの例を示します。
2.1.1. ファイルストレージイベントの例¶
{
"source": {
"type": "fileStorage"
},
"data": {
"bucketName": "photo",
"fileName": "image20180725-171630.jpg",
"action": "file.created"
}
}
2.1.2. スケジューライベントの例¶
{
"source": {
"type": "scheduler"
},
"data": {
"schedule": "hourly"
}
}
2.2. フォーマット¶
イベントはJSON形式で表現・通知されます。
イベントは下記の属性を持ちます。
- source: イベントソース。(必須)
- type: イベントソースの種類。v7.5.0ではfileStorage・schedulerのいずれか。(必須)
- data: イベントの内容を示すJSONオブジェクト。dataの中身はsourceのtypeにより異なる。(必須)
2.2.1. fileStorageイベント¶
ファイルストレージイベントは、モバイルバックエンド基盤のファイルストレージにおいて、ファイル操作が行われた際に発生するイベントです。
ファイルストレージイベントのdataは、下記の属性を持つJSONオブジェクトです。
- bucketName: イベントが発生したバケット名。(必須)
- fileName: イベントが発生したファイル名。(必須)
- action: 行われた操作。下記のいずれか。(必須)
- file.created ファイルが作成された
- file.read ファイルがダウンロードされた
- file.updated ファイルが更新された
- file.deleted ファイルが削除された
- file.metadata-updated ファイルメタデータが更新された
- file.published ファイルが公開された
- file.unpublished ファイルが非公開にされた
- deleteMark: actionがfile.deleteの場合にのみ、追加で指定される属性。0か1のいずれか。0ならば物理消去、1ならば論理消去を表す。
2.2.2. schedulerイベント¶
スケジューライベントは、モバイルバックエンド基盤のAPIサーバ内にあるスケジューラが発生させるイベントです。
スケジューライベントのdataは、下記の属性を持つJSONオブジェクトです。
- schedule: スケジュールの種類を示す文字列。v7.5.0では下記のいずれか。
- "10 minutes interval" (サーバ起動後に10分間隔で発生する。必ずしも正時に揃わない)
- "hourly"
- "daily"
- "every 10 minutes" (毎正時0分、10分、20分、30分、40分、50分に発生する)
- "halfDay"