ListReplicas

Краткая информация

Функция ListReplicas перечисляет реплики в рабочей области.

Обсуждение

Вы можете указать путь к файлу подключения как аргумент функции или задать в переменной среды рабочей области файл подключения и вызвать функцию ListReplicas без аргументов.

Синтаксис

ListReplicas (workspace, {all_replicas})
ПараметрОписаниеТип данных
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.

(Значение по умолчанию — False)

Boolean
Возвращаемое значение
Тип данныхОписание
Replica

Список, возвращаемый функцией с объектами Replica.

Если для аргумента all_replicas задано True, объекты SyncReplica тоже будут возвращаться.

Пример кода

ListReplicas, пример 1

Для каждой реплики в рабочей области, являющейся отправителем, вызывается функция 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)
ListReplicas, пример 2

Печать всех конфликтующих реплик.

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, пример 3

Печать свойств объекта 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}")
ListReplicas, пример 4

Печать свойств creationDate, replicaDate и geometry каждого объекта Replica или SyncReplica. Объект Replica или SyncReplica может иметь значение свойства creationDate, значение свойства replicaDate или и то, и другое. Свойства creationDate и replicaDate описывают время создания реплики, однако свойство creationDate указано в формате UTC, а свойство replicaDate указано в часовом поясе компьютера. Свойство geometry представляет собой геометрию пространственного фильтра реплики.

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

Связанные разделы