ListReplicas

Zusammenfassung

Die Funktion ListReplicas listet die Replikate im Workspace auf.

Diskussion

Sie können den Pfad zu einer Verbindungsdatei als Argument für die Funktion angeben oder die Workspace-Umgebung auf die Verbindungsdatei festlegen und die ListReplicas-Funktion ohne Argumente aufrufen.

Syntax

ListReplicas (workspace, {all_replicas})
ParameterErläuterungDatentyp
workspace

The geodatabase workspace.

String
all_replicas

Specifies whether all replica types in the geodatabase will be returned.

  • True—All replica types will be returned. This may include Replica or SyncReplica objects.
  • False—Only Replica objects will be returned. These include replicas created from geodatabase replication workflows as well as replicas created from feature services running on traditional versioned data. This is the default.

(Der Standardwert ist False)

Boolean
Rückgabewert
DatentypErläuterung
Replica

Eine von der Funktion zurückgegebene Liste mit Replica-Objekten.

Wenn das Argument all_replicas auf True festgelegt wird, werden möglicherweise auch SyncReplica-Objekte zurückgegeben.

Codebeispiel

ListReplicas:‎ Beispiel 1

‎Für jedes Replikat in einem Workspace, bei dem es sich um einen Sender handelt, wird die Funktion ExportDataChangeMessage aufgerufen.

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,
                                   f"changes_{replica.name}.gdb")
        arcpy.management.ExportDataChangeMessage(sdeConnection,
                                                 changes,
                                                 replica.name)
ListReplicas: Beispiel 2

Es werden alle in Konflikt stehenden Replikate ausgegeben.

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)
ListReplicas: Beispiel 3

Die Eigenschaften eines SyncReplica-Objekts werden ausgegeben.

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(f"Properties of replica named: {r.name}")
        print(f"Datasets: {r.datasets}")
        print(f"Owner: {r.owner}")
        print(f"Replica ID: {r.replicaID}")
        print(f"Service name: {r.serviceName}")
        print(f"Version: {r.version}")
        print(f"Direction: {r.direction}")
        print(f"Sync model: {r.syncModel}")
        print(f"Last sync date: {r.lastSyncDate}")
        print(f"LayerServerGens: {r.layerServerGens}")
        print(f"LayerServerSibGens: {r.layerServerSibGens}")
        print(f"ReplicaServerGen: {r.replicaServerGen}")
        print(f"ReplicaServerSibGen: {r.replicaServerSibGen")
        print(f"Target type: {r.targetType}")
ListReplicas: Beispiel 4

Die Eigenschaften creationDate, replicaDate und geometry jedes Replica- oder SyncReplica-Objekts werden ausgegeben. Ein Replica- oder SyncReplica-Objekt kann einen Eigenschaftswert für creationDate und/oder replicaDate enthalten. Die Eigenschaften creationDate und replicaDate geben an, wann das Replikat erstellt wurde. Dabei ist die Eigenschaft creationDate eine UTC-Angabe, während die Eigenschaft replicaDate in der Zeitzone des Servercomputers vorliegt. Die Eigenschaft geometry ist die als räumlicher Filter anzuwendende Geometrie für das Replikat.

import arcpy

# Use the ListReplicas function to return all Replicas and SyncReplicas in the geodatabase
replicas = arcpy.da.ListReplicas("C:\\gdb\\mygeodatabase.sde", True)

for r in replicas:
    # Print Replica or SyncReplica object properties
    if hasattr(r, 'creationDate'):
        print(str(r.creationDate))  
    if hasattr(r, 'replicaDate'):
        print(str(r.replicaDate))
    if hasattr(r, 'geometry') and (r.geometry is not None):
        print(str(r.geometry.JSON))

Verwandte Themen


In diesem Thema