メインコンテンツへスキップ

Datastore ノード

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

テーブルの作成と管理

フローで Datastore ノードを使用する前に、データを保存するためのテーブルを 1 つ以上作成してください。CloudFlow のランディングページで Tables を選択して Datastore タブを開き、そこでテーブルを管理します。

Cloudflow main page with tables highlighted

テーブルの作成

  1. CloudFlow のランディングページで Tables を選択して Datastore タブを開きます。

  2. Create table を選択します。

    Create table dialog with table name, description, and manual column definition (name, data type, unique checkbox)

  3. Table name にテーブル名を入力します。テーブル名は作成後に変更できません。

  4. (任意)Description に、そのテーブルが保存する内容の簡単な説明を入力します。

  5. 列を手動で定義するか、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_updated
      i-001,running,2026-01-15T10:00:00Z
      i-002,stopped,2026-01-14T09:30:00Z
  6. Save を選択します。

テーブルの編集

テーブルの説明を更新したり、列を追加または削除したりできます。テーブル名は作成後に変更できず、既存の列は名前変更やデータタイプの変更ができません。

注意

既存のテーブルの更新には CSV ingestion を使用できません。

  • テーブルの列構成を変更するには、Edit table を使用して列を追加または削除してください。

  • 既存テーブルに行を追加するには、Datastore タブの Add row を使用するか、Datastore の Insert または Upsert ノードを持つフローを使用してください。

  1. Datastore ブラウザからテーブルを開きます。

    Datastore browser listing tables with Edit table action visible

  2. Edit table を選択します。

  3. 変更を行い、Save を選択します。

レコードの参照と管理

テーブルを開くと、そのテーブルのレコードを表示できます。テーブル詳細ビューから次の操作が可能です。

Table detail view with records in rows, Add row button

  • レコードの追加: Add row を選択し、列の値を入力します。

  • レコードの編集: 行を選択して値を更新します。

  • レコードの削除: 1 行以上を選択して削除します。

レコードはページ分割され、任意の列でソートできます。

テーブルの削除

テーブルを削除すると、そのテーブルのすべてのレコードが完全に削除されます。テーブルが 1 つ以上のフローで使用されている場合でも削除できます。コンソールは、そのテーブルを使用している公開済みフローを公開解除し、ドラフトフローからはテーブルを削除します。これらのフローは、更新されるまで(例えば別のテーブルを選択する、または Datastore ノードを削除するなど)実行時に失敗する可能性があります。フローの破損を防ぐには、そのテーブルを使用している各フローで、テーブルを削除する前に Datastore ノードを削除または再設定してください。

テーブルを削除するには、Datastore タブで削除したいテーブルの右端にあるケバブメニュー()を選択し、Delete を選択します。

Datastore browser with delete table action or confirmation dialog

アクション

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

Datastore node configuration panel with action dropdown showing Get, Insert, Upsert, Delete

Get records

テーブルからレコードを取得します。取得するレコードと含めるデータを制御できます。

  • Table: クエリ対象のテーブル。

  • (任意)Columns: 結果に含める列を選択します。列を選択しない場合、すべての列が返されます。

  • (任意)Filters: 結果を絞り込む条件を定義します。1 つのフィルターグループ内の条件は AND ロジックで結合され、複数のフィルターグループは OR ロジックで結合されます。

    使用可能なフィルター演算子は次のとおりです。

    Operator説明
    ==等しい
    !=等しくない
    >より大きい
    >=以上
    <より小さい
    <=以下または等しい

    フィルター値には、フロー内の前のノードの出力を参照できます。

  • (任意)Limit: 返されるレコードの最大数 (1–5,000)。

    Get records configuration with table selector, columns picker, filter groups, and limit field

Get records アクションの出力は、一致したレコードの配列であり、フロー内の後続ノードから参照できます。

Insert records

1 件以上のレコードをテーブルに挿入します。

  • Table: レコードを挿入するテーブル。

  • Column mappings: 各列を値にマッピングします。値は静的なもの、または前のノードの出力を参照するもののいずれでも構いません。

    前のノードの出力に複数のアイテム(例: EC2 インスタンスのリスト)が含まれている場合、Datastore ノードはアイテムごとに 1 件のレコードを自動的に作成します。

レコードは最大 1,000 行のバッチ単位で挿入されます。挿入はバッチごとにアトミックであり、バッチ内のいずれか 1 件のレコードが検証に失敗した場合、そのバッチ内のレコードは 1 件も挿入されません。

Insert records configuration with table selector and column mappings (static values or node references)

出力には、挿入されたレコードの ID と、挿入された合計行数が含まれます。

Upsert records

一意キー列に基づいて、新規レコードの挿入または既存レコードの更新を行います。外部データソースとテーブルを重複なく同期したい場合に有用です。

  • Table: レコードを Upsert するテーブル。

  • Upsert key: レコードの既存有無を判定するために使用する列です。同じキー値のレコードが存在する場合は更新され、存在しない場合は新規レコードが挿入されます。Upsert キー列は、テーブル作成時に unique としてマークされている必要があります。

  • Column mappings: Insert records と同様に、各列を値にマッピングします。

Upsert records configuration with table selector, upsert key dropdown, and column mappings

出力には、挿入および更新されたレコードの件数と ID が含まれます。

Delete records

指定したフィルター条件に一致するレコードをテーブルから削除します。

  • Table: レコードを削除する対象のテーブル。

  • Filters: 削除対象のレコードを特定する条件を定義します。1 つのフィルターグループ内の条件は AND ロジックで結合され、複数のフィルターグループは OR ロジックで結合されます。誤ってテーブル全体を削除することを避けるために、少なくとも 1 つのフィルター条件が必須です。

    使用できるフィルター演算子は Get records と同じで、==!=>>=<<= です。フィルター値には、フロー内の前のノードの出力を参照できます。

Delete records configuration with table selector and required filter groups

出力には、削除されたレコード数 (deletedCount) とテーブル ID が含まれます。

サポートされる列タイプ

Datastore でテーブルを作成する際、次の列タイプを使用できます。

Type説明
Text可変長文字列us-east-1
Integer整数42
Numeric小数を含む数値3.14
Booleantrue または falsetrue
Dateカレンダー日付 (yyyy-MM-dd)2026-01-15
Timestampタイムゾーン付きの日時2026-01-15T10:30:00Z
JSON構造化された JSON データ{"key": "value"}

例:EC2 インスタンスの状態変更を追跡する

Datastore ノードの一般的なユースケースとして、クラウドリソースの状態を経時的に追跡するルックアップテーブルを維持することがあります。例えば、次のようなフローを構築できます。

  1. AWS ノード を使用して EC2 インスタンスを一覧表示します。
  2. Datastore ノードで Upsert アクションを使用し、インスタンス ID を Upsert キーとして各インスタンスの現在の状態でテーブルを更新します。
  3. 2 つ目の Datastore ノードで Get records アクションを使用し、7 日以上停止状態のインスタンスをテーブルからクエリします。
  4. 長期間停止しているインスタンスの一覧を含む Notification を関連チームに送信します。

Upsert アクションは重複を作成するのではなく既存のレコードを更新するため、テーブルは常に各インスタンスの最新の状態を反映します。

テスト

ノードをテストするには テスト を選択してください。