Datastore ノード
Datastore ノードを使用すると、管理されたデータストアを使って、フロー内で構造化データを保存・取得・更新・削除できます。外部データベースに接続せずに、フロー実行をまたいで情報を保持する必要がある場合に便利です。例えば、フローがすでに処理したクラウドリソースを記憶しておく、AWS アカウント・Azure サブスクリプション・Google Cloud プロジェクトの ID とそれぞれの予算閾値のテーブルを保持する、または各クラウドターゲットやロケーションごとにスケジュールされたフローが最後に実行された時刻を追跡するといった用途に使えます。作成したテーブルには、自社組織内のフローからのみアクセスできます。
テーブルの作成と管理
フローで Datastore ノードを使用する前に、データを保存するためのテーブルを 1 つ以上作成してください。CloudFlow のランディングページで Tables を選択して Datastore タブを開き、そこでテーブルを管理します。

テーブルの作成
-
CloudFlow のランディングページで Tables を選択して Datastore タブを開きます。
-
Create table を選択します。

-
Table name にテーブル名を入力します。テーブル名は作成後に変更できません。
-
(任意)Description に、そのテーブルが保存する内容の簡単な説明を入力します。
-
列を手動で定義するか、CSV ファイルをアップロードします。
-
Manually define columns: 名前とデータタイプを持つ 1 つ以上の列を定義します。列を Unique としてマークすると、その列で同じ値を持つレコードが 2 件存在しないように強制できます。Upsert アクションを使用する場合は、少なくとも 1 つの一意列が必要です。一意列のみが Upsert キーとして使用できるためです。
-
CSV ingestion: Upload CSV を選択し、
.csvファイルを選択します。CSV ファイルの要件は次のとおりです。-
最大ファイルサイズ 5 MB。
-
最大 50 列。
-
最大 5,000 行。
-
CSV ファイルは圧縮しないでください(例: ZIP や GZ は不可)。
-
先頭行にヘッダー行を使用します。列の順序は新しいテーブルでも保持されます。
-
列名は英字またはアンダースコアで始まり、その後に英数字またはアンダースコアが続く必要があります。
-
列名の重複は禁止です。
-
CSV をアップロードすると、列のデータタイプは自動検出されます。テーブルを保存する前に正しいかどうかを必ず確認してください。
-
日付およびタイムスタンプ値は RFC3339/ISO 8601 UTC format に従う必要があります(例えば、タイムスタンプの場合は
YYYY-MM-DDTHH:MM:SSZ、日付のみのフィールドの場合はYYYY-MM-DDなど)。
Save をクリックすると、まずテーブルが作成され、その後に CSV の行が挿入されます。挿入ステップが(不正なデータや接続の問題などで)失敗した場合、テーブルだけが作成されて行が 0 件の状態になり、エラーメッセージが表示されることがあります。CSV に機微情報や個人を特定できる情報(PII)が含まれている場合は、アップロード前にマスクまたはサニタイズしてください。
CSV の例(ヘッダー行とデータ行):
instance_id,state,last_updatedi-001,running,2026-01-15T10:00:00Zi-002,stopped,2026-01-14T09:30:00Z -
-
-
Save を選択します。
テーブルの編集
テーブルの説明を更新したり、列を追加または削除したりできます。テーブル名は作成後に変更できず、既存の列は名前変更やデータタイプの変更ができません。
既存のテーブルの更新には CSV ingestion を使用できません。
-
テーブルの列構成を変更するには、Edit table を使用 して列を追加または削除してください。
-
既存テーブルに行を追加するには、Datastore タブの Add row を使用するか、Datastore の Insert または Upsert ノードを持つフローを使用してください。
-
Datastore ブラウザからテーブルを開きます。

-
Edit table を選択します。
-
変更を行い、Save を選択します。
レコードの参照と管理
テーブルを開くと、そのテーブルのレコードを表示できます。テーブル詳細ビューから次の操作が可能です。

-
レコードの追加: Add row を選択し、列の値を入力します。
-
レコードの編集: 行を選 択して値を更新します。
-
レコードの削除: 1 行以上を選択して削除します。
レコードはページ分割され、任意の列でソートできます。
テーブルの削除
テーブルを削除すると、そのテーブルのすべてのレコードが完全に削除されます。テーブルが 1 つ以上のフローで使用されている場合でも削除できます。コンソールは、そのテーブルを使用している公開済みフローを公開解除し、ドラフトフローからはテーブルを削除します。これらのフローは、更新されるまで(例えば別のテーブルを選択する、または Datastore ノードを削除するなど)実行時に失敗する可能性があります。フローの破損を防ぐには、そのテーブルを使用している各フローで、テーブルを削除する前に Datastore ノードを削除または再設定してください。
テーブルを削除するには、Datastore タブで削除したいテーブルの右端にあるケバブメニュー(⋮)を選択し、Delete を選択します。

