ListVersions

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

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

Обсуждение

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

Примечание:

Функцию arcpy.da.ListVersions не следует путать с функцией arcpy.ListVersions, используемой для получения списка имен версий, для работы с которыми у подключенного пользователя есть права.

Синтаксис

ListVersions (sde_workspace)
ПараметрОписаниеТип данных
sde_workspace

An enterprise geodatabase workspace or a feature service with version management capability enabled.

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

Список объектов Version.

Пример кода

ListVersions. Пример 1

Определение всех версий, измененных за прошедшую неделю.

import arcpy
import datetime

# Use datetime to establish current date/time
now = datetime.datetime.now()

sdeConnection = "C:/MyProject/toolboxDEFAULTVersion.sde"

# Compare lastModified property of each version to current date, and 
#  print version name if the version was modified in the last 7 days.
for version in arcpy.da.ListVersions(sdeConnection):
    if (now - version.lastModified).days < 7:
        print(version.name)
ListVersions. Пример 2

Удаление всех версий, которые принадлежат определенному пользователю и у которых нет потомков.

import arcpy

sdeConnection = "C:/MyProject/toolboxDEFAULTVersion.sde"

for version in arcpy.da.ListVersions(sdeConnection):
    # Delete any versions owned by "RJones" that don't have any children
    if version.name.split(".")[0] == "RJones" and not version.children:
        print("Deleting version {0}".format(version.name))
        arcpy.management.DeleteVersion(sdeConnection, version.name)
ListVersions. Пример 3

Согласование и закрепление версий не работает в выбранном описании. Этот пример использует сервис объектов, для которого включена возможность управления версиями.

# Import system modules 
import arcpy

# Sign into ArcGIS Enterprise
arcpy.SignInToPortal("https://myserver.mydomain.com/portal", 'portaladmin', 
                     'my.password')

# Create a variable for the feature service URL
myFS = "https://myserver.mydomain.com/server/rest/services/BranchVersioningData/FeatureServer"

# Use the ListVersions function to get a list of versions
versions = arcpy.da.ListVersions(myFS)

# Create a list of version to reconcile
listToRec = []

# For each version in the list, append only those that have the "READY TO POST" 
# description
for version in versions:
    if "READY FOR POST" in version.description.upper():
        listToRec.append(version.name)
        
# Reconcile and post the versions 
arcpy.management.ReconcileVersions(myFS,
                                   'ALL_VERSIONS',
                                   'sde.DEFAULT',
                                   listToRec,
                                   'NO_LOCK_ACQUIRED',
                                   'ABORT_CONFLICTS',
                                   'BY_OBJECT',
                                   'FAVOR_EDIT_VERSION',
                                   'POST',
                                   'KEEP_VERSION')

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