ListReplicas

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

Перечисляет реплики в рабочей области.

Обсуждение

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

Синтаксис

ListReplicas (workspace, {all_replicas})
ПараметрОписаниеТип данных
workspace

Рабочая область базы геоданных.

String
all_replicas

Определяет, необходимо ли возвращать реплики базы геоданных всех типов.

  • True - возвращает все типы реплик. Это могут быть объекты Replica или SyncReplica.
  • False - возвращает только объекты Replica. Это реплики, созданные из баз геоданных в рабочих процессах репликации, а также из сервисов объектов, основанных на версионных данных традиционных версий. Это значение по умолчанию.

(Значение по умолчанию — 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,
                                   "changes_{0}.gdb".format(replica.name))
        arcpy.ExportDataChangeMessage_management(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 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))

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