ListReplicas

Resumen

La función ListReplicas enumera las réplicas del espacio de trabajo.

Debate

Puede especificar la ruta a un archivo de conexión como un argumento a la función, o bien puede definir el entorno de espacio de trabajo al archivo de conexión y llamar a la función ListReplicas sin ningún argumento.

Sintaxis

ListReplicas (workspace, {all_replicas})
ParámetroExplicaciónTipo de datos
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.

(El valor predeterminado es False)

Boolean
Valor de retorno
Tipo de datosExplicación
Replica

Una lista devuelta de la función que contiene objetos de Replica.

Si el argumento all_replicas se ha establecido en True, también pueden devolverse objetos SyncReplica.

Muestra de código

Ejemplo 1 de ListReplicas

Para cada réplica remitente del espacio de trabajo, invoque la función 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,
                                   f"changes_{replica.name}.gdb")
        arcpy.management.ExportDataChangeMessage(sdeConnection,
                                                 changes,
                                                 replica.name)
Ejemplo 2 de ListReplicas

Imprima todas las réplicas en conflicto.

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)
Ejemplo 3 de ListReplicas

Imprimir las propiedades de un objeto SyncReplica

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}")
Ejemplo 4 de ListReplicas

Imprima las propiedades creationDate, replicaDate y geometry de cada objeto Replica o SyncReplica. Un objeto Replica o SyncReplica puede tener un valor de propiedad creationDate, replicaDate o ambos. Las propiedades creationDate y replicaDate describen cuándo se creó la réplica; sin embargo, la propiedad creationDate está en UTC y la propiedad replicaDate está en la zona horaria del equipo del servidor. La propiedad geometry es la geometría del filtro espacial de la réplica.

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))

Temas relacionados


En este tema