概要
ワークスペース内のレプリカをリストします。
ディスカッション
接続ファイルへのパスを関数の引数として指定できます。または、ワークスペース環境を接続ファイルに設定して、ListReplicas 関数を引数を指定せずに呼び出すことができます。
構文
ListReplicas (workspace, {all_replicas})
パラメーター | 説明 | データ タイプ |
workspace | A geodatabase workspace. | String |
all_replicas | Specifies whether to return all replica types in the geodatabase.
(デフォルト値は次のとおりです False) | Boolean |
データ タイプ | 説明 |
Replica | Replica オブジェクトを含む、関数から返されるリスト。 all_replicas 引数が True に設定されている場合は、SyncReplica オブジェクトも返される場合があります。 |
コードのサンプル
送信側であるワークスペース内のすべてのレプリカに対して、ExportDataChangeMessage 関数を呼び出します。
import arcpy
import os
sdeConnection = "C:/Data/toolboxDEFAULTVersion.sde"
outLocation = "C:/data"
for replica in arcpy.da.ListReplicas(sdeConnection):
# If the replica is a sender, call ExportDataChangeMessage
if replica.isSender:
changesFile = os.path.join(outputLocation,
"changes_{0}.gdb".format(replica.name))
arcpy.ExportDataChangeMessage_management(sdeConnection,
changes,
replica.name)
競合状態にあるすべてのレプリカを印刷します。
import arcpy
sdeConnection = "C:/Data/toolboxDEFAULTVersion.sde"
# Print the name of the replicas that are in conflict
#
for replica in arcpy.da.ListReplicas(sdeConnection):
if replica.hasConflicts:
print(replica.name)
SyncReplica オブジェクトのプロパティを印刷します。
# Import required modules
import arcpy
# Use the ListReplicas function to return all replicas in the geodatabase
replicas = arcpy.da.ListReplicas("C:\\Projects\\MyProject\\myGDB.sde", True)
for r in replicas:
# Check if the class is a SyncReplica
if isinstance(r, arcpy.da.SyncReplica):
# Print the properties of a SyncReplica object
print("Properties of replica named: {}".format(r.name))
print("Datasets: {}".format(r.datasets))
print("Owner: {}".format(r.owner))
print("Replica ID: {}".format(r.replicaID))
print("Service name: {}".format(r.serviceName))
print("Version: {}".format(r.version))
print("Direction: {}".format(r.direction))
print("Sync model: {}".format(r.syncModel))
print("Last sync date: {}".format(r.lastSyncDate))
print("LayerServerGens: {}".format(r.layerServerGens))
print("LayerServerSibGens: {}".format(r.layerServerSibGens))
print("ReplicaServerGen: {}".format(r.replicaServerGen))
print("ReplicaServerSibGen: {}".format(r.replicaServerSibGen))
print("Target type: {}".format(r.targetType))