ListVersions

Diese ArcGIS 2.8-Dokumentation wurde archiviert und wird nicht mehr aktualisiert. Inhalt und Links sind möglicherweise veraltet. Verwenden Sie die aktuelle Dokumentation.

Zusammenfassung

Die Versionen im Workspace werden aufgelistet.

Diskussion

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

Hinweis:

Die Funktion arcpy.da.ListVersions ist nicht mit der Funktion arcpy.ListVersions zu verwechseln. Letztere dient zur Rückgabe einer Liste der Versionsnamen, zu deren Verwendung der verbundene Benutzer berechtigt ist.

Syntax

ListVersions (sde_workspace)
ParameterErläuterungDatentyp
sde_workspace

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

String
Rückgabewert
DatentypErläuterung
Version

Eine Liste von Version-Objekten.

Codebeispiel

ListVersions - Beispiel 1

Identifizieren aller innerhalb der letzten Woche geänderten Versionen

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 - Beispiel 2

Löschen aller Versionen ohne Child-Versionen im Besitz eines bestimmten Benutzers

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.DeleteVersion_management(sdeConnection, version.name)
ListVersions - Beispiel 3

Abgleichen und Zurückschreiben von Versionen mit einer spezifischen Beschreibung In diesem Beispiel wird ein Feature-Service mit aktivierter Versionsverwaltungsfunktion verwendet.

# 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.ReconcileVersions_management(myFS,
                                   'ALL_VERSIONS',
                                   'sde.DEFAULT',
                                   listToRec,
                                   'NO_LOCK_ACQUIRED',
                                   'ABORT_CONFLICTS',
                                   'BY_OBJECT',
                                   'FAVOR_EDIT_VERSION',
                                   'POST',
                                   'KEEP_VERSION')

Verwandte Themen