Data Stores
Make に組み込まれたシンプルなデータベース機能です。シナリオの実行をまたいでデータを保存・参照したり、複数のシナリオ間でデータを受け渡したりすることができます。
目次
Data Store の作成
- 左サイドバーの Data Stores を選択します
- + Add Data Store をクリックします
- 以下の項目を設定します
| 設定項目 | 説明 |
|---|---|
| Data Store Name | Data Store の名前(例: contacts) |
| Data Structure | 保存するデータの構造(新規作成・既存から選択・空のいずれか)。空にした場合はプライマリキーのみ保存されます |
| Data Storage Size in MB | 割り当てるストレージ容量(後から変更可能) |
プランごとのストレージ上限
| プラン | ストレージ |
|---|---|
| 無料プラン | 1 MB |
| 有料プラン | 月間クレジット数 ÷ 1,000 MB |
| エンタープライズ | 年間クレジット数 ÷ 12 ÷ 1,000 MB |
注意: 1組織あたりの Data Store 数の上限は 1,000個 です。また1つの Data Store の最小サイズは 1 MB です。
Data Structure(データ構造)の設定
Data Store に保存するデータの列(フィールド)構造を定義します。
作成方法
手動で追加する場合
- Add Item をクリックし、列名とデータ型を入力します
JSON から自動生成する場合
- サンプルの JSON データをアップロードすると、列構造が自動生成されます
- 例:
{"name": "john", "age": 30}からはname(テキスト型)とage(数値型)の列が生成されます
Strict Mode
有効にすると、Data Structure に定義されていない余分なフィールドが含まれるデータは拒否されます。
注意事項
- フィールド名(識別子)の変更は不可 です。変更すると元のデータにアクセスできなくなります。フィールド名を変えたい場合は、新しいフィールドを作成してデータをコピーする手順を踏んでください
- 14桁を超える整数は
text型で保存することを推奨します(JavaScriptの浮動小数点数の精度の問題を回避するため) - データ型を変更する際は、事前にバックアップを取ってください
モジュール一覧
Add/Replace a Record
Data Store に新しいレコードを追加します。同じキーのレコードが存在する場合は上書きできます。
| フィールド | 説明 |
|---|---|
| Data Store | 対象の Data Store |
| Key | レコードの一意なキー(空白の場合は自動生成) |
| Overwrite an Existing Record | 有効にすると同じキーのレコードを上書きする |
| Record | 保存するフィールドの値 |
注意: 1レコードの最大サイズは 15 MB です。
Update a Record
既存のレコードを更新します。指定したキーのレコードが存在しない場合は新規作成することもできます。
| フィールド | 説明 |
|---|---|
| Data Store | 対象の Data Store |
| Key | 更新するレコードの一意なキー |
| Insert Missing Record | 有効にするとキーが存在しない場合に新規レコードを作成する |
| Record | 更新するフィールドの値 |
注意: 1レコードの最大サイズは 15 MB です。
Get a Record
キーを指定して1件のレコードを取得します。
| フィールド | 説明 |
|---|---|
| Data Store | 対象の Data Store |
| Key | 取得するレコードの一意なキー |
| Return Wrapped Output | 有効にすると Search Records モジュールと同じ出力形式で返す |
Search Records
フィルター条件に一致するレコードを検索します。
| フィールド | 説明 |
|---|---|
| Data Store | 検索対象の Data Store |
| Filter | 絞り込み条件(列・演算子・値を指定。日時の演算子を使う場合は parseDate() 関数を使用) |
| Sort Key | 並び替えの基準となる列 |
| Order | 並び順(昇順 / 降順) |
| Limit | 取得する最大件数 |
| Continue Execution | 有効にすると結果が0件でもシナリオを停止せず続行する |
Check Record Existence
指定したキーのレコードが存在するかどうかを true / false で返します。
| フィールド | 説明 |
|---|---|
| Data Store | 対象の Data Store |
| Key | 確認するレコードの一意なキー |
Count Records
Data Store 内のレコード総数を返します。
| フィールド | 説明 |
|---|---|
| Data Store | 対象の Data Store |
Delete a Record
指定したキーのレコードを削除します。
| フィールド | 説明 |
|---|---|
| Data Store | 対象の Data Store |
| Key | 削除するレコードの一意なキー |
Delete All Records
Data Store 内のすべてのレコードを削除します。
注意: 削除したレコードは復元できません。
| フィールド | 説明 |
|---|---|
| Data Store | 対象の Data Store |
バックアップ方法
Data Store のデータ損失に備え、定期的なバックアップを推奨します。
シナリオを使ったバックアップ手順
- バックアップ用の Data Store を別途作成する
- 元の Data Store の Search Records モジュールでレコードを全件取得する
- バックアップ用 Data Store の Add/Replace Record モジュールでコピーする
注意: Make はデータの自動復元機能を提供していません。削除・消失したデータは実行履歴から手動で復元する必要があります。
トラブルシューティング
| 症状 | 原因・対処 |
|---|---|
| ストレージ不足エラー | 既存の Data Store の割り当て容量を減らして空きを確保する |
| 日時データが変換されて保存される | フィールド型を text にし、formatDate() + toString() で明示的に文字列として保存する |
| フィールド名変更後にデータが取得できない | フィールドの識別子は変更不可。新フィールドを作成しデータをコピーする手順が必要 |
情報元: Make 公式ドキュメント