オブジェクト (BLOB ストア)
目次
概要
オブジェクトメニューでは、Platform に保存された非定型ファイル(画像・文書・バイナリ)を管理します。設備写真、検査結果画像、図面(PDF・DXF)、振動/音響センサの波形データ、自動生成レポートなどが時系列順に蓄積され、各ファイルには BLOB ID・サイト・説明といったメタデータが併せて保存されます。
BLOB: Binary Large Object の略。数値で表されるセンサデータ以外に、写真/文書のような大きな単位のファイルを指します。
パス: 左メニュー > Data > オブジェクト (BLOB) (内部 URL /blob/store)
画面構成
┌──────────────────────────────────────────────────────────────────────┐
│ 🖼 BLOB 스토어 [↻] │ ← ① 상단
├──────────┬───────────────────────────────────────────────────────────┤
│ BLOB │ 🕐 타임라인 [10M][30M][1H][6H][12H][전체] │
│ 목록 │ ─────────────────────────────────────────────────────────│
│ 패널 │ 조회 기간 [날짜범위] [검색] │ ← ② 우측
│ │ ─────────────────────────────────────────────────────────│
│ [추가] │ 타임라인 (시간 흐름) │
│ [검색🔍] │ ─────────────────────────────────────────────────────────│
│ [↻] │ ┌─ BLOB 상세 테이블 ─────────────────────────────┐ │
│ ─────── │ │ BLOB ID | 시간 | 오브젝트ID | 크기 | MIME | 속성 |⬇│ │
│ 사이트 ▼ │ └────────────────────────────────────────────────┘ │
│ 검색바🔍 │ │
│ ─────── │ │
│ 목록 │ │
│ (스크롤) │ │
│ │ │
│ 버켓: - │ │
└──────────┴───────────────────────────────────────────────────────────┘
| 領域 | 位置 | 表示 |
|---|---|---|
| ① 上部 | 全幅 | ページタイトル + 更新ボタン |
| ② 左側 | col-lg-2 | BLOB 一覧パネル (スクロール 600px) |
| ③ 右側 | col-lg-10 | タイムライン + 照会フォーム + BLOB 詳細テーブル |
上部 — ページタイトル・更新
| 項目 | 形態 | 動作 |
|---|---|---|
| タイトル | 🖼 「BLOB ストア」 | — |
更新 (realtime_icon) | 赤ボタン + ↻ | 左側の BLOB 一覧と右側の詳細を両方とも再読み込み |
左側 — BLOB 一覧パネル
左側 col-lg-2 幅の狭いパネルに、登録された BLOB がサイト単位でまとめて表示されます。
上部ツール (3 ボタン)
| ボタン | アイコン | 動作 |
|---|---|---|
| BLOB 追加 | ➕ | BLOB 追加モーダルを開きます (下記 モーダル項目 参照) |
| BLOB 検索トグル | 🔍 | パネル内部の検索入力欄を展開/折りたたみ |
| 一覧更新 | ↻ | 現在のサイトフィルタで BLOB 一覧を再読み込み |
サイトフィルタセレクタ
🏭 [ 사이트명 [설명] ▼ ]
| 項目 | 説明 |
|---|---|
| 前置アイコン | 🏭 (産業) — 入力グループ左側 |
| セレクタ ID | blob_site_filter |
| オプション形式 | 사이트명 [설명] (サーバレンダリング) |
| 既定の選択 | ページ遷移時に selected_site_id があればそのサイト、なければ先頭のサイト |
| 変更時の動作 | 選択と同時に、そのサイト基準で BLOB 一覧を再読み込み(onchange="blobList()") |
サイトが登録されていない場合、セレクタは空になり BLOB 一覧も空になります。ファクトリ管理 で先にサイトを登録してください。
BLOB 検索
上部ツールの 🔍 ボタンで検索入力欄が開きます。
| 項目 | 説明 |
|---|---|
| 入力欄 ID | blob_text |
| placeholder | 「BLOB 検索...」 |
| 検索基準 | BLOB の説明(description)キーワード |
| 確定 | Enter (フォーム submit) または右側の 🔍 ボタン |
一覧領域とフッタ
| 項目 | 説明 |
|---|---|
ロード表示 (blob_loading) | 「ロード中 ...」 (回転アイコン) |
一覧領域 (blob_content_list) | 横スクロールなし、縦スクロール(600px 固定高) |
| 一覧項目の単位 | 各 BLOB が小さなカード/サムネイル形式で並びます |
| フッタ | 「バケット : N」 — 現在のサイトの蓄積バケット数 |
BLOB 追加モーダル
上部の BLOB 追加 ボタンで開くモーダルです。
| 入力項目 | 幅 | 説明 |
|---|---|---|
サイト (modal_site_id) | 200px | 登録済みサイトから選択 |
BLOB ID (blob_id) | 自動 | placeholder: BLOB_00001 (영문 및 숫자, _ 만 입력) — ドメイン固有 ID |
BLOB 名 (blob_name) | 200px | placeholder: BLOB_NAME_00001 (영문 및 숫자, _ 만 입력) |
説明 (blob_desc) | 300px | 人が読むための説明テキスト |
モーダル動作ボタン
| ボタン | 動作 |
|---|---|
| キャンセル (×) | モーダルを閉じる (保存しない) |
保存 (saveBLOB()) | 入力検証後、BLOB メタ登録 + ファイルアップロード(ファイル選択はモーダル以降の後続ステップで) |
BLOB ID と BLOB 名は英数字・アンダースコア(
_)のみ使用できます。日本語(全角文字)や空白は使用できません。
右側 — タイムライン + 詳細テーブル
左側で BLOB またはサイトを選択すると、右側にその範囲のデータが可視化されます。
タイムラインパネル
┌────────────────────────────────────────────────────────────────────┐
│ 🕐 타임라인 [10M] [30M] [1H] [6H] [12H] [전체] │
├────────────────────────────────────────────────────────────────────┤
│ 조회 기간 [ 날짜 범위 ] [검색] │
├────────────────────────────────────────────────────────────────────┤
│ │
│ 타임라인 마커들 (각 BLOB 적재 시각이 점으로 표시) │
│ │
└────────────────────────────────────────────────────────────────────┘
| 項目 | ID | 説明 |
|---|---|---|
| ヘッダ | — | 🕐 「タイムライン」 + 右側に小さな結果サマリテキスト(result_txt) |
| タイムライン領域 | control_timeline | 横軸が時間、BLOB マーカーが時刻順に配置 |
クイック時間範囲 (6 ボタン)
| ボタン | data-range | 動作 |
|---|---|---|
| 10分前 | 10M | 直前 10 分 |
| 30分前 | 30M | 直前 30 分 |
| 1時間前 | 1H | 直前 1 時間 |
| 6時間前 | 6H | 直前 6 時間 |
| 12時間前 | 12H | 直前 12 時間 |
| 全期間 | ALL | 検索全体 (既定で有効) |
照会期間フォーム
タイムラインパネル本文の上部にインラインフォームがあります。
| コントロール | 幅 | 説明 |
|---|---|---|
| 照会期間ラベル | 100px | 「照会期間」ラベル |
期間入力 (search_time) | 280px | テキスト入力 (中央揃え、太字) — クリックすると日付範囲セレクタを表示。フォーム送信時に hidden フィールド search_date_from/search_date_to で渡されます |
| 検索 | 120px | 青ボタン + 🔍 — 上記の期間条件で右側のタイムライン+テーブルを再読み込み |
詳細テーブル (7 カラム)
タイムラインの下に、検索期間内の BLOB が時刻順にテーブル表示されます。
| カラム | 幅 | 配置 | 表示値 |
|---|---|---|---|
| BLOB ID | 150px | 中央 | ドメイン固有 ID (例: BLOB_00012) |
| 時刻 | 180px | 中央 | 蓄積時刻 (yyyy-MM-dd HH:mm:ss) |
| オブジェクト ID | 300px | 中央 | オブジェクトストレージ内部パス(オブジェクトキー) |
| ファイルサイズ | 100px | 中央 | 単位自動変換 (B / KB / MB) |
| MIME タイプ | 100px | 中央 | 例: image/jpeg, application/pdf, text/csv |
| 属性 | 自動 | 左 | 追加メタデータのキー:値の集合 |
| ダウンロード | 60px | 左 | ⬇ アイコン — クリックでファイルをローカルにダウンロード |
カラム別の運用ヒント
- MIME タイプ でファイル種別を即座に識別。想定と異なるタイプであれば、誤ってアップロードされた可能性があります
- ファイルサイズ が異常に大きいファイルは、運用負荷の原因になることがあります
- 属性 は、自動化時に フロー が追加したキー-値(例: 検査結果画像の OCR テキスト、レポートの開始/終了時刻)が入る場所です
活用例
| 用途 | 説明 |
|---|---|
| 設備写真の保管 | 設備外観・設置写真・点検写真を時系列順に蓄積 |
| 検査結果画像 | 品質検査カメラが自動で BLOB を蓄積 |
| 図面管理 | 設備図面(DXF・PDF)、配管図、配線図 |
| センサ波形データ | 振動・音響センサの raw 波形データ(WAV・CSV) |
| 自動生成レポート | 日次運用レポート、シフトレポートを自動発行後に保管 |
| 外部システム成果物 | 外部解析ツールが生成した結果ファイルのバックアップ |
自動蓄積が必要な場合は、フロー の外部連携ノード(例:
flow_http_requestで外部システムから受信 → 変換 → BLOB 蓄積アクション)を結線してください。
よくある質問
Q. BLOB ID と BLOB 名の違いは?
A. BLOB ID はドメイン固有の識別子(システムが ID として参照)、BLOB 名 は人が識別しやすいように付ける別名です。いずれも英数字・_ のみ使用できます。
Q. 蓄積した BLOB はいつ削除されますか? A. 別途の保存ポリシーに従います。永久保存が既定であり、自動削除ポリシーが必要な場合はシステム管理者にお問い合わせください。
Q. サイトフィルタを変更すると他サイトの BLOB は消えますか? A. 消えません。画面に表示されないだけで、データは保持されます。別のサイトに再度変更すれば、そのサイトの BLOB が表示されます。
Q. 同じ BLOB ID で新しいファイルを追加できますか? A. 同一 BLOB ID で蓄積すると新しいバージョンが追加されます(時刻が異なる別項目)。BLOB ID はドメイン識別子であり、ファイル自体は時間単位で累積されます。
Q. ダウンロード時に日本語ファイル名が文字化けします。 A. 一部ブラウザのエンコーディング処理の差異によるものです。ダウンロードしたファイル名を手動で変更してご利用いただくか、別のブラウザでお試しください。
Q. BLOB の時刻順ソートが不自然です。
A. 詳細テーブルは検索期間の時間ソートに従います。クイック時間範囲ボタン(10M/30M など)でウィンドウを絞り込んでみてください。
Q. BLOB 追加モーダルでファイルはどのように選択しますか? A. メタ情報の保存後にファイルアップロードのステップが続きます。大きなファイルはアップロードに時間がかかることがあるため、進行表示が完了するまでお待ちください。
Q. BLOB 追加の自動化は可能ですか? A. フロー を使用すれば、外部システムから自動的に BLOB を蓄積するよう自動化できます。例: 検査カメラが画像を HTTP でプッシュ → フローがメタ情報を付与 → BLOB 保存。