はじめに
ArcGIS for Power Automate は、ArcGIS をさまざまなサービスと統合してワークフローを自動化できる強力なツールです。重要な機能の一つに、フィーチャ レイヤーにデータを追加する能力があります。しかし、データ処理のニーズが増大するにつれて、効率を向上させ、大規模なデータセットを効果的に管理するためにバッチ操作への移行が不可欠になることがあります。
新しいバッチアクションとは?
2024.2 リリースでは、単一のリクエストで複数のフィーチャを追加または更新できるバッチアクションを導入しました。以下のアクションがリストに追加されています。
- フィーチャ レイヤーにレコードを追加 (batch)
- フィーチャ レイヤーのレコードを更新 (batch)
これらのアクションは、入力として Array of Features を受け取ります。Update a record in a feature layer Inputs と Update records in a feature layer (batch) の違いに注意してください。


Array of features の適切な JSON 構造はこちらで確認できます。
フィーチャ レイヤーのスキーマを抽出するには、ArcGIS サーバー サービスの REST エンドポイントにアクセスし、「/server/rest/services/FeatureService/<layer>/query」でフィーチャをクエリします。ArcGIS Online の場合は、対象レイヤーのアイテム詳細を開き、URL を確認してください。

クエリエンドポイントフォームで、Where に 1=1(または既知の OBJECTID)を使用し、Out Fields を * に設定し、Format を JSON に設定します。
データがフィーチャ レイヤー以外のソース(Excel やジオメトリ情報がテキスト列に格納されているデータベースなど)から来ている場合は、Batch actions が Power Automate で認識できるように、その列名を「geometry」に変更する必要があります。あるいは、Power Automate の組み込みアクション(Select、Compose、および Data Operations の Parse JSON)を使って必要な JSON 構造を作成することも有用です。
以下はサンプル JSON 構造です。
[{
"geometry": {"x": 1234,"y": 1234},
"attributes": {"name1": "value1", "name2": "value2"}
},
{
"geometry": {"x": 1234, "y": 1234},
"attributes": {"name1": "value1", "name2": "value2"}
}]バッチアクションはあなたに適していますか?
`Create/Update a record in a feature layer` のような単一フィーチャ操作では、通常、一度に一つか数個のフィーチャをフィーチャ レイヤーに追加します。この方法はシンプルで、小規模なデータ追加や更新には十分です。パフォーマンス向上がないため、既存のワークフローを変更する必要はありません。
多数のレコードを作成または更新する場合、「For Each」ループ内でこれらのアクションを使用すると効率が低下します。次の場合にはバッチアクションへの移行を検討することをお勧めします:
- 数十または数千のレコードを更新する場合。
- 多数のフィーチャで頻繁にフローが実行される場合。
- 多くのフィールドを含むフィーチャ サービスの場合、単一レコードアクションで各フィールドをフォームで設定するよりも、フィーチャ配列で作業する方が良い代替手段となる場合。
- コピー操作を行う場合。