アクション
フローで Datastore ノードを設定する際、パラメータ内で + ボタンを使用して前のノードの値を参照できます。詳しくは Node parameters を参照してください。次のいずれかのアクションを選択します。

Get records
テーブルからレコードを取得します。取得するレコードと含めるデータを制御できます。
-
Table: クエリ対象のテーブル。
-
(任意)Columns: 結果に含める列を選択します。列を選択しない場合、すべての列が返されます。
-
(任意)Filters: 結果を絞り込む条件を定義します。1 つのフィルターグループ内の条件は AND ロジックで結合され、複数のフィルターグループは OR ロジックで結合されます。
使用可能なフィルター演算子は次のとおりです。
Operator 説明 ==等しい !=等しくない >より大きい >=以上 <より小さい <=以下または等しい フィルター値には、フロー内の前のノードの出力を参照できます。
-
(任意)Limit: 返されるレコードの最大数 (1–5,000)。

Get records アクションの出力は、一致したレコードの配列であり、フロー内の後続ノードから参照できます。
Insert records
1 件以上のレコードをテーブルに挿入します。
-
Table: レコードを挿入するテーブル。
-
Column mappings: 各列を値にマッピングします。値は静的なもの、または前のノードの出力を参照するもののいずれでも構いません。
前のノードの出力に複数のアイテム(例: EC2 インスタンスのリスト)が含まれている場合、Datastore ノードはアイテムごとに 1 件のレコードを自動的に作成します。
レコードは最大 1,000 行のバッチ単位で挿入されます。挿入はバッチごとにアトミッ クであり、バッチ内のいずれか 1 件のレコードが検証に失敗した場合、そのバッチ内のレコードは 1 件も挿入されません。

出力には、挿入されたレコードの ID と、挿入された合計行数が含まれます。
Upsert records
一意キー列に基づいて、新規レコードの挿入または既存レコードの更新を行います。外部データソースとテーブルを重複なく同期したい場合に有用です。
-
Table: レコードを Upsert するテーブル。
-
Upsert key: レコードの既存有無を判定するために使用する列です。同じキー値のレコードが存在する場合は更新され、存在しない場合は新規レコードが挿入されます。Upsert キー列は、テーブル作成時に unique としてマークされている必要があります。
-
Column mappings: Insert records と同様に、各列を値にマッピングします。

出力には、挿入および更新されたレコードの件数と ID が含まれます。
Delete records
指定したフィルター条件に一致するレコードをテーブルから削除します。
-
Table: レコードを削除する対象のテーブル。
-
Filters: 削除対象のレコードを特定する条件を定義します。1 つのフィルターグループ内の条件は AND ロジックで結合され、複数のフィルターグループは OR ロジックで結合されます。誤ってテーブル全体を削除することを避けるために、少なくとも 1 つのフィルター条件が必須です。
使用できるフィルター演算子は Get records と同じで、
==、!=、>、>=、<、<=です。フィルター値には、フロー内の前のノードの出力を参照できます。

出力には、削除されたレコード数 (deletedCount) とテーブル ID が含まれます。
サポートされる列タイプ
Datastore でテーブルを作成する際、次の列タイプを使用できます。
| Type | 説明 | 例 |
|---|---|---|
| Text | 可変長文字列 | us-east-1 |
| Integer | 整数 | 42 |
| Numeric | 小数を含む数値 | 3.14 |
| Boolean | true または false | true |
| Date | カレンダー日付 (yyyy-MM-dd) | 2026-01-15 |
| Timestamp | タイムゾーン付きの日時 | 2026-01-15T10:30:00Z |
| JSON | 構造化された JSON データ | {"key": "value"} |
例:EC2 インスタンスの状態変更を追跡する
Datastore ノードの一般的なユースケースとして、クラウドリソースの状態を経時的に追跡するルックアップテーブルを維持することがあります。例えば、次のようなフローを構築できます。
- AWS ノード を使用して EC2 インスタンスを一覧表示し ます。
- Datastore ノードで Upsert アクションを使用し、インスタンス ID を Upsert キーとして各インスタンスの現在の状態でテーブルを更新します。
- 2 つ目の Datastore ノードで Get records アクションを使用し、7 日以上停止状態のインスタンスをテーブルからクエリします。
- 長期間停止しているインスタンスの一覧を含む Notification を関連チームに送信します。
Upsert アクションは重複を作成するのではなく既存のレコードを更新するため、テーブルは常に各インスタンスの最新の状態を反映します。
テスト
ノードをテストするには テスト を選択してください。