バージョンのリコンサイル (Reconcile Versions) (データ管理)

サマリー

ターゲット バージョンに対して 1 つまたは複数のバージョンをリコンサイルします。

バージョンをリコンサイルおよびポストする方法の詳細

使用法

  • リコンサイル プロセスを実行するには、バージョンを編集中のユーザーが自分だけであることと、バージョンの保存またはポストまでのリコンサイル プロセス全体を通じてバージョンを編集するユーザーが自分だけであることが前提要件となります。

  • リコンサイル プロセスを実行するには、編集中のバージョンで変更されたすべてのフィーチャクラスに対するフル アクセス権が必要です。

  • バージョニング ツールはエンタープライズ ジオデータベースで機能します。 ファイル ジオデータベースは、バージョニングをサポートしていません。

  • このツールは、バージョン管理機能が有効化されたブランチ ワークスペースから公開されたデータのリコンサイルとポストの操作をサポートしています。 ジオデータベース コネクション ファイルを使用したブランチ バージョン対応のリコンサイル操作とポスト操作はサポートされていません。

  • ジオデータベースは、バージョニングを使用することで、効率的にロング トランザクションを管理およびサポートできるように設計されています。

  • リコンサイル プロセスを実行すると、編集バージョンとターゲット バージョン間の差分が検出され、その差分に競合フラグを設定します。 競合が存在する場合は解決します。

  • [すべてのバージョンをリコンサイル] オプションを使用して正常にリコンサイル プロセスを実行すると、ジオデータベースのすべてのバージョンの状態が同じになります。

  • 注意:

    ArcGIS Enterprise 10.9.1 以降、バージョン管理機能が有効になっているフィーチャ サービスを通じてブランチ バージョン対応データセットを操作する際に VersionManagementTools ジオプロセシング サービスを使用する非同期処理をリコンサイル処理とポスト処理で活用します。 非同期のバージョン管理機能をサポートするために、システム フォルダーで VersionManagementTools サービスがあらかじめ構成されています。 このサービスはタイムアウト設定が長く、バージョン管理ジオプロセシング タスク用に予約されています。

パラメーター

ラベル説明データ タイプ
入力ワークスペース

リコンサイルするバージョンを含むエンタープライズ ジオデータベース。

