サマリ
変更内容をデルタ ファイルからレプリカ ジオデータベースにインポートするか、承認メッセージをレプリカ ジオデータベースにインポートします。
使用法
このツールは、非接続時のレプリカを同期するときに使用します。非接続時のレプリカの同期では、最初に、[変更データメッセージのエクスポート (Export Data Change Message)] ツールを実行して、同期の対象となる変更データを含むデルタ ファイルを作成します。次に、デルタ ファイルが相対レプリカにコピーされ、[メッセージのインポート (Import Message)] ツールを使用してインポートされます。デルタ ファイルが消失してしまって、ファイルを再送する必要がある場合は、[非承認メッセージの再エクスポート (Re-Export Unacknowledged Messages)] ツールを使用して、デルタ ファイルを再生成できます。変更がインポートされたら、相対レプリカでは [承認メッセージのエクスポート (Export Acknowledgement Message)] ツールを使用して承認ファイルをエクスポートできます。承認ファイルがレプリカにコピーされ、[メッセージのインポート (Import Message)] ツールを使用してインポートされます。承認メッセージが受信されない場合は、変更内容の次回送信時に、新規の変更内容とともに、前回に送信された変更内容がそれらのデータに含まれます。
ジオデータベースは、ローカル ジオデータベースでもジオデータ サービスでもかまいません。
承認メッセージまたはデータ変更メッセージのどちらかを受け入れます。承認ファイルは XML (*.xml) です。データ変更メッセージは、デルタ ファイル ジオデータベース (*.gdb)、デルタ パーソナル ジオデータベース (*.mdb)、またはデルタ XML ファイル (*.xml) のいずれかです。
データ変更メッセージをインポートした後、承認メッセージを直ちにエクスポートするオプションが表示されます。出力の承認ファイルには、XML 形式のファイルを指定する必要があります。
接続モードでレプリカを同期するには、[変更の同期 (Synchronize Changes)] ツールをご参照ください。
構文
ImportMessage_management (in_geodatabase, source_delta_file, {output_acknowledgement_file}, {conflict_policy}, {conflict_definition}, {reconcile_with_parent_version})
パラメータ | 説明 | データ タイプ |
in_geodatabase | インポートされたメッセージの受け取り先となるレプリカ ジオデータベースを指定します。ジオデータベースは、ローカルでもリモートでもかまいません。 | Workspace ; GeoDataServer |
source_delta_file | メッセージのインポート元となるファイルを指定します。 | Workspace ; File |
output_acknowledgement_file (オプション) | データ変更内容をインポートするときは、データ変更メッセージのインポートを承認するメッセージを、適宜エクスポートすることが可能です。データ変更メッセージ以外を選択した場合、このオプションは無視されます。 | File |
conflict_policy (オプション) | データ変更メッセージのインポート中に競合が検出された場合の、競合の解決方法を指定します。
| String |
conflict_definition (オプション) | 競合を定義する方法を指定します。
| String |
reconcile_with_parent_version (オプション) | データの変更が親レプリカに送信された際に、競合が存在しない場合は親レプリカに自動的に変更をリコンサイルするかどうかを示します。このオプションは、チェックアウト/チェックイン レプリカの場合にのみ有効となります。
| Boolean |
コードのサンプル
ImportMesage (メッセージのインポート) の例 (Python ウィンドウ)
次の例は、Python ウィンドウで ImportMesage (メッセージのインポート) 関数を使用する方法を示しています。
import arcpy
from arcpy import env
env.workspace = "C:/Data"
arcpy.ImportMessage_management("MySDEdata.sde", "DataChanges.gdb", "acknowledgement.xml", "IN_FAVOR_OF_IMPORTED_CHANGES", "BY_OBJECT")
ImportMesage (メッセージのインポート) の例 2 (スタンドアロン Python スクリプト)
次のスタンドアロン Python スクリプトは、データ変更内容ファイルをインポートする ImportMesage (メッセージのインポート) 関数を使用する方法を示しています。
# Name: ImportMessage_Example2.py
# Description: Imports a data change message (from a delta gdb) into a replica workspace.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data"
# Set local variables
replica_workspace = "MySDEdata.sde"
in_message = "DataChanges.gdb" # data changes file (delta gdb)
output_acknowledgement = "acknowledgement.xml" # optional
conflict_policy = "IN_FAVOR_OF_IMPORTED_CHANGES"
conflict_detection = "BY_OBJECT"
reconcile = "" # Only applicable for checkout replicas
# Execute Import Message
arcpy.ImportMessage_management(replica_workspace, in_message, output_acknowledgement, conflict_policy, conflict_detection, reconcile)
ImportMesage (メッセージのインポート) の例 3 (スタンドアロン Python スクリプト)
次のスタンドアロン Python スクリプトは、データ変更内容ファイルをインポートする ImportMesage (メッセージのインポート) 関数を使用する方法を示しています。
# Name: ImportMessage_Example3.py
# Description: Imports an acknowledgement message into a replica workspace.
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data"
# Set local variables
replica_workspace = "MySDEdata.sde"
in_message = "acknowledgement.xml" # Acknowledgement file
output_acknowledgement = "" # not applicable when importing an acknowledgement file
conflict_policy = "" # not applicable when importing an acknowledgement file
conflict_detection = "" # not applicable when importing an acknowledgement file
reconcile = "" # not applicable when importing an acknowledgement file
# Execute Import Message
arcpy.ImportMessage_management(replica_workspace, dc_Message, output_acknowledgement, conflict_policy, conflict_detection, reconcile)
環境
ライセンス情報
- ArcGIS for Desktop Basic: ×
- ArcGIS for Desktop Standard: ○
- ArcGIS for Desktop Advanced: ○