もしあなたがホストされたフィーチャ サービスを共有している場合、オプションでMap Tile、WFS、OGCサービスなどの子サービスと共に、かつソースデータが定期的に変更されるなら、アイテム識別子やメタデータ要素を壊すことなくサービスデータの更新を自動化したいでしょう。そうすればお客様のマップやアプリは正常に動作し続けます。このブログではArcGIS Data Interoperabilityを使った方法を紹介します。<\/P>
まずは必須の調査エリアとデータの地図、ノルウェーの住所です:<\/P>
オスロの住所<\/span><\/P>念のためシナリオを再確認します。<\/P>大規模なホストされたフィーチャ サービスを共有している可能性がある<\/LI>ホストされたフィーチャ サービスから公開されたサービスも共有している可能性がある<\/LI>ソースデータはArcGISで管理されていないかもしれない<\/LI>ソースデータは定期的に変更され、その変更をサービスに適用したい<\/LI>データ更新時にPortalやOnlineのアイテム識別子を変更したくない<\/LI>ダウンタイムを最小限にしてこのメンテナンスを自動化したい<\/LI>コードを書きたくない<\/LI><\/UL>Data Interoperabilityはデータセットの変更を検出し、それを公開用コピーに適用できることはよく知られています。これにより、変更をインクリメンタルにフィーチャ サービスへ書き込めばダウンタイムゼロが可能です。しかし、数百万のフィーチャを扱う場合、元と改訂されたデータセットの読み込みや変更トランザクションの書き込みに時間がかかり、非常に長いトランザクション中にネットワーク問題が発生するリスクもあります。<\/P>効率的かつ迅速にサービスデータを置き換えるオプションが必要です。これはPortalやOnline上でソースデータのファイル ジオデータベース コピーを維持し、truncateとappendワークフローでサービスデータを置き換えることで実現できます。<\/P>こちらがData Interoperabilityツールで示すパターンです。<\/P>
Workbench<\/span><\/P>青いブックマークは最終形状にするために必要なETLで、私の場合はデータのダウンロード、一部重複排除、フィールド調整などを行っています。<\/P>薄緑色のブックマークはジップされたファイル ジオデータベースへ書き込み、Online上のファイル ジオデータベース アイテムを上書きする部分です。茶色のブックマークはターゲット フィーチャ レイヤーをtruncateする場所です。<\/P>明るい緑色のブックマークは最終ステップで、ファイル ジオデータベース アイテムから読み取りターゲット フィーチャ レイヤーへ書き込むappend関数を呼び出します。<\/P>とてもシンプルですよね!<\/P>約270万件の住所フィーチャについて、自宅ネットワークから全作業(非同期append操作完了待ち含む)で約1時間かかります。<\/P>さらに!ターゲット フィーチャ サービスからMap Tile、WFS、OGCサービスも公開しています。こちらが私のOnlineプロジェクトフォルダー内の全てです:<\/P>
サービス一覧<\/span><\/P> <\/P>各子サービスのキャッシュ更新には数分余計にかかりますが、このプロセスは自動化されています(Vector Tileサービスはアイテム設定ページから手動でキャッシュ再構築が必要です)。<\/P>本番環境向けには処理をこの以前のブログで説明されているようなEnterpriseサーバーへ移し、適切な間隔で夜間実行するようスケジュールするでしょう。<\/P>以上、自動化され効率的なホストされたフィーチャ サービスおよび派生製品の一括更新でした。紹介したツールはブログダウンロード内にありますのでぜひお試しください!<\/P>Enterpriseユーザーへの注意:<\/STRONG> 現在ArcGIS Enterpriseはファイル ジオデータベース(filegdb)形式でのappendをサポートしていません。シェープファイル(またはテーブルの場合ExcelやCSV)をご使用ください。シェープファイルへappendする際はlayerMappingsパラメーター内でfieldMappings辞書を指定し、シェープファイル内フィールド名とターゲット フィーチャ サービスとのマッピング設定が必要になる可能性があります。<\/P>