ブランチ バージョン対応の場合、これはフィーチャ サービスの URL (すなわち、https://mysite.mydomain/server/rest/services/ElectricNetwork/FeatureServer) またはフィーチャ レイヤーのポータル アイテムです。

Workspace
リコンサイル モード

ツールの実行時にリコンサイルするバージョンを指定します。

入力がブランチ ワークスペースである場合、このパラメーターの有効なオプションは、すべてのバージョンのリコンサイルのみとなります。

  • すべてのバージョンをリコンサイル編集バージョンはターゲット バージョンに対してリコンサイルされます。 これがデフォルトです。
  • ブロックしているバージョンのみリコンサイルターゲット バージョンの圧縮をブロックしているバージョンがリコンサイルされます。 このオプションでは、推奨されるリコンサイル順序が使用されます。
String
ターゲット バージョン
(オプション)

編集バージョンの直系に当たる任意の上位バージョン (親バージョンやデフォルト バージョンなど) の名前。

このバージョンは、通常、編集バージョンに含めたい他のバージョンからの編集内容を含んでいます。

入力がブランチ ワークスペースである場合、このパラメーターの有効なオプションは、デフォルト バージョンとのリコンサイルのみとなります。

String
編集バージョン
(オプション)

選択したターゲット バージョンに対してリコンサイルされる 1 つまたは複数の編集バージョンの名前。

選択したターゲット バージョンの直系に含まれるバージョンのみが表示されます。

String
ロックの取得
(オプション)

フィーチャのロックを取得するかどうかを指定します。

入力がブランチ ワークスペースである場合、リコンサイル プロセス中にロックは取得されません。

  • オン - リコンサイル プロセス中にロックを取得します。 編集データをポストするときに、このオプションを使用します。 こうすると、リコンサイルおよびポスト操作の間にターゲットのバージョンが変更されません。 これがデフォルトです。
  • オフ - リコンサイル プロセス中にロックを取得しません。 これにより、複数のユーザーが同時にリコンサイルを実行できます。 リコンサイルとポスト操作の間にターゲット バージョンが変更された可能性があるために、編集バージョンがターゲット バージョンにポストされないときに、このオプションを使用します。
Boolean
競合が検出された場合は中止
(オプション)

リコンサイル プロセス中にターゲット バージョンと編集バージョンの間の競合が検出された場合に、リコンサイル プロセスを中断するかどうかを指定します。

  • オン - 競合が検出された場合に、リコンサイルを中断します。
  • オフ - 競合が検出された場合に、リコンサイルを中断しません。 これがデフォルトです。
Boolean
競合の定義
(オプション)

競合が発生するために必要な条件が、オブジェクト (行) または属性 (列) のいずれによって定義されるかを指定します。

  • オブジェクト (行) 単位の競合競合はオブジェクトによって定義されます。 親バージョン内と子バージョン内の同じ行またはフィーチャに加えたすべての変更に対して、リコンサイル中に競合を発生させます。 これがデフォルトです。
  • 属性 (列) 単位の競合競合は属性によって定義されます。 親バージョン内と子バージョン内の同じ行またはフィーチャの同じ属性 (列) に加えた変更に対してのみ、リコンサイル中に競合フラグを設定します。 親バージョンと子バージョンで異なる属性に加えた変更は、リコンサイル中に競合とは見なされません。
String
競合解決
(オプション)

競合が検出された場合に使用される解決策を指定します。

入力がブランチ ワークスペースである場合、デフォルトでは、編集バージョンを優先します。

  • ターゲット バージョンを優先して競合を解決すべての競合は、ターゲット バージョンを優先して解決されます。 これは、トラディショナル バージョン対応のデフォルトです。
  • 編集バージョンを優先して競合を解決すべての競合は、編集バージョンを優先して解決されます。 これは、ブランチ バージョン対応の場合のデフォルトです。
String
リコンサイル後にバージョンをポスト
(オプション)

リコンサイル後のターゲット バージョンに、現在の編集セッションをポストするかどうかを指定します。

  • オン - リコンサイル後のターゲット バージョンに、現在の編集バージョンをポストします。
  • オフ - リコンサイル後のターゲット バージョンに、現在の編集バージョンをポストしません。 これがデフォルトです。
Boolean
ポスト後にバージョンを削除
(オプション)

リコンサイル後の編集バージョンを、ポストした後に削除するかどうかを指定します。 このパラメーターは、[リコンサイル後にバージョンをポスト] パラメーターをオンにした場合にのみ、適用されます。

  • オン - リコンサイルされた現在の編集バージョンを、ターゲット バージョンにポストした後に削除します。
  • オフ - リコンサイルされた現在の編集バージョンを削除しません。 これがデフォルトです。
Boolean
バージョンのリコンサイルのログ
(オプション)

出力されるログ ファイルの名前と場所。 ログ ファイルは、ジオプロセシング メッセージの内容を含む ASCII ファイルです。

File
未確認の競合が検出された場合の動作
(オプション)

リコンサイル プロセス開始前に既存の未確認の競合が検出された場合に、リコンサイルを続行するかどうかを指定します。 続行すると、ツールの実行時に、前のセッションの既存の競合は失われます。 このパラメーターは、ブランチ バージョン対応にのみ適用されます。

  • オン - 既存の未確認の競合が検出された場合、リコンサイル プロセスが続行されます。 これがデフォルトです。
  • オフ - 既存の未確認の競合が検出された場合、リコンサイル プロセスは続行されません。
Boolean
チェックアウト レプリカ バージョンのリコンサイル
(オプション)

リコンサイル プロセスにチェックアウト レプリカ バージョンを含めるかどうかを指定します。 ジオデータベース レプリケーション ワークフローの一環としてチェックアウト レプリカを作成している場合、関連付けられたバージョンがジオデータベースに作成されます。 このオプションを使用すると、リコンサイルするバージョンのリストにこれらのバージョン タイプを含めたり、リストから削除したりできます。 このパラメーターは、ブランチ バージョン対応には適用されません。

  • オン - リコンサイル プロセスに、チェックアウト レプリカ バージョンを含めます。 これがデフォルトです。
  • オフ - リコンサイル プロセスに、チェックアウト レプリカ バージョンを含めません。

Boolean

派生した出力

ラベル説明データ タイプ
更新された入力ワークスペース

更新された入力ワークスペース。

Workspace

arcpy.management.ReconcileVersions(input_database, reconcile_mode, {target_version}, {edit_versions}, {acquire_locks}, {abort_if_conflicts}, {conflict_definition}, {conflict_resolution}, {with_post}, {with_delete}, {out_log}, {proceed_if_conflicts_not_reviewed}, {reconcile_checkout_versions})
名前説明データ タイプ
input_database

リコンサイルするバージョンを含むエンタープライズ ジオデータベース。 デフォルトでは、ジオプロセシング ワークスペース環境が使用されます。

ブランチ バージョン対応の場合、これはフィーチャ サービスの URL (すなわち、https://mysite.mydomain/server/rest/services/ElectricNetwork/FeatureServer) です。

Workspace
reconcile_mode

ツールの実行時にリコンサイルするバージョンを指定します。

入力がブランチ ワークスペースである場合、このパラメーターの有効なオプションは、すべてのバージョンのリコンサイルのみとなります。

  • ALL_VERSIONS編集バージョンはターゲット バージョンに対してリコンサイルされます。 これがデフォルトです。
  • BLOCKING_VERSIONSターゲット バージョンの圧縮をブロックしているバージョンがリコンサイルされます。 このオプションでは、推奨されるリコンサイル順序が使用されます。
String
target_version
(オプション)

編集バージョンの直系に当たる任意の上位バージョン (親バージョンやデフォルト バージョンなど) の名前。

このバージョンは、通常、編集バージョンに含めたい他のバージョンからの編集内容を含んでいます。

入力がブランチ ワークスペースである場合、このパラメーターの有効なオプションは、デフォルト バージョンとのリコンサイルのみとなります。

String
edit_versions
[edit_versions,...]
(オプション)

選択したターゲット バージョンに対してリコンサイルされる 1 つまたは複数の編集バージョンの名前。 個別のバージョン名を指定するか、バージョン名のリストを指定します。

String
acquire_locks
(オプション)

フィーチャのロックを取得するかどうかを指定します。

  • LOCK_ACQUIREDリコンサイル プロセス中にロックを取得します。 編集データをポストするときに、このオプションを使用します。 こうすると、リコンサイルおよびポスト操作の間にターゲットのバージョンが変更されません。 これがデフォルトです。
  • NO_LOCK_ACQUIREDリコンサイル プロセス中にロックを取得しません。 これにより、複数のユーザーが同時にリコンサイルを実行できます。 リコンサイルとポスト操作の間にターゲット バージョンが変更された可能性があるために、編集バージョンがターゲット バージョンにポストされないときに、このオプションを使用します。
Boolean
abort_if_conflicts
(オプション)

リコンサイル プロセス中にターゲット バージョンと編集バージョンの間の競合が検出された場合に、リコンサイル プロセスを中断するかどうかを指定します。

  • NO_ABORT競合が検出された場合に、リコンサイルを中断しません。 これがデフォルトです。
  • ABORT_CONFLICTS競合が検出された場合に、リコンサイルを中断します。
Boolean
conflict_definition
(オプション)

競合が発生するために必要な条件が、オブジェクト (行) または属性 (列) のいずれによって定義されるかを指定します。

  • BY_OBJECT競合はオブジェクトによって定義されます。 親バージョン内と子バージョン内の同じ行またはフィーチャに加えたすべての変更に対して、リコンサイル中に競合を発生させます。 これがデフォルトです。
  • BY_ATTRIBUTE競合は属性によって定義されます。 親バージョン内と子バージョン内の同じ行またはフィーチャの同じ属性 (列) に加えた変更に対してのみ、リコンサイル中に競合フラグを設定します。 親バージョンと子バージョンで異なる属性に加えた変更は、リコンサイル中に競合とは見なされません。
String
conflict_resolution
(オプション)

競合が検出された場合に使用される解決策を指定します。

入力がブランチ ワークスペースである場合、デフォルトでは、編集バージョンを優先します。

  • FAVOR_TARGET_VERSIONすべての競合は、ターゲット バージョンを優先して解決されます。 これは、トラディショナル バージョン対応のデフォルトです。
  • FAVOR_EDIT_VERSIONすべての競合は、編集バージョンを優先して解決されます。 これは、ブランチ バージョン対応の場合のデフォルトです。
String
with_post
(オプション)

リコンサイル後のターゲット バージョンに、現在の編集セッションをポストするかどうかを指定します。

  • NO_POSTリコンサイル後のターゲット バージョンに、現在の編集バージョンをポストしません。 これがデフォルトです。
  • POSTリコンサイル後のターゲット バージョンに、現在の編集バージョンをポストします。
Boolean
with_delete
(オプション)

リコンサイル後の編集バージョンを、ポストした後に削除するかどうかを指定します。 このパラメーターは、with_post パラメーターを POST に設定した場合にのみ、適用されます。

  • DELETE_VERSIONリコンサイルされた現在の編集バージョンを、ターゲット バージョンにポストした後に削除します。
  • KEEP_VERSIONリコンサイルされた現在の編集バージョンを削除しません。 これがデフォルトです。
Boolean
out_log
(オプション)

出力されるログ ファイルの名前と場所。 ログ ファイルは、ジオプロセシング メッセージの内容を含む ASCII ファイルです。

File
proceed_if_conflicts_not_reviewed
(オプション)

リコンサイル プロセス開始前に既存の未確認の競合が検出された場合に、リコンサイルを続行するかどうかを指定します。 続行すると、ツールの実行時に、前のセッションの既存の競合は失われます。 このパラメーターは、ブランチ バージョン対応にのみ適用されます。

  • PROCEED既存の未確認の競合が検出された場合、リコンサイル プロセスが続行されます。 これがデフォルトです。
  • NOT_PROCEED既存の未確認の競合が検出された場合、リコンサイル プロセスは続行されません。
Boolean
reconcile_checkout_versions
(オプション)

リコンサイル プロセスにチェックアウト レプリカ バージョンを含めるかどうかを指定します。 ジオデータベース レプリケーション ワークフローの一環としてチェックアウト レプリカを作成している場合、関連付けられたバージョンがジオデータベースに作成されます。 このオプションを使用すると、リコンサイルするバージョンのリストにこれらのバージョン タイプを含めたり、リストから削除したりできます。 このパラメーターは、ブランチ バージョン対応には適用されません。

  • RECONCILEリコンサイル プロセスに、チェックアウト レプリカ バージョンを含めます。 これがデフォルトです。
  • DO_NOT_RECONCILEリコンサイル プロセスに、チェックアウト レプリカ バージョンを含めません。
Boolean

派生した出力

名前説明データ タイプ
out_workspace

更新された入力ワークスペース。

Workspace

コードのサンプル

ReconcileVersions (バージョンのリコンサイル) の例 (スタンドアロン スクリプト):

次のスタンドアロン スクリプトは、ReconcileVersions ツールを使用して、データベース接続ファイルで指定されたユーザーが所有するすべてのバージョンをリコンサイルする方法を示しています。

# Name: ReconcileVersions.py
# Description: Reconciles all versions owned by a user with SDE.Default

# Import system modules
import arcpy, os

# Set workspace
workspace = 'C:/Data/connections/bender@production.sde'

# Set the workspace environment
arcpy.env.workspace = workspace

# Use a list comprehension to get a list of version names where the owner
# is the current user and make sure sde.default is not selected.
verList = [ver.name for ver in arcpy.da.ListVersions() if ver.isOwner
           == True and ver.name.lower() != 'sde.default']

arcpy.ReconcileVersions_management(workspace,
                                   "ALL_VERSIONS",
                                   "SDE.Default",
                                   verList,
                                   "LOCK_ACQUIRED",
                                   "NO_ABORT",
                                   "BY_OBJECT",
                                   "FAVOR_TARGET_VERSION",
                                   "NO_POST",
                                   "KEEP_VERSION",
                                   "c:\RecLog.txt")
print('Reconciling Complete')

環境

特殊なケース

ライセンス情報

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

関連トピック